
Free Java implementations are software projects that implement Sun Microsystem's Java technologies and are distributed under free software licences, thus making them free software. Sun released most of its Java source code as free software in May 2007, so it can now almost be considered a free Java implementation.
Java implementations include compilers, runtimes, class libraries, etc.
Advocates[who?] of free and open source software refer to free or open source Java virtual machine software as free runtimes or free Java runtimes.
Some advocates[who?] in this movement prefer not to use the term "Java" as it has trademark issues associated with it. Hence, even though it is a "free Java movement", the term "free Java runtimes" is avoided by them.
Contents |
Probably the first free project to offer substantial parts of Java platform functionality was guavac, which began some time before November 1995.[1][2]
Since then, the free software movement developed other java compilers, most notably the GNU Compiler for Java. Others include ECJ the Eclipse Java Compiler, which is maintained by the Eclipse Foundation, and Jikes, which is no longer actively maintained. With the upcoming GCC 4.3 release, GCJ (GCC for Java) will use ECJ parser front-end, for parsing Java.[3]
Examples of free runtime environments include Kaffe, SableVM, and gcj.
GNU Classpath is the main free software class library for Java. Most free runtimes use GNU Classpath as their class library.
In May 2005, Apache Harmony was announced, however, the project chose the Apache License, which was at the time incompatible with all existing free Java implementations.
Another event in May 2005 was the announcement that OpenOffice.org 2.0 would depend on Java features which free software implementations couldn't provide. Red Hat solved this problem by extending the free software implementations to be adequate for their purposes.
Notable applications that already worked with free software Java implementations before November 2006 include OpenOffice.org and Vuze, both of which work when compiled with GCJ.
In 13 November 2006, Sun released its compiler, javac, under the GNU General Public License.
As of September 2007, as well as javac, Sun has released the code of HotSpot (the virtual machine) and almost all the Java Class Library as free software.
Following their promise to release a fully buildable JDK based almost completely on free and open source code in the first half of 2007 [4], Sun released the complete source code of the Class library under the GPL on May 8, 2007, except some limited parts that were licensed by Sun from 3rd parties who did not want their code to be released under a free software licence.[5] Sun has stated that it aims to replace the parts that remain proprietary and closed source with alternative implementations and make the class library completely free and open source. Since there's some encumbered code in the JDK, Sun will continue to use that code in commercial releases until it's replaced by fully-functional free and open-source alternatives.
As of May 2008, the only part of the Class library that remains proprietary and closed-source (4% as of May 2007 for OpenJDK 7[6], and less than 1% as of May 2008 and OpenJDK 6[7][8]) is[9] [10]:
Since the first May 2007 release, Sun Microsystems, with the help of the community, has released as Open-source or replaced with Open-source alternatives almost all the encumbered code:
Because of these previously encumbered components, it was not possible to build OpenJDK only with Free Software components. In order to be able to do this before the whole class library is made free, and to be able to bundle OpenJDK in Fedora Core and other free Linux distributions, a project called IcedTea has been started by Red Hat. It is basically an OpenJDK/GNU Classpath hybrid that can be used to bootstrap OpenJDK using only Free Software.[21][22]
As of March 2008, the Fedora 9 distribution has been released with OpenJDK 6 instead of IcedTea[8]. Some of the stated reasons for this changes are:
On June 2008, it was announced that IcedTea6 (as the packaged version of OpenJDK on Fedora 9) has passed the Technology Compatibility Kit tests and can claim to be a fully compatible Java 6 implementation[23].
|
||||||||||||||
|
|||||||||||||||||||||||||||||||
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History