Hello, brave new world
By Patrick Curran on May 10, 2007
Hello from JavaOne,
Sun's annual Java conference. This is a major event and consumes a great deal
of our time in preparation. Since we've been working frantically to prepare for the release of the Java SE platform as open source, this year was particularly hectic. We promised at last year's JavaOne that we would do this, and
now we're ready to go.
Rich Green, our EVP of Software, made the announcement during his keynote address that launched the conference. This is one of the biggest donations to open source in history - 6.5 million lines of code. We chose the Gnu General Public License (v2) since we wanted to make it easy for the various Linux distributions to bundle Java SE. If you want to download the software or join our community, visit our OpenJDK home page.
Because we care so much about compatibility (Java's strength), we have also promised to make the conformance test suites (the TCKs) available to members of the OpenJDK developer community on licensing terms that are compatible with the open source development model. Compatible implementations (those that pass all the tests and meet all of the other requirements) will be eligible for the Java Compatible brand. Despite what some people believe and others hope for, we are not open-sourcing the test suites themselves. Why not?
We open-sourced the platform because we believe that this will unleash the creativity of the open-source community, leading to an increased diversity of implementations. Diversity and innovation are good. Usually. In standards and in conformance testing, however, diversity would be harmful. For this reason we do not intend to open-source the specifications. (It's important that there be a single, definitive specification that implementers can follow and that developers can program to.)
Until relatively recently the meter was defined as the distance between two lines on a standard bar of platinum/iridium (it's now defined as the distance light travels in 1/299,792,458 of a second). Multiple competing meter bars would, of course, defeat the purpose of defining a standard. Similarly, we believe that there needs to be a single, definitive TCK as the standard against which the diversity of implementations are measured. "The standard" – not "a standard."
So, we will continue to be the stewards of the platform TCKs, and we believe that releasing them under an open-source licensing model would not be in the best interests of the Java community. However, this doesn't mean that nothing will change. Over time we'll probably move to a more collaborative development model, but our initial focus will be on figuring out how to help our many new users get up to speed with the TCKs. (Our commercial licensees have support contracts that entitle them to significant "hand holding" by Sun support staff.) It's a new world, and we're looking forward to seeing what it will bring.