It's no surprise that Sun Microsystems is making its core Java platform freely available; what is somewhat unexpected is the vendor's choice of open-source licence.
In all the open-sourcing of its software to date, Sun has used its own open-source licence, CDDL (Common Development and Distribution License).
What Sun is due to announce today is the open-sourcing of both Java SE (Standard Edition) and Java ME (Micro Edition) under GPLv2, the GNU general public licence version 2.0.
Popular in the Foss – or free open-source software – community, GPL was created in 1989, then revised as GPLv2 in 1991. It is used by the Linux OS (operating system), MySQL AB's database and the Samba file-and-print server project.
Sun first committed to make Java freely available back in May. Since that time company executives have been consulting with partners and developers to determine which licence would best meet their needs.
"GPL is the right choice," said Laurie Tolson, Sun's vice-president of Java developer products and programs. The move shouldn't be read as an admission that CDDL has failed, she added, although convincing developers to adopt a newer open-source licence has taken more time than Sun might have hoped.
Compatibility was a key driver for Sun in the decision to use GPL for Java, Tolson said. In particular, the vendor is hoping that GNU/Linux distributions such as Debian and Ubuntu will bundle Java into their OSes and so take the development environment into new markets.
At present, the plan is to offer the open-source versions of Java SE and Java ME under GPLv2. But Sun is open to adding another open-source licence should the vendor not see rapid uptake of Java under GPL, Tolson said. At the same time, Sun will continue to provide commercial versions of its Java technologies for those users seeking paid support.
Sun also committed to providing dual licensing for Project GlassFish, its open-source application server initiative based on Java EE (Enterprise Edition). Underway since June 2005, GlassFish was available under CDDL. Come the first quarter of next year, GlassFish will also be licensed under GPLv2 to make it easier for developers to distribute versions of Java SE, Java EE and Java ME together.
The rest of Sun's open-source software, including its OpenSolaris OS, will continue to be offered under CDDL. "We'll continue to evaluate what delivers our software in the most effective manner," said Jean Elliott, Sun's director of product marketing for Java SE. Sun will consider factors such as increasing compatibility, driving innovation, and building community, she added.
Today's release of Java ME, known as Project Mobile and Embedded, represents the technology found in the Java-based phones in today's market, according to Eric Chu, Sun's senior director of mobile and embedded product marketing.
Sun is hoping open-sourcing Java ME will help stop the fragmentation in the market, instead driving convergence around the freely available version of Java. "We also hope to deepen ties with developers," he said, not just in mobile games – where Java has already been very successful – but also in multimedia, information services and messaging. Open-source Java ME should also facilitate more feedback between Sun and mobile developers.
Sun has already been "proactively involved" in the discussions around the drafts of the next release of GPL, Tolson said. Sun isn't committing to moving from GPLv2 to GPLv3, but will look at how the draft licence continues to evolve. So far, some leading open-source developers are unhappy with the provisions in the GPLv3 draft. Linux creator Linux Torvalds objects to the limitations of the proposed DRM (digital rights management) provisions.
Monday's release of Java SE as the OpenJDK project is an initial launch, with the full open-source implementation of the specification to come in March, Elliott said. Starting with three core Java components – HotSpot, Compiler and JavaHelp – will enable Sun build up a community around OpenJDK and get its governance model in place and review any outstanding encumbrances to making the rest of Java SE freely available, she added.