Mustang Snapshots: Another experiment in openness
Way back when I was an undergrad I had a professor who was a stickler for
experimental method. She was also, however, always anxious to see what you had
learned. As soon as she understood your experimental setup -- which was
usually before the end of your explanation of it -- she'd insistently ask,
"What were your results?" Between her enthusiasm for the question and her
eastern-European native tongue the last word would always come out as
"RHEE-zults". That question, and her unique pronunciation, have stuck in my
head ever since...
Last June we did a first "experiment in openness" with the
Snapshots. We posted each weekly Tiger build, in binary form, from the
Beta 2 release right up to the Release Candidate. The results were positive:
About ten thousand brave souls downloaded the builds and filed several dozen
bugs, and the most critical handful of those bugs was fixed in time for the RC
Inspired by the success of the Tiger snapshots, today we posted the first
of the Mustang Snapshots. We've made
some significant changes this time around:
We've started earlier. You can get
build twelve today. Yes, that's twelve as in 12. There aren't a whole lot
of changes in this build, mainly just bug fixes and a few small enhancements
here and there, but you'll see more change going forward as new features are
As usual, snapshot builds are not for the timid.
They receive only limited testing -- just a few hours' worth to make sure
that they're warm and breathing. If you want stability then you'd best wait
for the Mustang beta release, but if you enjoy living on the bleeding edge
then these builds are for you.
We're shipping source bundles. For
the first time ever we're shipping source bundles for a J2SE release while
it's under active development (gulp). This should make it easier for
interested developers to contribute to the release as it evolves. In past
releases the only ways to do that were to be lucky and know someone at Sun,
or be lucky and have your suggestion survive the labyrinthine gauntlet of the
Posting source bundles will also make it easier
for us to be embarrassed by our mistakes, but we're quite happy to be
arbitrarily embarrassed in exchange for higher quality.
We're using java.net. One of the
big goals here is to engage better with the developer community, and href="http://java.net">java.net provides excellent infrastructure for
that. The bundles are being hosted in the overall href="http://j2se.dev.java.net">j2se project, which will shortly acquire
the other usual project accoutrements such as mailing lists and forums.
We're also working on a streamlined process for patch submission so that you
can send code directly to real live JDK engineers rather than paste it into a
bug report, cross your fingers, and hope for the best.
We're using a new license. The
source bundles are covered by the Java
Research License. The JRL is, to my non-lawyerly brain, a big
improvement over the old SCSL license -- for one thing, I can understand it!
The JRL also gives developers and researchers more flexibility than SCSL did,
though it's still not an actual href="http://opensource.org/docs/definition.php">open source license in
OSI terms (sorry).
Taken together these changes obviously entail a much bigger, and longer,
experiment than the Tiger Snapshots. We certainly don't want to wait until the
end to learn from the experience and make adjustments. If you have ideas on
how we could do any of this better, please let us know!