Jump to content

IcedTea: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Faisal.akeel (talk | contribs)
No edit summary
mNo edit summary
Line 46: Line 46:
| accessdate=2007-05-22}}</ref>
| accessdate=2007-05-22}}</ref>


On [[November 05]] [[2007]], Red Hat signed both the Sun Contributor Agreement (a [[copyright assignment]]) and the OpenJDK Community [[Technology Compatibility Kit|TCK]] License. The press release suggested that this would benefit the IcedTea project.<ref name="fitzsimAnnounce">{{cite web
On [[November 05]] [[2007]], Red Hat signed both the Sun Contributor Agreement (a [[copyright assignment]]) and the OpenJDK Community [[Technology Compatibility Kit|TCK]] License. The press release suggested that this would benefit the IcedTea project.<ref>{{cite web
| url=http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&newsId=20071105005882&newsLang=en
| url=http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&newsId=20071105005882&newsLang=en
| title=Red Hat and Sun Collaborate to Advance Open Source Java Technology
| title=Red Hat and Sun Collaborate to Advance Open Source Java Technology

Revision as of 12:39, 8 March 2008

Template:Beta software

IcedTea
Developer(s)Red Hat
Stable release
1.6 / February 13, 2008 (2008-02-13)
Repository
Written inC and Java
Operating systemCross-platform
TypeJava Virtual Machine and Java Library
LicenseGPL+linking exception
Websitehttp://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.

History

This project came about following Sun’s release of its HotSpot Virtual Machine and compiler in November 2006, and most of the source code of the Class library in May 2007. Some parts were missing because they were copyrighted by 3rd parties, not Sun Microsystems.[2][3] The released parts were published under the terms of the GNU General Public License, a free software licence.

Because of these missing components, it is not yet possible to build OpenJDK only with free software components. Sun's goal is 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.[4]

The IcedTea project was started on June 07 2007,[5] with a build repository provided by the GNU Classpath team.

The team could not call their software product "OpenJDK" because it is a trademark owned by Sun Microsystems. They have instead decided to use the temporary name "IcedTea".[6]

On November 05 2007, Red Hat signed both the Sun Contributor Agreement (a copyright assignment) and the OpenJDK Community TCK License. The press release suggested that this would benefit the IcedTea project.[7] Simon Phipps suggested the possibility of IcedTea being hosted on openjdk.java.net,[8] 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.[9]

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 (to convert the human readable source code into a machine readable program), was Sun's JDK which consisted of OpenJDK itself plus some proprietary extensions. 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.[5][10]

The second task, which is only beginning, is to fill the gaps that exist in OpenJDK – which exist because Sun couldn’t release some parts of the code.

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.

Progress

As of June 2007, IcedTea is building itself and working on Fedora 7, and a significant portion of Mauve, the GNU Classpath test suite, run successfully on it.[11]

IcedTea is available in Ubuntu 7.10 (Gutsy Gibbon), from the "universe" repository.[12]

It also builds under Gentoo, and it is possible to build and start it under Debian, but support is still limited.[13]

IcedTea being mainly a packaging of OpenJDK, most parts of Java are working. Some are stubbed to avoid encumbered code and some others are reimplemented using GNU Classpath code:

  • Graphics (awt and swing) implemented with underlying GNU Classpath code,
  • Crypto and SSL implemented with underlying GNU Classpath code,
  • Sound is partially stubbed but Sun is working on a free sound-engine,
  • SNMP and Javascript are stubbed

Architecture

OpenJDK contains approximately (as of May 2007) 4% of encumbered code,[6] which are packaged as binary plugins, required to build and use the JDK.

IcedTea replaces the binary plugins 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.[14].

Virtual Machine

Ports of HotSpot, OpenJDK Virtual Machine, are difficult because the code, while primarily written in C++, contain a lot of assembly[15]. The IcedTea project has developed a generic port of HotSpot called zero-assembler Hotspot, with almost no assembly code. This port is intended to allow HotSpot to be very easily adapted to any 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[16][17][18].

See also

References

  1. ^ Fitzsimmons, Thomas (2007-06-08). "Credits". Retrieved 2007-06-08. {{cite web}}: Check date values in: |date= (help)
  2. ^ "Open JDK is here!". Sun Microsystems. 2007-05-08. Retrieved 2007-05-09. {{cite web}}: Check date values in: |date= (help)
  3. ^ See also Java Class Library Licensing
  4. ^ "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
  5. ^ a b Haley, Andrew (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". Retrieved 2007-06-09. {{cite web}}: Check date values in: |date= (help)
  6. ^ a b Fitzsimmons, Thomas (2007-05-18). "Plans for OpenJDK". Retrieved 2007-05-22. {{cite web}}: Check date values in: |date= (help)
  7. ^ "Red Hat and Sun Collaborate to Advance Open Source Java Technology". Red Hat. 2007-11-05. Retrieved 2007-11-06. {{cite web}}: Check date values in: |date= (help)
  8. ^ Phipps, Simon (November 5, 2007). "Red Hat Joins OpenJDK". Retrieved 2007-11-14. {{cite web}}: Check date values in: |date= (help)
  9. ^ Reinhold, Mark (2007-11-05). "Welcome, Red Hat!". Retrieved 2007-11-14. {{cite web}}: Check date values in: |date= (help)
  10. ^ Wielaard, Mark (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". Retrieved 2007-06-09. {{cite web}}: Check date values in: |date= (help)
  11. ^ Kung, Francis (2007-06-12). "Mauve test run results". Retrieved 2007-06-12. {{cite web}}: Check date values in: |date= (help)
  12. ^ "Ubuntu -- icedtea-java7-jre". Ubuntu Packages. Retrieved 2007-10-26.
  13. ^ "FAQ-What distributions/platforms does IcedTea build on?". IcedTea Wiki. Retrieved 2007-06-15.
  14. ^ Wielaard, Mark (2007-06-07). "IcedTea". Retrieved 2007-06-09. {{cite web}}: Check date values in: |date= (help)
  15. ^ Gary, Benson (2007-11-06). "Gary's guide to porting IcedTea". Retrieved 2008-01-26. {{cite web}}: Check date values in: |date= (help)
  16. ^ Gary, Benson (2008-02-01). "1st February 2008". Retrieved 2008-02-03. {{cite web}}: Check date values in: |date= (help)
  17. ^ Andrew, Haley (2008-01-31). "Making zero-assembler the default on ppc". Retrieved 2008-02-03. {{cite web}}: Check date values in: |date= (help)
  18. ^ Lilian, Angel (2008-02-13). "IcedTea 1.6 Released with Zero-assembler and JNLP support!". Red hat. Retrieved 2008-02-13. {{cite web}}: Check date values in: |date= (help)

External links