Free Java implementations
Free Java implementations are software projects that implement Oracle's Java technologies and are distributed under free software licences, 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 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 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.
Mid-1990s to 2006
Since then, the free software movement developed other Java compilers, most notably the GNU Compiler for Java. Others include the Eclipse Java Compiler (ECJ), which is maintained by the Eclipse Foundation, and Jikes, which is no longer actively maintained. Since the GNU Compiler Collection's 4.3 release, GCJ (its Java compiler) is using the ECJ parser front-end for parsing Java.
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. Following controversy, OpenOffice.org adopted a guideline requiring it to work with free Java implementations.
Sun's November 2006 announcement
Following their promise to release a fully buildable JDK based almost completely on free and open source code in the first half of 2007, 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. 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.
After the May 2007 code release
As of May 2008, the only part of the Class library that remains proprietary (4% as of May 2007 for OpenJDK 7,  and less than 1% as of May 2008 in OpenJDK 6) is the SNMP implementation.
Since the first May 2007 release, Sun Microsystems, with the help of the community, has released as free software (or replaced with free-software alternatives) almost all the encumbered code:
- All the audio engine code, including the software synthesizer, has been released as open-source. The closed-source software synthesizer has been replaced by a new synthesizer developed specifically for OpenJDK called Gervill,
- All cryptography classes used in the Class library have been released as free software,
- FreeType has replaced the code that scales and rasterizes fonts.
- LittleCMS has replaced the native color-management system. There is a pluggable layer in the JDK, so that the commercial version can use the old color management system and OpenJDK can use LittleCMS.
- The open-sourced Pisces renderer used in the phoneME project has replaced the anti-aliasing graphics rasterizer code. This code is fully functional, but still needs some performance enhancements,
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, Red Hat has started a project called IcedTea. It is basically an OpenJDK/GNU Classpath hybrid that can be used to bootstrap OpenJDK using only free software.
- Sun has replaced most of the encumbrances for which IcedTea was providing replacements (less than 1% of encumbered code remains in the class library, and this code is not necessary to run OpenJDK).
- OpenJDK 6 was a stable branch, whereas OpenJDK 7 was unstable and not expected to ship a stable release until 2009.
- Sun has licensed the OpenJDK trademark for use in Fedora.
In June 2008, it was announced that IcedTea 6 (as the packaged version of OpenJDK on Fedora 9) had passed the Technology Compatibility Kit tests and can claim to be a fully compatible Java 6 implementation.Cite error: Closing
</ref> missing for
Amazon have released Amazon Corretto a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit. It is released under GPL v2 with the Classpath Exception. Long-term support versions of Java 8 and Java 11 are available. It was first publicly released on 31 January 2019.
In 2017, the Eclipse Foundation released AdoptOpenJDK, now named Adoptium, who's main goal is "to promote and support free and open-source high-quality runtimes and associated technology for use across the Java ecosystem."
- Java (software platform)
- Apache Harmony
- GNU Classpath and GCJ
- List of Java virtual machines
- Comparison of Java virtual machines
- "OpenJDK and the IcedTea Project" (in ko). https://www.redhat.com/ko/blog/openjdk-and-the-icedtea-project.
- "Announcing: guavac 0.2.5, A free compiler for the Java language". 1996-09-07. http://www.ccs.neu.edu/research/demeter/course/f96/hw/1/guavac-info.
- "Changelog of guavac, showing the first release happening in January 1996". http://fresh.t-systems-sfr.com/unix/src/www/guavac-1.2.tar.gz:a/guavac-1.2/compiler/ChangeLog. "Wed Nov 22 05:43:07 1995 [...] CompilerMain.C, Compiler. C, Compiler.h, lexer.l, parser.y: Initial revision"
- "GCC 4.3 Release Series -- Changes, New Features, and Fixes". https://gcc.gnu.org/gcc-4.3/changes.html.
- Sun picks GPL license for Java code
- OpenJDK FAQ
- "Open JDK is here!". Sun Microsystems. 2007-05-08. http://mail.openjdk.java.net/pipermail/announce/2007-May.txt.
- Herron, David (2007-10-04). "Plans for OpenJDK". http://weblogs.java.net/blog/robogeek/archive/2007/10/openjdk_encumbr.html.
- Fitzsimmons, Thomas (2007-05-18). "Plans for OpenJDK". http://fitzsim.org/blog/?p=17.
- Angel, Lillian (2008-03-13). "OpenJDK to replace IcedTea in Fedora 9". http://langel.wordpress.com/2008/03/13/openjdk-in-fedora-9/.
- Wade, Karsten (2008-03-13). "OpenJDK in Fedora 9!". redhatmagazine.com. http://developer.redhatmagazine.com/2008/03/12/openjdk-to-replace-icedtea-in-fedora-9/. "Thomas Fitzsimmons updated the Fedora 9 release notes source pages to reflect that Fedora 9 would ship with OpenJDK 6 instead of the IcedTea implementation of OpenJDK 7. Fedora 9 (Sulphur) is due to release in May 2008."
- "OpenJDK 6 b10 source posted". 2008-05-30. http://mail.openjdk.java.net/pipermail/jdk6-dev/2008-May/000058.html.
- audio-engine project page
- "Gervill - Software Synthesizer". https://gervill.dev.java.net/.
- "Crypto has been added to OpenJDK". 2007-09-27. http://mail.openjdk.java.net/pipermail/security-dev/2007-September/000015.html.
- font-scaler projectpage
- Java2D project page
- "Freetype font rasteriser". 2007-08-07. http://mail.openjdk.java.net/pipermail/font-scaler-dev/2007-August/000011.html.
- graphics-rasterizer project page
- Graham, Jim (2007-10-03). "Open Source rasterizer". Sun Microsystems. http://mail.openjdk.java.net/pipermail/2d-dev/2007-October/000078.html.
- Andrew, Haley (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". http://article.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/5.
- Wielaard, Mark (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". http://developer.classpath.org/pipermail/classpath/2007-June/002109.html.
- Arun Gupta (31 January 2019). "Amazon Corretto 8 Now Generally Available". https://aws.amazon.com/blogs/opensource/amazon-corretto-8-generally-available/.
- Free But Shackled - The Java Trap
- Escaping the Java Trap: A practical road map to the Free Software and Open Source alternatives
- Hybrids Combine GNU Classpath and OpenJDK
- Hour long 2007 video of a workshop with Sun, GGJ, and GNU Classpath developers
- Java Trademark Issues
Original source: https://en.wikipedia.org/wiki/Free Java implementations. Read more