OpenJDK
Developer(s) | Sun Microsystems |
---|---|
Stable release | OpenJDK6 Build b17 / October 14, 2009 |
Preview release | OpenJDK7 Build b80 / January 21, 2010 |
Written in | C++ and Java |
Operating system | Cross-platform |
Type | Library |
License | GPL+linking exception |
Website | openjdk.java.net |
OpenJDK is the effort by Sun Microsystems to release a fully buildable Java Development Kit based completely on free and open source code.
History
Sun's promise and initial release
Sun announced in JavaOne 2006 that Java would become open source software, [1] [2] and on October 25, 2006, at the Oracle OpenWorld conference, Jonathan Schwartz said that the company was set to announce the open-sourcing of the core Java Platform within 30 to 60 days.
Sun released the Java HotSpot virtual machine and compiler as free software under the GNU General Public License on 13 November 2006, with a promise that the rest of the JDK (which includes the JRE) would be placed under the GPL by March 2007 ("except for a few components that Sun does not have the right to publish in source form under the GPL").[3] According to Richard Stallman, this would mean an end to the Java trap.[4] Mark Shuttleworth called the initial press announcement, "A real milestone for the free software community".[5]
Release of the class library
Following their promise to release a fully buildable JDK based almost completely on free and open source code in the first half of 2007 [1], Sun released the complete source code of the Class library under 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 and open-source license.[6] Included in the list of encumbered parts were several major components of the Java GUI system. Sun stated that their goal was to replace the parts that remain proprietary and closed source with alternative implementations and make the class library completely open.[7]
Community improvements
On 2007-11-05, Red Hat announced an agreement with Sun Microsystems, signing Sun's broad contributor agreement (that covers participation in all Sun-led free and open source software projects by all Red Hat engineers) and Sun's OpenJDK Community TCK License Agreement (That gives the company access to the test suite that determines whether a project based on openJDK complies with the Java SE 6 specification).[8]
Also on November 2007, the porters group was created on OpenJDK[9] to aid in efforts to port OpenJDK to different CPU architectures and operating systems. The BSD porting projects[2], led by Kurt Miller and Greg Lewis and the Mac OS X porting project (based on the BSD one) SoyLatte led by Landon Fuller[3] have expressed interest in joining OpenJDK via the porters group and as of January 2008 are part of the mailing list discussions. Another project pending formalization on the porters group is the Haiku Java Team, led by Bryan Varner.[10]
On December 2007, Sun moved the revision control of OpenJDK from TeamWare to Mercurial, as part of the process of releasing it to open source communities.[11][12]
OpenJDK has comparatively very strict procedures of accepting code contributions: every proposed contribution must be reviewed by two of Sun's engineers and have the automatic test demonstrating that feature has been fixed.[13] However, although initially the fixes proposed by the community were committed by Sun in the codebase, September 2008 saw the first (significant) patches directly committed by a non-Sun or ex-Sun employee.[14]
Inclusion in Linux distributions
As of May 2008, the Fedora 9[15][16] and Ubuntu 8.04[17] distributions were released with OpenJDK, based completely on free and open source code.[18]
In 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.[19]
On July 12, 2008, Debian accepted OpenJDK-6 in unstable[20][21], and it is now in stable[22]. OpenJDK is also available on openSUSE [23], and also Red Hat Enterprise Linux and its derivatives such as CentOS.
Since August 2008, OpenJDK 7 is runnable on Mac OS X and other BSD distributions.[24]
In July 2009, OpenJDK binary build for Ubuntu 9.04 passed all of the compatibility tests in the Java SE 6 JCK.[25]
Status
Supported JDK versions
OpenJDK was initially based only on the JDK 7.0 version of the Java platform.[26]
Since February 15, 2008, there are two separate OpenJDK projects:
- The main OpenJDK project, which is based on the JDK 7.0 version of the Java platform,
- The JDK 6 project, which provides an Open-source version of Java 6.0.[27]
Compiler and Virtual Machine
Sun's Java compiler, javac, and HotSpot (the virtual machine), are now under a GPL license.
Class library
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[28], and less than 1% as of May 2008 and OpenJDK 6[15]) is[29] [30] the SNMP implementation[30].
Since the first May 2007 release, Sun Microsystems, with the help of the community, has released as free and open-source software or replaced with free and open-source alternatives almost all the encumbered code:
- All the audio engine code, including the software synthesizer, has been released as Open-source.[30][31] The closed-source software synthesizer has been replaced by a new synthesizer developed specifically for OpenJDK called Gervill[32],
- All cryptography classes used in the Class library have been released as Open-source[33],
- The code that scales and rasterizes fonts has been replaced by FreeType[34][35][36]
- The native color management system has been replaced by LittleCMS.[35] 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 anti-aliasing graphics rasterizer code has been replaced by the Open-sourced Pisces renderer used in the phoneME project.[35][37] [38] This code is fully functional, but still needs some performance enhancements [39],
- The JavaScript plugin has been open-sourced (the Rhino JavaScript engine itself was open-sourced from the beginning).[40]
IcedTea
Because of the encumbered components in the Class library, 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 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.[41][42]
IcedTea is a software development and integration project launched by Red Hat in June 2007.[43] 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.
On November 5, 2007, Red Hat has signed both the Sun Contributor Agreement and the OpenJDK Community TCK License.[44] One of the first benefits of this agreement is tighter alignment with the IcedTea project, which brings together Fedora, the Linux distribution, and JBoss, the application server, technologies in a Linux environment. IcedTea is providing free software alternatives for the few remaining proprietary sections in the OpenJDK project.
Fedora 9 was the first version to ship with IcedTea6, based on the OpenJDK6 sources from Sun rather than OpenJDK7. It was also the first to use OpenJDK for the package name (via the OpenJDK trademark agreement) instead of IcedTea.[15]
Ubuntu also first packaged IcedTea7 [45] before later moving to IcedTea6. Packages for IcedTea6 were also created for Debian and included in lenny.
See also
- javac, Sun's java compiler, now under a GPL license
- HotSpot, Sun's Virtual Machine, now under a GPL license
- Java Class Library
- Free Java implementations
- Java Platform, Standard Edition
- Apache Harmony
References
- ↑ Schwartz, Jonathan (23 May 2006). "Busy Week...". Sun Microsystems. http://blogs.sun.com/roller/page/jonathan/200605#busy_week1. Retrieved 2007-05-09.
- ↑ "Sun Opens Java" (OGG Theora). Sun Microsystems. http://mediacast.sun.com/share/tmarble/Sun_Opens_Java.ogg.
- ↑ "Sun Opens Java". Sun Microsystems. 13 November 2006. http://www.sun.com/2006-1113/feature/index.jsp. Retrieved 2007-05-09.
- ↑ Stallman, Richard. "Free But Shackled - The Java Trap". http://www.gnu.org/philosophy/java-trap.html. Retrieved 2007-12-04.
- ↑ "Sun 'releases' Java to the world". BBC News. 13 November 2006. http://news.bbc.co.uk/1/hi/technology/6144748.stm. Retrieved 2007-05-09.
- ↑ "Open JDK is here!". Sun Microsystems. 8 May 2007. http://mail.openjdk.java.net/pipermail/announce/2007-May.txt. Retrieved 2007-05-09.
- ↑ Since there's some encumbered code in the JDK, Sun stated that it will continue to use that code in commercial releases until it's replaced by fully-functional free and open-source alternatives
- ↑ Broad contributor agreement and TCK License pave way for a fully compatible, free and open source Java Development Kit for Red Hat Enterprise Linux
- ↑ Porters Group
- ↑ New java for haiku team formed
- ↑ James Gosling. Interview with Robert Eckstein. James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1. October 2006.
- ↑ O'Hair, Kelly (2007-12-12). "Mercurial OpenJDK Questions". http://blogs.sun.com/kto/entry/mercurial_openjdk_questions.
- ↑ Tripp, Andy (2007-07-16). "Classpath hackers frustrated with slow OpenJDK process". http://www.javalobby.org/java/forums/t98834.html. Retrieved 2008-04-20.
- ↑ Kennke, Roman (2008-09-29). "A small step for me". http://kennke.org/blog/2008/09/29/a-small-step-for-me/. Retrieved 2008-10-19.
- ↑ 15.0 15.1 15.2 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/. Retrieved 2008-04-05. "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."
- ↑ "Open Source Java Technology Debuts In GNU/Linux Distributions". Sun Microsystems. http://www.sun.com/aboutsun/pr/2008-04/sunflash.20080430.1.xml. Retrieved 2008-05-02.
- ↑ "openjdk-6 in Ubuntu". https://launchpad.net/ubuntu/+source/openjdk-6. Retrieved 2008-04-19.
- ↑ Reinhold, Mark (2008-04-24). "There’s not a moment to lose!". http://blogs.sun.com/mr/entry/in_hardy_heron. Retrieved 2008-04-19.
- ↑ Sharples, Rich (2008-06-19). "Java is finally Free and Open". http://blog.softwhere.org/archives/196.
- ↑ Topic, Dalibor (2008-07-14). "QotD: Debian Overview of openjdk-6 source package". http://robilad.livejournal.com/33750.html. Retrieved 2008-07-15.
- ↑ "Overview of openjdk-6 source package". debian.org. http://packages.qa.debian.org/o/openjdk-6.html. Retrieved 2008-07-15.
- ↑ "Package: openjdk-6-jdk". debian.org. 2009-02-14. http://packages.debian.org/stable/openjdk-6-jdk. Retrieved 2009-02-16.
- ↑ "Package: OpenJDK". opensuse.org. http://en.opensuse.org/OpenJDK. Retrieved 2009-06-01.
- ↑ Fuller, Landon (2008-08-19). "SoyLatte, Meet OpenJDK: OpenJDK 7 for Mac OS X". http://landonf.bikemonkey.org/code/java/SoyLatte_Meets_OpenJDK.20080819.html. Retrieved 2008-08-22.
- ↑ Announcing OpenJDK 6 Certification for Ubuntu 9.04 (jaunty)
- ↑ "Didn't you promise to open source both JDK 6 and JDK 7 last November? What happened to JDK 6?". Sun Microsystems. http://www.sun.com/software/opensource/java/faq.jsp#b10. Retrieved 2007-10-14. "Sun did make that promise, and we plan to keep it. But in the six months since the November 2006 announcement, it has become clear that doing this is far more complex than just changing the license and publishing the source code."
- ↑ Darcy, Joe (2008-02-11). "The code is coming! The code is coming!". http://mail.openjdk.java.net/pipermail/jdk6-dev/2008-February/000001.html. Retrieved 2008-02-16. "At Sun we're making final preparations for the first source release for the OpenJDK 6 project. We plan to release a tarball of the source, along with matching binary plugs, by February 15, 2008."
- ↑ Fitzsimmons, Thomas (2007-05-18). "Plans for OpenJDK". http://fitzsim.org/blog/?p=17. Retrieved 2007-05-22.
- ↑ Herron, David (2007-10-04). "Plans for OpenJDK". http://weblogs.java.net/blog/robogeek/archive/2007/10/openjdk_encumbr.html. Retrieved 2007-10-09.
- ↑ 30.0 30.1 30.2 "OpenJDK 6 b10 source posted". 2008-05-30. http://mail.openjdk.java.net/pipermail/jdk6-dev/2008-May/000058.html. Retrieved 2008-06-01.
- ↑ audio-engine project page
- ↑ "Gervill - Software Synthesizer". https://gervill.dev.java.net/. Retrieved 2008-06-01.
- ↑ "Crypto has been added to OpenJDK". 2007-09-27. http://mail.openjdk.java.net/pipermail/security-dev/2007-September/000015.html. Retrieved 2007-10-07.
- ↑ font-scaler projectpage
- ↑ 35.0 35.1 35.2 Java2D project page
- ↑ "Freetype font rasteriser". 2007-08-07. http://mail.openjdk.java.net/pipermail/font-scaler-dev/2007-August/000011.html. Retrieved 2007-11-24.
- ↑ phoneme.dev.java.net/
- ↑ 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. Retrieved 2007-05-09.
- ↑ "Javascript is encumbered and there is no javascript plugin support.". IcedTea. 2008-03-11. http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=85. Retrieved 2008-06-01. "Changing Summary. JavaScript is no longer encumbered, but we still need liveconnect support."
- ↑ Andrew, Haley (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". http://article.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/5. Retrieved 2007-06-09.
- ↑ Mark, Wielaard (2007-06-07). "Experimental Build Repository at icedtea.classpath.org". http://developer.classpath.org/pipermail/classpath/2007-June/002109.html. Retrieved 2007-06-09.
- ↑ Fitzsimmons, Thomas (2007-06-08). "Credits". http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2007-June/000032.html. Retrieved 2007-06-08.
- ↑ "Red Hat and Sun Collaborate to Advance Open Source Java Technology". Red Hat. 2007-11-05. http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&newsId=20071105005882&newsLang=en. Retrieved 2007-11-06.
- ↑ "icedtea-java7 in Ubuntu". https://launchpad.net/ubuntu/+source/icedtea-java7. Retrieved 2008-04-19.
External links
- Main site
- OpenJDK FAQ
- OpenJDK - The First Year by Mark Reinhold
Template:Java (Sun) Template:Sun Microsystems
de:OpenJDK es:OpenJDK fr:OpenJDK pt:OpenJDK ru:OpenJDK zh:OpenJDK
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...