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