I think it would be good in relatively short order to do a post- graduation release. Don't know where things are in the development cycle, so I'll defer to everybody else on the actual timing.

There are a few things that will need to be checked on the release. I'm rattling these off the top of my head, so I may mention something that is already taken care of or I may be missing something critical.

1. Build should be reproducible (other than timestamps and other trivia)

I'm not sure how you are handling strong naming in your releases. If you have a signing key, we may want to find a way to securely share the key. Perhaps have it gpg encrypted for multiple private keys (Nicko, Ron and I?) and placed in the SVN repo, so that any one of us could produce a bug fix version. If we need to add a new person to the build community, one of the current holders could decrypt and reencrypt.

To check the log4j builds, I expand the jar files before doing a recursive diff on distinct builds. I'm guessing you'd use ildasm for the same purpose. So the release manager would prepare a release candidate and another developer would try to produce an equivalent build, expand the assemblies and then do a recursive diff to make sure everything is as much the same as possible. On log4j, the only thing that differs is the timestamps in the Javadoc.

Reproducible builds will likely mean a pretty detailed list of O/S and software versions used in the build should be published. Ideally kept on a separate VM just used for builds so that an inadvertent update doesn't tweak the process. If we could get the build done using Mono, then you could consider the VMWare Mono image at http:// www.mono-project.com/Downloads as the build environment.

2. Distribution files should be named apache-log4net-whatever.zip

3. NOTICE.txt and LICENSE.txt should be NOTICE and LICENSE

I understand the motivation to put the .txt on the files, but the ASL talks about NOTICE file.

4. NOTICE and LICENSE should be in assemblies

Since apache-log4cxx-whatever.dll is likely to be redistributed separately from the entire package, it should include the NOTICE and LICENSE file in the assembly. See last item on http://www.apache.org/ dev/release.html.

5. Use Apache log4net in place of log4net where possible

6. Remove the incubator notices






Reply via email to