Has Sun Waited Too Long To Open-Source Its Java Implementations?
"Microsoft's position has improved and now there's Zend"
By: Open Source News
Nov. 19, 2006 09:45 PM
The open-sourcing of Java began on Monday - at six million lines of code, it will be one of the biggest open source contributions ever, representing a shift in thinking by Sun. But has it waited too long to make the move? Microsoft's position has improved and now there's Zend.
Plus it will take until the first half of '07 for all of the Java code that's going be open sourced to be open sourced. Naturally, there's always the chance that it will be forked. Sun's counting on any incompatible forks not gaining any traction.
Actually Sun is not open-sourcing the Java programming language or the platform APIs or Java specifications. It's open sourcing its implementation of the Java Standard Edition (Java SE) and a buildable implementation of Java Micro Edition (Java ME), stuff that comes from an early build of JDK 7, under the General Public License (GPL), the open source touchstone that Sun never much liked before.
It's using GPL 2.0, the open source license favored by Linux creator Linus Torvalds, and not the GPL 3.0 currently in rewrite that Torvalds abhors.
Sun said it's using the GPL - which it knows won't make everybody happy - because it figures the GPL would result in the "greatest incremental growth to the Java market." Sun wants to get Java included in the LAMP stack and bundled with Linux distributions.
Specifically, it's talking about Java HotSpot, the javac Java compiler and JavaHelp. It said a buildable JDK would be available in Q1.
HotSpot is Sun's implementation of the JVM, a core component of the Java Runtime Environment that translates Java code to the different operating systems and chip architectures, and javac generates the proper bytecode for execution. JavaHelp is the online documentation that goes along with the JDK.
Sun says it's releasing the class libraries and the parts of the virtual machine that expose public APIs under the GPLv2 Classpath exception developed by the Free Software Foundation that will let any application, GPL or otherwise, link to the library without that application having to be open-sourced.
Like the Lesser GPL (LGPL), it basically breaks the endless open source cycle.
Sun says the technology it's releasing will let developers port the JVM to new hardware architectures and operating systems, fix bugs, and contribute new SE features through a new so-called OpenJDK Project. Sun said it would evolve the existing JDK Community into OpenJDK, though its governance model hasn't been fully worked out yet.
However the model evolves, Sun will decide what OpenJDK contributions to take. It expects to have non-Sun committers. Sun will also police the use of the Java brand and logo.
The Java ME code is accessible through Java.net along with a testing and compatibility framework. Sun says it will release the framework for the Java Device Test Suite later this year. Initially, it's just the runtime for mass-market handsets. Sun promises to release the runtime for devices like smartphones and set-top boxes at some point.
Sun says it's open-sourcing ME to "accelerate the development and evolution of the platform, reduce fragmentation, and drive down development costs."
Sun adds that it's going to open source the Java Platform Enterprise Edition (Java EE) under the GPL. Java EE has been available for the last year under the company's own CCDL license via Project Glassfish, which will be released under a dual-license model in the first quarter, both the GPLv2 with the Classpath exception and the existing GPL-grudging CDDL.
Sun claims 3.8 billion Java-enabled devices, a number that stems heavily from phones and smart cards. Phones account for something like 1.5 billion deployments.
There's encumbered code in Java - particularly in the 2D graphics - like the color management library, font rasterizer and graphics rasterizer - that Sun intends to continue to use in commercial releases until it's replaced with fully functional open source alternatives. It appears that the encumbrances are holding up the release of the whole JDK.
There won't be any binaries before next spring and then Sun's pretty sure they'll be encumbered. It's working out a special GPL v2 exception with the Free Software Foundation, keepers of the GPL flame, and the Software Freedom Law Center (SFLC) that will allow downstream redistribution of encumbered binaries and a JDK built from the GPL'd sources and the encumbered binaries.
Sun will continue to offer binary bundles for the JDK and JRE under its Binary Code License (BCL). It says it will offer Distribution License for Java (DLJ) bundles for Linux and OpenSolaris.
The ME code is also encumbered and Sun says what's open-sourced won't include support for specific phone hardware, graphics engine, sound engine and some other stuff. It says it's trying to negotiate with the IP owners. Sun says it can use other licenses for the open source code base because it owns the copyright on the code base and it's inherent in copyright law.
When it can, Sun intends to open-source both JDK 6 and JDK 7, the first a stable release and the other a platform to innovate on.
Sun will only open some of its test suites, but "not all and not all at once." It says it will make as much of its regression and unit-test suite available as "practical," and some of the functional tests "eventually." It says some tests have dependencies on internal test frameworks, test harnesses or environments that aren't available outside of Sun.
It will create a portal to work on testing with the community and have Technology Compatibility Kits (TCKs) for compliance. Sun, however, hasn't figured out how to make the TCKs accessible.
Sun's source control management and bug tracking systems are also proprietary and off-limits.
Developers will be asked to sign a Sun Contribution Agreement (SCA) that grants Sun joint ownership in copyright and a patent license to their contributions.
Sun says sharing copyrights protects the Java Community, enabling Sun to offer the Java platform as a whole under both open source and commercial licenses and to know where every line comes from in case of future litigation.
Meanwhile, the Apache Software Foundation intends to keep on trucking and produce the open source version of Java started 18 months ago as Project Harmony. It should have something to show by the middle of next year.
Copyright (c) Client Server News.
Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week