IcedTea
Developer(s) | GNU Classpath |
---|---|
Stable release | 3.31.0[1]
/ April 20, 2024 |
Library | |
License | GNU GPL+linking exception |
Website | icedtea |
Developer(s) | GNU Classpath (with Red Hat until 2.6.22) |
---|---|
Stable release | 2.6.28[2]
/ November 8, 2021 |
Library | |
License | GNU GPL+linking exception |
Website | icedtea |
Developer(s) | Red Hat & GNU Classpath |
---|---|
Final release | 1.13.13
/ January 9, 2017 |
Library | |
License | GPL+linking exception |
Website | icedtea |
Developer(s) | Red Hat & GNU Classpath |
---|---|
Stable release | |
Solaris | |
Type | Java Web Start support and Java web plugin for applets |
License | GPL+linking exception |
Website | icedtea |
Developer(s) | Red Hat & GNU Classpath |
---|---|
Stable release | 1.0.1
/ July 18, 2014 |
Solaris | |
Type | Sound support |
License | GPL+linking exception |
Website | icedtea |
IcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007.[3] IcedTea also includes some addon libraries: IcedTea-Web is a free software implementation of Java Web Start and the Java web browser applet plugin. IcedTea-Sound is a collection of plugins for the Java sound subsystem, including the PulseAudio provider which used to be included with IcedTea. The Free Software Foundation recommends that all Java programmers use IcedTea as their development environment.[4]
Historically, the initial goal of the IcedTea project was to make the OpenJDK software, which Sun Microsystems released as free software in 2007, usable without requiring any
History
This project was created following Sun's release under open source licenses of its
Due to these missing components, it was not possible to build OpenJDK only with free software components. Sun aimed to negotiate with the license holders to allow this code to be released under a free software license, or failing that, to replace these proprietary elements with alternative implementations. With the plugins replaced, the class library would then be completely free. Sun has continued to use the proprietary code in their certified binary releases.[12]
Following the announcement, the IcedTea project was started and was formally announced on June 7, 2007,[13] with a build repository provided by the GNU Classpath team. The team could not call their software product "OpenJDK" because this is a trademark which was owned by Sun Microsystems. They instead decided to use the temporary name "IcedTea".[14]
On November 5, 2007, Red Hat signed both the Sun Contributor Agreement and the OpenJDK Community Technology Compatibility Kit (TCK) License. The press release suggested that this would benefit the IcedTea project.[15] Simon Phipps suggested the possibility of IcedTea being hosted on openjdk.java.net,[16] and Mark Reinhold noted that signing the copyright assignment could allow Red Hat to contribute parts of IcedTea to Sun for inclusion in the mainstream JDK.[17][18]
Since then, a number of patches from IcedTea have made their way into OpenJDK.[19][20]
In June 2008, it was announced that IcedTea6 (as the packaged version of OpenJDK on
Aims
The IcedTea project started with two aims:
- to make it possible for the GNU Compiler for Java to compile the OpenJDK code. OpenJDK presented a bootstrapping question of itself being written in Java. Hence, developers needed an already-working Java compiler and runtime in order to build OpenJDK. Originally, only the existing proprietary Sun JDK met that requirement. Free distributions like Fedora can't depend on proprietary tools in order to build packages, so the IcedTea project had to make it possible to compile the code using free software. When this was done, the resulting IcedTea version of OpenJDK could be used to compile itself, thus escaping the need to use non-Free software for future compiling.[13][23]
- to provide free equivalents of the binary plugins that existed in OpenJDK because Sun was unable to release all the source code. As of March 2008, this is no longer necessary for IcedTea6, as the OpenJDK 6 build drops can be built with no binary plugins. With the release of b10, the same is true for OpenJDK 7. Outside the core of OpenJDK, binary plugins are still required for utilizing Java Web Start applets that run using the browser plugin (distinct from the core plugins discussed earlier); as of 2013, the only source code available that accomplishes this goal is the IcedTea-Web project.
Other benefits
IcedTea also provides a more familiar build system by providing a wrapper around the OpenJDK makefiles using the GNU Autotools. This removes the need to remember numerous environment variables for configuring the build. (The current IcedTea builds set roughly forty such variables for the underlying OpenJDK build.) It has also provided a place for early work on features which will eventually appear in the main OpenJDK builds such as Gervill[26] and for work on ports to other platforms.
IcedTea-Web
IcedTea-web provides a free-software Java Web browser plugin. It was the first to work in 64-bit browsers under 64-bit Linux, a feature Sun's proprietary JRE later addressed.
As of October 2018, Oracle has announced that public Java Web Start support will end with
Progress and availability
From June 2007, IcedTea was able to build itself and pass a significant portion of Mauve, the GNU Classpath test suite.[35] In May 2008, support was added to IcedTea for running the Sun jtreg regression tests.[36]
IcedTea has become popular among package maintainers for the following Linux distributions. Currently (as of April 2012):
- IcedTea is the default JVM in Ark Linux[37] and Arch Linux.[38]
- It can be built and run under Debian.[39] Packages entered unstable on 12 July 2008. As of May 2022, packages icedtea-netx and icedtea-netx-common are available in official Debian repositories for at least Debian 9 through 12.[40]
- IcedTea[7] was available in
- Binary and source packages for IcedTea 3.x are available in Gentoo's official repository. A source package for IcedTea 2.x continues to be maintaining in the Java overlay repository. Installing a Java application by default pulls in IcedTea instead of oracle-jdk because it can be installed without extra work from the user, as users have to manually agree to Oracle's EULA to download the oracle-jdk.
- IcedTea is available in Starting with Ubuntu 11.04 only IcedTea is available.
Architecture
OpenJDK contained approximately (on release in May 2007) 4% encumbered code,[14] which was only packaged as binary plugins. These were required to build and use the JDK. OpenJDK 6 was released with only 1% encumbered code, and the encumbered sound support has also since been replaced. IcedTea6 is based on this release. IcedTea still provides its own web browser plugin and Web Start support, as Sun's implementation remains proprietary.
IcedTea 1.x and 2.x can compile OpenJDK using GNU Classpath-based solutions such as GCJ and optionally bootstraps itself using the HotSpot Java Virtual Machine and the javac Java compiler it just built.[45] For now, building IcedTea 3.x requires using IcedTea 2.x or 3.x, or an OpenJDK 7 or 8 build from another source.
Platform support
Cross-architecture ports of HotSpot (OpenJDK's Virtual Machine) are difficult, because the code contains much
The IcedTea project has also developed a
See also
References
- ^ "[SECURITY] IcedTea 3.31.0 for OpenJDK 8 Released!". mail.openjdk.java.net. April 20, 2024. Retrieved April 20, 2024.
- ^ "[SECURITY] IcedTea 2.6.28 for OpenJDK 7 Released!". mail.openjdk.java.net. November 8, 2021. Retrieved April 26, 2022.
- ^ Fitzsimmons, Thomas (2007-06-08). "Credits". Retrieved 2007-06-08.
- ^ "Free but Shackled – The Java Trap- GNU Project – Free Software Foundation".
- ^ Angel, Lillian (2008-04-04). "IcedTea6 1.1 Released". Archived from the original on 2008-10-31. Retrieved 2008-07-12.
- ^ Sharples, Rich (2008-06-19). "Java is finally Free and Open". Archived from the original on 2008-06-20. Retrieved 2008-06-19.
- ^ Hughes, Andrew John (2011-10-19). "IcedTea 2.0 Released!". Archived from the original on 2012-02-14. Retrieved 2012-01-31.
- ^ Hughes, Andrew John (2016-04-10). "IcedTea 3.0 Released!". Archived from the original on 2016-04-21. Retrieved 2016-04-12.
- ^ Hughes, Andrew John (2017-01-11). "Discontinuation of Support for IcedTea 1.x". Archived from the original on 2017-01-13. Retrieved 2017-01-12.
- ^ "Open JDK is here!". Sun Microsystems. 2007-05-08. Retrieved 2007-05-09.
- ^ See also Java Class Library Licensing
- ^ "Sun's OpenJDK FAQ". Archived from the original on 2007-05-26.
Now Sun is open sourcing most of the remaining components of the JDK, with the exception of a few encumbered components that we hope, with the community's help, can be re-implemented so that 100% of the OpenJDK code commons is available as free software... Sun will continue to use that code in commercial releases until it's replaced by fully-functional open-source alternatives
- ^ a b Haley, Andrew (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". Archived from the original on 2007-08-20. Retrieved 2007-06-09.
- ^ a b Fitzsimmons, Thomas (2007-05-18). "Plans for OpenJDK". Retrieved 2007-05-22.
- ^ "Red Hat and Sun Collaborate to Advance Open Source Java Technology". Red Hat. 2007-11-05. Archived from the original on 2007-08-25. Retrieved 2007-11-06.
- ^ Phipps, Simon (November 5, 2007). "Red Hat Joins OpenJDK". Archived from the original on February 22, 2008. Retrieved 2007-11-14.
- ^ Reinhold, Mark (2007-11-05). "Welcome, Red Hat!". Archived from the original on 2008-02-22. Retrieved 2007-11-14.
- ^ Haley, Andrew (May 16, 2008). "Open source project: OpenJDK". Archived from the original on October 10, 2008. Retrieved May 21, 2008.
- ^ "Bug ID 6523403: OSS CMM: Need to provide lcms library with PYCC and LINEAR_RGB OS ICC profiles". Retrieved 2008-07-12.
- ^ "Bug ID 6604044 java crashes talking to second X screen". Retrieved 2008-07-12.
- ^ Sharples, Rich (2008-06-19). "Java is finally Free and Open". Archived from the original on 2008-06-20.
- ^ Haley, Andrew (2009-04-01). "New project: getting rid of IcedTea local patches". Retrieved 2009-09-05.
- ^ Wielaard, Mark (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". Archived from the original on 2007-06-19. Retrieved 2007-06-09.
- ^ Wielaard, Mark (2007-05-30). "OpenJDK6 b10 source posted". Retrieved 2008-07-12.
- ^ "Changes in OpenJDK7 b53". 2009-04-02. Archived from the original on 2009-04-06. Retrieved 2009-09-05.
- ^ "Gervill: Wiki: Home — Project Kenai". Archived from the original on 2013-06-28.
- ^ Java SE 6 Update 12 Release Notes. Java.sun.com. Retrieved on 2013-07-18.
- ^ Darcy, Joe (2009-06-08). "OpenJDK and the new plugin". Retrieved 2009-09-05.
- ^ Hughes, Andrew John (2009-08-21). "Opensource plugin&webstart – when?". Retrieved 2009-09-05.
- ^ Bhole, Deepak (2009-08-26). "IcedTea Java plugin with Chromium and Firefox 3.6A1". Retrieved 2009-09-05.
- ^ Bhole, Deepak (2011-02-02). "First release of IcedTea-Web!". Retrieved 2011-04-04.
- ^ "Where to find the source of the closed-source browser plugin?". 14 April 2013.
- ^ "Java Client Roadmap Update" (PDF). March 2018. Retrieved 2018-12-29.
Oracle will not include Java Web Start in Java SE 11 (18.9 LTS) and later.
- ^ Adams, George (30 April 2019). "What's up at AdoptOpenJDK". Medium. Retrieved 30 April 2019.
- ^ Kung, Francis (2007-06-12). "Mauve test run results". Retrieved 2007-06-12.
- ^ Wielaard, Mark. "jtreg testing integrated". Retrieved 2008-07-12.
- ^ "Ark Linux packages". Ark Linux. Archived from the original on 2008-03-14. Retrieved 2008-02-23.
- ^ "JRE and JDK Moved to Community". Arch Linux. Retrieved 2009-07-30.
- ^ "Debian Building Instructions". IcedTea Wiki. Archived from the original on 2008-05-23. Retrieved 2008-05-21.
- ^ "Debian -- Package Search Results -- icedtea".
- ^ "java-1.6.0-openjdk.git". Archived from the original on 2014-03-28. Retrieved 2014-03-28.
- ^ "java-1.7.0-openjdk.git". Archived from the original on 2014-03-28. Retrieved 2014-03-28.
- ^ "Ubuntu – Details of icedtea-java7-jre in gutsy". Ubuntu Packages. Retrieved 2007-10-26.
- ^ "Ubuntu – Details of package openjdk-6-jre in hardy". Ubuntu Packages. Retrieved 2008-07-12.
- ^ Wielaard, Mark (2007-06-07). "IcedTea". Retrieved 2007-06-09.
- ^ Benson, Gary (2007-11-06). "Gary's guide to porting IcedTea". Archived from the original on 2012-07-12. Retrieved 2008-01-26.
- ^ "Zero-Assembler Project". Retrieved 2008-08-22.
- ^ "ZeroSharkFaq". icedtea.classpath.org. Archived from the original on 2009-08-23. Retrieved 2009-05-30.
- ^ a b Benson, Gary (2008-05-28). "28 May 2008". Red Hat. Retrieved 2008-05-30.
Shark is a platform-independent JIT for HotSpot, to complement the zero-assembler interpreter we've been using
- ^ Benson, Gary (2009-05-21). "Zero and Shark: a Zero-Assembly Port of OpenJDK". java.net. Archived from the original on 2009-05-31. Retrieved 2009-05-30.
We started an experimental port of OpenJDK without assembly language, using free software libraries to bridge the gaps. This experiment evolved to become the zero-assembly port of OpenJDK – Zero – and its just-in-time compiler Shark.
- ^ Benson, Gary (2008-02-01). "1st February 2008". Archived from the original on 2012-07-10. Retrieved 2008-02-03.
- ^ Haley, Andrew (2008-01-31). "Making zero-assembler the default on ppc". Retrieved 2008-02-03.
- ^ Angel, Lillian (2008-02-13). "IcedTea 1.6 Released with Zero-assembler and JNLP support!". Red Hat. Retrieved 2008-02-13.
- ^ Benson, Gary (2008-03-31). "31 March 2008". Red Hat. Retrieved 2008-05-30.
- ^ "6976186: integrate Shark HotSpot changes". hg.openjdk.java.net. Retrieved 2014-03-28.
- ^ Haley, Andrew (2009-09-09). "IcedTea6 1.6 Released!". Retrieved 2014-03-28.
- ^ Hughes, Andrew (2012-06-13). "[SECURITY] IcedTea 2.1.1 & 2.2.1 Released!". Archived from the original on 2014-03-29. Retrieved 2014-03-28.
- ^ "AArch64 Port Project". Retrieved 2014-03-28.
- ^ Hughes, Andrew (2014-03-28). "IcedTea 2.3.14 & 2.4.6: Considered ARMful Released!". Archived from the original on 2014-03-29. Retrieved 2014-03-28.
- ^ "OpenJDK PowerPC/AIX Port". Archived from the original on 2014-03-28. Retrieved 2014-03-28.
- ^ Hughes, Andrew (2014-01-23). "PPC Port Available in IcedTea 2.x HEAD". Archived from the original on 2014-02-20. Retrieved 2014-03-28.
- ^ Simonis, Volker (2015-09-25). "JEP 175: PowerPC/AIX Port". Retrieved 2016-04-13.
- ^ Haley, Andrew (2015-12-16). "JEP 237: Linux/AArch64 Port". Retrieved 2016-04-13.
External links
- Official website
- IcedTea announcement
- Classpath mailing list announcement Archived 2007-06-19 at the Wayback Machine
- Thomas Fitzsimmons (Red Hat developer) blog entry announcing IcedTea
- Guide to porting IcedTea
- OpenJDK and IcedTea, A view from the Fedora side
- Zero and Shark: a Zero-Assembly Port of OpenJDK