The problem with CTR (Commit Then Review) instead of RTC (Review Then
Commit) is that CTR too often turns into Commit Never Review. The
problem with RTC is that it slows code velocity.

For major projects at the base of a lot of the Java ecosystem like
many Apache Commons libraries, I'm willing to accept a slowdown in
order to ensure that all changes are reviewed by someone.

On Sun, Feb 18, 2024 at 9:51 AM Gary Gregory <garydgreg...@gmail.com> wrote:
>
> On Sun, Feb 18, 2024 at 1:22 PM Elliotte Rusty Harold
> <elh...@ibiblio.org> wrote:
> >
> > Meta issue: the use of direct git commits without PRs or code review
> > makes releases harder to review.
>
> Hello Elliotte,
>
> Meta issue:
> - This project uses CTR, not RTC. We welcome PRs but do not _require_
> them of project committers.
> - Just so you know, for this release, there are other moving parts,
> please feel free to contact me privately.
>
> >
> > Specific issues:
> >
> > https://github.com/apache/commons-compress/commit/9f2f97925fdb52b5a3a32da6337ea1f113a3be82
> > is wonky and rates a -1 from me. An encoding error is not necessarily
> > an I/O error, and It's arguably not a backwards compatible change to
> > make Pack200Exception iextend IOException instead of Exception.
>
> I went back and forth and settled on subclassing because:
> - When decoding (or encoding), I want to say that something went wrong
> _as part of decoding input bits_ (or encoding), and that's working
> with Input (or Output), and in my mind that is a kind of IO, Pack200
> IO.
> - There are a lot of precedents, some in the JDK, some in other
> projects, for IOException subclasses used when parsing input.
> - It makes other changes simpler.
> - It is binary-compatible per the JLS
> (https://docs.oracle.com/javase/specs/jls/se21/html/jls-13.html#jls-13.4)
> - JApiCmp verifies this is binary-compatible.
>
> >
> > There seem to have been a lot of needless deprecations of constructors
> > and replacement with builder patterns.
>
> The use of the builder pattern avoids constructor inflation. For
> example, we had fourteen (14) constructors for ZipFile, that's
> confusing and cluttered, a builder is simpler IMO.
>
> E.g. in
> > https://github.com/apache/commons-compress/commit/b7ba0ced5c950e59214329ae7b102783a5807d2c
> >  I'll need to look closer to see if these have the same bugs I've seen
> > when the same thing was done in commons-IO, but at the absolute least
> > it makes the API more complex and less clear.
> >
> > -10
>
> Wow, I'm not sure what to say. You win? Over the top much? How about a
> 10-character word: hyperbolic ;-)
>
> Gary
>
> >
> > On Sat, Feb 17, 2024 at 7:15 PM Gary Gregory <garydgreg...@gmail.com> wrote:
> > >
> > > [VOTE] Release Apache Commons Compress 1.26.0 based on RC1
> > >
> > > We have fixed a few bugs and added some enhancements since Apache
> > > Commons Compress 1.25.0 was released, so I would like to release
> > > Apache Commons Compress 1.26.0.
> > >
> > > Apache Commons Compress 1.26.0 RC1 is available for review here:
> > >     https://dist.apache.org/repos/dist/dev/commons/compress/1.26.0-RC1
> > > (svn revision 67401)
> > >
> > > The Git tag commons-compress-1.26.0-RC1 commit for this RC is
> > > acaf5642b1e16d872870a4dc4618e46ccd349493 which you can browse here:
> > >     
> > > https://gitbox.apache.org/repos/asf?p=commons-compress.git;a=commit;h=acaf5642b1e16d872870a4dc4618e46ccd349493
> > > You may checkout this tag using:
> > >     git clone https://gitbox.apache.org/repos/asf/commons-compress.git
> > > --branch commons-compress-1.26.0-RC1 commons-compress-1.26.0-RC1
> > >
> > > Maven artifacts are here:
> > >     
> > > https://repository.apache.org/content/repositories/orgapachecommons-1689/org/apache/commons/commons-compress/1.26.0/
> > >
> > > These are the artifacts and their hashes:
> > >
> > > #Release SHA-512s
> > > #Sat Feb 17 23:50:41 UTC 2024
> > > commons-compress-1.26.0-bom.xml=30154dabf68fe1d9dfcfb02a9e4d80a4aadd182817c310900178ebae8df06fce23a30b269f63c37fc3a69c59fd57e0d9a9cdc86cddb38ca4d53617f6f6c0da7e
> > > commons-compress-1.26.0-javadoc.jar=b08f5b9433e8f7a67b40920a35188cf47a7cc1dfb52e4e9ad196cd445cf2a0737fd8c7d292f6dfb5e4e37f88b44bd902e0180918201eefa8acce27788a295864
> > > commons-compress-1.26.0-src.tar.gz=9348e2792d67fe977cbfcede80ab95de96e582c3f7239e16e99360decac4e7703f57d4cfec9535cd4a0f884319df851eb5e44214ba8c3dd321cc6ea67f9d1abb
> > > commons-compress-1.26.0-bin.zip=ced62b0302521ccabee920dba677a3a4b5cec671e89e36b35e7f3045a9d252a0cf1fbc336cec5bf956dfcbf41db6393e849c6cb4caa09d8984c9e1d3a53a0981
> > > commons-compress-1.26.0-src.zip=5e2ac6fa35328074625896cb1c8d8a92a248a73f1c0a3f753403042b22c2e9dd9a923d164f5708529d81c2d469414124b163c23ad3a430547a5053cce37292fa
> > > commons-compress-1.26.0-test-sources.jar=2bebd5e5a8747709d89ac2ff8db07611bed2bdb7304703a9563d4e422c4bfd15ecf636c8324c8d8e17e9e5dedcb91e146b3501fd35eb07450de654f7b5880c2e
> > > commons-compress-1.26.0-sources.jar=579484734f9ade3ddafe263e9b9926159bf3620af8d7cc02ff07588859a27ad38816e26135be038b5ee11c77df2a680d16801d5b8de439fe23924c32122772d4
> > > commons-compress-1.26.0-bom.json=133c986aaeccc1a6eec23a8b225bd0766f11ea7a7321a3df7eedc6d2a7c37c5f0ecd20d32c7b2e1b57dc0960830c20eb92392d32f2e8cd585ea682a88ad281b4
> > > Apache\ Commons\
> > > Compress-1.26.0.spdx.rdf.xml=b8fced57be4030feaea4e2f7a4602c6c3ecd24272d4590fb932e12f8a08889ff31a247fb346ea9fba7c331fcda11966407a9bdd8eaa4f3d07ea2ebee34f08db2
> > > commons-compress-1.26.0-bin.tar.gz=4854f83b210ad79b3d410c7b232fa82da7ad22a94b5d5e8ecd06abc004b2c96be178a2f43a620fe5e80e76f51ca605063ebf64f47ecf5ca6306ddef704a91c19
> > > commons-compress-1.26.0-tests.jar=dcafafc5e1345640ec9bd9f7f72cb14643ddd30996814a0d25e58bead667120543cee51452e9d4f21488cf1dcab4cffec3089eea38c78f69c6daa1575279bc3e
> > >
> > > I have tested this with:
> > >
> > > mvn -V -Prelease -Ptest-deploy -P jacoco -P japicmp clean package site 
> > > deploy
> > >
> > > Using:
> > >
> > > openjdk version "17.0.9" 2023-10-17
> > > OpenJDK Runtime Environment Homebrew (build 17.0.9+0)
> > > OpenJDK 64-Bit Server VM Homebrew (build 17.0.9+0, mixed mode, sharing)
> > >
> > > Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
> > > Maven home: /usr/local/Cellar/maven/3.9.6/libexec
> > > Java version: 17.0.9, vendor: Homebrew, runtime:
> > > /usr/local/Cellar/openjdk@17/17.0.9/libexec/openjdk.jdk/Contents/Home
> > > Default locale: en_US, platform encoding: UTF-8
> > > OS name: "mac os x", version: "14.3.1", arch: "x86_64", family: "mac"
> > >
> > > Darwin **** 23.3.0 Darwin Kernel Version 23.3.0: Wed Dec 20 21:28:58
> > > PST 2023; root:xnu-10002.81.5~7/RELEASE_X86_64 x86_64
> > >
> > > Details of changes since 1.25.0 are in the release notes:
> > >     
> > > https://dist.apache.org/repos/dist/dev/commons/compress/1.26.0-RC1/RELEASE-NOTES.txt
> > >     
> > > https://dist.apache.org/repos/dist/dev/commons/compress/1.26.0-RC1/site/changes-report.html
> > >
> > > Site:
> > >     
> > > https://dist.apache.org/repos/dist/dev/commons/compress/1.26.0-RC1/site/index.html
> > >     (note some *relative* links are broken and the 1.26.0 directories
> > > are not yet created - these will be OK once the site is deployed.)
> > >
> > > JApiCmp Report (compared to 1.25.0):
> > >     
> > > https://dist.apache.org/repos/dist/dev/commons/compress/1.26.0-RC1/site/japicmp.html
> > >
> > > RAT Report:
> > >     
> > > https://dist.apache.org/repos/dist/dev/commons/compress/1.26.0-RC1/site/rat-report.html
> > >
> > > KEYS:
> > >   https://downloads.apache.org/commons/KEYS
> > >
> > > Please review the release candidate and vote.
> > > This vote will close no sooner than 72 hours from now.
> > >
> > >   [ ] +1 Release these artifacts
> > >   [ ] +0 OK, but...
> > >   [ ] -0 OK, but really should fix...
> > >   [ ] -1 I oppose this release because...
> > >
> > > Thank you,
> > >
> > > Gary Gregory,
> > > Release Manager (using key 86fdc7e2a11262cb)
> > >
> > > For following is intended as a helper and refresher for reviewers.
> > >
> > > Validating a release candidate
> > > ==============================
> > >
> > > These guidelines are NOT complete.
> > >
> > > Requirements: Git, Java, Maven.
> > >
> > > You can validate a release from a release candidate (RC) tag as follows.
> > >
> > > 1a) Clone and checkout the RC tag
> > >
> > > git clone https://gitbox.apache.org/repos/asf/commons-compress.git
> > > --branch commons-compress-1.26.0-RC1 commons-compress-1.26.0-RC1
> > > cd commons-compress-1.26.0-RC1
> > >
> > > 1b) Download and unpack the source archive from:
> > >
> > > https://dist.apache.org/repos/dist/dev/commons/compress/1.26.0-RC1/source
> > >
> > > 2) Check Apache licenses
> > >
> > > This step is not required if the site includes a RAT report page which
> > > you then must check.
> > >
> > > mvn apache-rat:check
> > >
> > > 3) Check binary compatibility
> > >
> > > Older components still use Apache Clirr:
> > >
> > > This step is not required if the site includes a Clirr report page
> > > which you then must check.
> > >
> > > mvn clirr:check
> > >
> > > Newer components use JApiCmp with the japicmp Maven Profile:
> > >
> > > This step is not required if the site includes a JApiCmp report page
> > > which you then must check.
> > >
> > > mvn install -DskipTests -P japicmp japicmp:cmp
> > >
> > > 4) Build the package
> > >
> > > mvn -V clean package
> > >
> > > You can record the Maven and Java version produced by -V in your VOTE 
> > > reply.
> > > To gather OS information from a command line:
> > > Windows: ver
> > > Linux: uname -a
> > >
> > > 5) Build the site for a single module project
> > >
> > > Note: Some plugins require the components to be installed instead of 
> > > packaged.
> > >
> > > mvn site
> > > Check the site reports in:
> > > - Windows: target\site\index.html
> > > - Linux: target/site/index.html
> > >
> > > -the end-
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > > For additional commands, e-mail: dev-h...@commons.apache.org
> > >
> >
> >
> > --
> > Elliotte Rusty Harold
> > elh...@ibiblio.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> > For additional commands, e-mail: dev-h...@commons.apache.org
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>


-- 
Elliotte Rusty Harold
elh...@ibiblio.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to