- For other meanings, see Iced tea (disambiguation)
|
Screenshot
|
|
| Developed by | Red Hat / GNU Classpath |
|---|---|
| Latest release | 1.3.1 / 27 October 2008 |
| Written in | C and Java |
| OS | Cross-platform |
| Type | Java Virtual Machine and Java Library |
| License | GPL+linking exception |
| Website | http://icedtea.classpath.org |
|
Screenshot
|
|
| Developed by | Red Hat / GNU Classpath |
|---|---|
| Latest release | 1.7 / 02 June 2008 |
| Written in | C and Java |
| OS | Cross-platform |
| Type | Java Virtual Machine and Java Library |
| License | GPL+linking exception |
| Website | http://icedtea.classpath.org |
IcedTea is a software development and integration project launched by Red Hat in June 2007.[1] The goal is to make the OpenJDK software which Sun Microsystems released as free software in 2007 usable without requiring any other software that is not free software. For Red Hat, this would make it possible to add OpenJDK to the Fedora Linux distribution, as well as other distributions. This goal has been met, and a version of IcedTea based on OpenJDK was packaged with Fedora 8 in November 2007. April 2008 saw the first release[2] of a new variant, IcedTea6 which is based on Sun's build drops of OpenJDK6, a fork of the OpenJDK with the goal of being compatible with the existing JDK6. This was released in Ubuntu and Fedora in May 2008. The IcedTea package in these distributions has been renamed to OpenJDK using the OpenJDK trademark notice. In June 2008, the Fedora build passed Sun's rigorous TCK testing[3] on x86 and x86-64.
Contents |
History
This project was created following Sun’s release of its HotSpot Virtual Machine and Java compiler in November 2006, and most of the source code of the class library in May 2007. However, parts of the class library, such as font rendering, colour management and sound support, were only provided as proprietary binary plugs. This was because the source code for these plugs was copyrighted to 3rd parties, rather than Sun Microsystems[4][5]. The released parts were published under the terms of the GNU General Public License, a free software licence.
Because of 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 license, or failing that, to replace these proprietary elements with alternative implementations. With the plugs replaced, the class library would then be completely Free. Sun has continued to use the proprietary code in their certified binary releases[6].
Following the announcement, the IcedTea project was started and was formally announced on June 07, 2007,[7] with a build repository provided by the GNU Classpath team. The team could not call their software product "OpenJDK" because this is a trademark owned by Sun Microsystems. They instead decided to use the temporary name "IcedTea"[8].
On November 05, 2007, Red Hat signed both the Sun Contributor Agreement and the OpenJDK Community TCK License. The press release suggested that this would benefit the IcedTea project.[9] Simon Phipps suggested the possibility of IcedTea being hosted on openjdk.java.net,[10] 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[11][12].
Since then, a number of patches from IcedTea6 have made their way into OpenJDK6 e.g. [13][14].
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[15].
The aims
Specifically, the IcedTea project started with two aims. One is to make it possible for the GNU Compiler for Java to compile the OpenJDK code. The problem was that the only program which could compile the OpenJDK software was the existing proprietary Sun JDK . 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.[7][16]
The second task was to provide Free equivalents of the binary plugs 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 OpenJDK6 build drops can be built with no binary plugs. With the release of b10 [17], which replaces the proprietary sound support with that from the Gervill project, a full implementation of Java 1.6 can be built without binary plugs. The only remaining binary plug is for SNMP support, which is an optional provider for the JMX architecture and not part of the specification.
Side benefits
Unlike Sun's own Java release, IcedTea provides a working browser plugin for 64-bit browsers under 64-bit Linux. This makes it suitable to enable support for Java applets in 64-bit Firefox, among others. Also, Java Web Start support by means of Netx [18]. 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 a large number of environment variables for configuring the build (the current IcedTea builds set roughly 40 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[19] and for work on ports to other platforms.
Ports of HotSpot (OpenJDK's Virtual Machine) are difficult because the code contains a lot of assembly in addition to the C++ core, [20]. The IcedTea project has developed a generic port of the HotSpot interpreter called zero-assembler Hotspot (or zero)[21], with almost no assembly code. This port is intended to allow the interpreter part of HotSpot to be very easily adapted to any Linux processor architecture, potentially making it infinitely portable. The code of zero-assembler Hotspot is used for all the non-x86 ports of HotSpot (PPC, IA64, S390 and ARM) since version 1.6[22][23][24].
Gary Benson, an IcedTea developer, is now developing a platform-independent Just-in-time compiler called Shark for HotSpot, to complement Zero[25][26]. Completing this work will make the Java Virtual Machine independent of the CPU architecture.
Progress and availability
As of June 2007, IcedTea is building itself and working on Fedora, and a significant portion of Mauve, the GNU Classpath test suite, runs successfully on it.[27]. In May 2008, support was added to IcedTea for running the Sun JTreg regression tests [28].
IcedTea is the default JVM in Ark Linux.[29]
IcedTea is available in Ubuntu 7.10 (Gutsy Gibbon), from the "universe" repository.[30] and IcedTea6 in 8.04 (Hardy Heron) [31].
IcedTea is available in Fedora (operating system) 8 and IcedTea6 in Fedora 9 (as java-1.6.0-openjdk), from the "yum" repository.
Packages (ebuilds) for IcedTea6 are available in an unofficial repository (the java-overlay overlay) in Gentoo
It can be built and run under Debian[32]. Binary packages were submitted on 20 April 2008 but were rejected due to licensing problems with some files [33][34]. A new package was uploaded in June 2008 [35] and entered unstable on 12 July 2008.
Architecture
OpenJDK contained approximately (on release in May 2007) 4% encumbered code,[8] which was only packaged as binary plugs. These were required to build and use the JDK. OpenJDK6 was released with only 1% encumbered code, and sound support has also since been replaced. IcedTea6 is based on this release. IcedTea6 still provides web browser support, Web Start support and some Sound.
IcedTea replaces the binary plugs with the equivalent GNU Classpath code, compiles it all using GCJ and optionally bootstraps itself using the HotSpot Java Virtual Machine and the javac Java compiler it just built.[36].
See also
References
- ^ Fitzsimmons, Thomas (2007-06-08). "Credits". Retrieved on 2007-06-08.
- ^ Angel, Lillian (2008-04-04). "IcedTea6 1.1 Released". Retrieved on 2008-07-12.
- ^ Sharples, Rich (2008-06-19). "Java is finally Free and Open". Retrieved on 2008-06-19.
- ^ "Open JDK is here!". Sun Microsystems (2007-05-08). Retrieved on 2007-05-09.
- ^ See also Java Class Library Licensing
- ^ "Sun's OpenJDK FAQ". "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". Retrieved on 2007-06-09.
- ^ a b Fitzsimmons, Thomas (2007-05-18). "Plans for OpenJDK". Retrieved on 2007-05-22.
- ^ "Red Hat and Sun Collaborate to Advance Open Source Java Technology". Red Hat (2007-11-05). Retrieved on 2007-11-06.
- ^ Phipps, Simon (November 5, 2007). "Red Hat Joins OpenJDK". Retrieved on 2007-11-14.
- ^ Reinhold, Mark (2007-11-05). "Welcome, Red Hat!". Retrieved on 2007-11-14.
- ^ Andrew, Haley (May 16, 2008). "Open source project: OpenJDK".
- ^ "Bug ID 6523403: OSS CMM: Need to provide lcms library with PYCC and LINEAR_RGB OS ICC profiles". Retrieved on 2008-07-12.
- ^ "Bug ID 6604044 java crashes talking to second X screen". Retrieved on 2008-07-12.
- ^ Sharples, Rich (2008-06-19). "Java is finally Free and Open".
- ^ Wielaard, Mark (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". Retrieved on 2007-06-09.
- ^ "OpenJDK6 b10 source posted" (2007-05-30). Retrieved on 2008-07-12.
- ^ Netx is a high-quality implementation of the Java Network Launching Protocol (JNLP).
- ^ a generic synthesizer for Java
- ^ Benson, Gary (2007-11-06). "Gary's guide to porting IcedTea". Retrieved on 2008-01-26.
- ^ "Zero-Assembler Project". Retrieved on 2008-08-22.
- ^ Benson, Gary (2008-02-01). "1st February 2008". Retrieved on 2008-02-03.
- ^ Haley, Andrew (2008-01-31). "Making zero-assembler the default on ppc". Retrieved on 2008-02-03.
- ^ Angel, Lillian (2008-02-13). "IcedTea 1.6 Released with Zero-assembler and JNLP support!". Red hat. Retrieved on 2008-02-13.
- ^ Benson, Gary (2008-03-31). "31 March 2008". Red hat. Retrieved on 2008-05-30.
- ^ Benson, Gary (2008-05-28). "28 May 2008". Red hat. Retrieved on 2008-05-30. "Shark is a platform-independent JIT for HotSpot, to complement the zero-assembler interpreter we’ve been using"
- ^ Kung, Francis (2007-06-12). "Mauve test run results". Retrieved on 2007-06-12.
- ^ Wielaard, Mark. "jtreg testing integrated". Retrieved on 2008-07-12.
- ^ "Ark Linux packages". Ark Linux. Retrieved on 2008-02-23.
- ^ "Ubuntu -- Details of icedtea-java7-jre in gutsy". Ubuntu Packages. Retrieved on 2007-10-26.
- ^ "Ubuntu -- Details of package openjdk-6-jre in hardy". Ubuntu Packages. Retrieved on 2008-07-12.
- ^ "Debian Building Instructions". IcedTea Wiki. Retrieved on 2008-05-21.
- ^ "openjdk-6 - Debian NEW package overview". Debian ftp-master. Retrieved on 2008-05-21.
- ^ "jdk6 - GPL-compatible free software licenses and documented copyrights and licenses". Retrieved on 2008-07-12.
- ^ "openjdk-6 - Debian NEW package overview". Debian ftp-master. Retrieved on 2008-07-12.
- ^ Wielaard, Mark (2007-06-07). "IcedTea". Retrieved on 2007-06-09.
External links
- IcedTea main page
- IcedTea Status
- IcedTea announcement
- Classpath mailing list announcement
- Thomas Fitzsimmons (Red Hat developer) blog entry announcing IcedTea
- Guide to porting IcedTea
- OpenJDK and IcedTea, A view from the Fedora side
|
||||||||||||||
No comments have been added.






