OpenJDK

OpenJDK
OpenJDK6
Developer(s) Sun Microsystems
Initial release OpenJDK6 Build b05 February 12, 2008; 3 years ago (2008-02-12)[1]
Stable release OpenJDK6 Build b23 / June 6, 2011; 5 months ago (2011-06-06)
Written in C++ and Java
Operating system Cross-platform
Type Library
License GPL+linking exception
Website http://openjdk.java.net/projects/jdk6/
OpenJDK7
Developer(s) Oracle Corporation
Preview release OpenJDK7 Build b147 / June 27, 2011; 4 months ago (2011-06-27)
Written in C++ and Java
Operating system Cross-platform
Type Library
License GPL+linking exception
Website http://openjdk.java.net/projects/jdk7/

OpenJDK (Open Java Development Kit) is a free and open source implementation of the Java programming language.[2] It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GNU General Public License (GPL) with a linking exception, which exempts components of the Java class library from the GPL licensing terms.

OpenJDK will become the official Java SE 7 reference implementation.[3]

Contents

History

Sun's promise and initial release

Sun announced in JavaOne 2006 that Java would become open-source software,[4][5] and on October 25, 2006, at the Oracle OpenWorld conference, Jonathan Schwartz said that the company intended 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 November 13, 2006, with a promise that the rest of the JDK (which includes the Java Runtime Environment) 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".[6] According to free-software advocate Richard Stallman, this would end the "Java trap", the vendor lock-in that he argues applied to Java and programs written in Java.[7]

Release of the class library

Following their promise to release a Java Development Kit (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 Java Class Library under the GPL on May 8, 2007, except for some limited parts that some third parties licensed to Sun that rejected the terms of the GPL.[8] Included in the list of encumbered parts were several major components of the Java graphical user interface (GUI). Sun stated that it planned to replace the remaining proprietary components with alternative implementations and to make the class library completely free.[9]

Community improvements

On November 5, 2007, Red Hat announced an agreement with Sun, signing Sun's broad contributor agreement (which covers participation in all Sun-led free and open source software projects by all Red Hat engineers) and Sun's OpenJDK Community Technology Compatibility Kit (TCK) License Agreement (which gives the company access to the test suite that determines whether a project based on openJDK complies with the Java SE 6 specification).[10]

Also on November 2007, the Porters Group was created on OpenJDK[11] to aid in efforts to port OpenJDK to different processor 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.[12]

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.[13][14]

OpenJDK has comparatively strict procedures of accepting code contributions: every proposed contribution must be reviewed by two of Sun's engineers and the contributor must have signed the Sun/Oracle Contributor Agreement.(SCA/OCA[15]) Preferably, there should also be a jtreg[16] test demonstrating that the bug has been fixed. Initially, the external patch submission process was slow[17] and commits to the codebase were only made by Sun engineers, until September 2008.[18] The process has improved and, as of 2010, simple patches and backports from OpenJDK7 to OpenJDK6 can take place within hours rather than days.[19].

Collaboration with IBM, Apple, and SAP

On October 11, 2010, IBM, by far the biggest participant in the Apache Harmony project, decided to join Oracle on the OpenJDK project, effectively shifting its efforts from Harmony to OpenJDK.[20][21] Bob Sutor, IBM's head of Linux and open source, blogged that "IBM will be shifting its development effort from the Apache Project Harmony to OpenJDK".[22]

On November 12, 2010, just three weeks after deprecating its own Java runtime port,[23] Apple Inc. and Oracle announced the OpenJDK project for Mac OS X. Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client.[24]

On January 11, 2011, the Mac OS X Port Project was created on OpenJDK, and Apple made the first public contribution of code to the project. The initial Apple contribution built on OpenJDK BSD port[25].

In July 2011, SAP AG announced that SAP officially joined the OpenJDK project[26].

Status

Supported JDK versions

OpenJDK was initially based only on the JDK 7.0 version of the Java platform.[27]

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 OpenJDK 6 project, which provides an Open-source version of Java 6.0.[28]

Compiler and virtual machine

Sun's Java compiler, javac, and HotSpot (the virtual machine), are now under a GPL license.

Class library

As of the first May 2007 release, 4% of the OpenJDK class library remained proprietary.[29] By the appearance of OpenJDK 6 in May 2008, less than 1% (the SNMP implementation,[30] which is not part of the Java specification) remained,[31] making it possible to build OpenJDK without any binary plugs.[30] The binary plug requirement was later dropped from OpenJDK7 as part of b53 in April 2009.[32]

This was made possible, over the course of the first year, by the work of Sun Microsystems and the OpenJDK community. Each encumbrance[33] was either released as free and open source software or replaced with an alternative:

Sun has made continued promises about releasing their web browser plugin and Web Start implementation as part of OpenJDK, but have so far failed to deliver.[43] The only currently available free plugin and Web Start implementation is that provided by IcedTea.

IcedTea and inclusion in software distributions

To be able to bundle OpenJDK in Fedora and other free Linux distributions, OpenJDK needed to be buildable using only free software components. Due to the encumbered components in the class library and implicit assumptions within the build system that the JDK being used to build OpenJDK was a Sun JDK[why?], this was not possible. In order to achieve this goal, a project called IcedTea was started by Red Hat in June 2007.[44] It began life as an OpenJDK/GNU Classpath hybrid that could be used to bootstrap OpenJDK, replacing the encumbrances with code from GNU Classpath.[45][46]

On November 5, 2007, Red Hat signed both the Sun Contributor Agreement and the OpenJDK Community TCK License.[47] 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.

In May 2008, the Fedora 9[31][48] and Ubuntu 8.04[49] distributions included IcedTea 6, based completely on free and open source code.[50] 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.[31]Ubuntu also first packaged IcedTea7[51] before later moving to IcedTea6. Packages for IcedTea6 were also created for Debian and included in lenny. On July 12, 2008, Debian accepted OpenJDK-6 in unstable,[52][53] and it is now in stable.[54] OpenJDK is also available on openSUSE,[55] Red Hat Enterprise Linux and RHEL derivatives such as CentOS.[56]

In June 2008, Red Hat announced that the packaged binaries for OpenJDK on Fedora 9, built using IcedTea 6, had passed the Technology Compatibility Kit tests and could claim to be a fully compatible Java 6 implementation.[57] In July 2009, an IcedTea 6 binary build for Ubuntu 9.04 passed all of the compatibility tests in the Java SE 6 JCK.[58]

Since August 2008, OpenJDK 7 is runnable on Mac OS X and other BSD distributions.[59]

See also

References

  1. ^ http://download.java.net/openjdk/jdk6/promoted/b05/
  2. ^ "OpenJDK Legal Documents". Sun Microsystems. http://openjdk.java.net/legal/. 
  3. ^ Moving to OpenJDK as the official Java SE 7 Reference Implementation
  4. ^ Schwartz, Jonathan (May 23, 2006). "Busy Week...". Sun Microsystems. http://blogs.sun.com/roller/page/jonathan/200605#busy_week1. Retrieved May 9, 2007. 
  5. ^ "Sun Opens Java" (OGG Theora). Sun Microsystems. http://mediacast.sun.com/share/tmarble/Sun_Opens_Java.ogg. 
  6. ^ "Sun Opens Java". Sun Microsystems. November 13, 2006. Archived from the original on April 21, 2007. http://web.archive.org/web/20070421151747/http://www.sun.com/2006-1113/feature/index.jsp. Retrieved May 9, 2007. 
  7. ^ Stallman, Richard. "Free But Shackled—The Java Trap". http://www.gnu.org/philosophy/java-trap.html. Retrieved December 4, 2007. 
  8. ^ "Open JDK is here!". Sun Microsystems. May 8, 2007. http://mail.openjdk.java.net/pipermail/announce/2007-May.txt. Retrieved May 9, 2007. 
  9. ^ Some encumbered code[clarification needed] remains in the JDK; Sun stated that it will continue to use such code in commercial releases until fully functional free and open source alternatives replace it.
  10. ^ Broad contributor agreement and TCK License pave way for a fully compatible, free and open source Java Development Kit for Red Hat Enterprise Linux
  11. ^ Porters Group
  12. ^ New java for haiku team formed
  13. ^ James Gosling (October 2006). James Gosling on Open Sourcing Sun's Java Platform Implementations, Part 1. Interview with Robert Eckstein. http://java.sun.com/developer/technicalArticles/Interviews/gosling_os1_qa.html. 
  14. ^ O'Hair, Kelly (December 12, 2007). "Mercurial OpenJDK Questions". http://blogs.sun.com/kto/entry/mercurial_openjdk_questions. 
  15. ^ "Sun Microsystems Inc. Contributor Agreement". http://oss.oracle.com/oca.pdf. 
  16. ^ "Regression Test Harness for the OpenJDK platform: jtreg". http://openjdk.java.net/jtreg/. Retrieved August 26, 2008. 
  17. ^ Tripp, Andy (July 16, 2007). "Classpath hackers frustrated with slow OpenJDK process". http://www.javalobby.org/java/forums/t98834.html. Retrieved April 20, 2008. 
  18. ^ Kennke, Roman (September 29, 2008). "A small step for me". http://kennke.org/blog/2008/09/29/a-small-step-for-me/. Retrieved October 19, 2008. [dead link]
  19. ^ Darcy, Joe (June 10, 2010). "Backporting changeset from 7 to 6 for bugfix". http://mail.openjdk.java.net/pipermail/jdk6-dev/2010-June/001708.html. 
  20. ^ "Oracle and IBM Collaborate to Accelerate Java Innovation Through OpenJDK". Oracle Corporation. http://www.marketwire.com/press-release/Oracle-and-IBM-Collaborate-to-Accelerate-Java-Innovation-Through-OpenJDK-NASDAQ-ORCL-1332855.htm. Retrieved October 22, 2010. 
  21. ^ Ryan Paul. "Java wars: IBM joins OpenJDK as Oracle shuns Apache Harmony". Ars Technica. http://arstechnica.com/open-source/news/2010/10/ibm-joins-openjdk-as-oracle-shuns-apache-harmony.ars. Retrieved October 22, 2010. 
  22. ^ Bob Sutor. "IBM joins the OpenJDK community, will help unify open source Java efforts". http://www.sutor.com/c/2010/10/ibm-joins-the-openjdk-community/. Retrieved October 22, 2010. "IBM will be shifting its development effort from the Apache Project Harmony to OpenJDK. For others who wish to do the same, we’ll work together to make the transition as easy as possible. IBM will still be vigorously involved in other Apache projects." 
  23. ^ "Java for Mac OS X 10.6 Update 3 and 10.5 Update 8 Release Notes". October 20, 2010. http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/NewandNoteworthy/NewandNoteworthy.html. 
  24. ^ "Oracle and Apple Announce OpenJDK Project for Mac OS X". Business Wire. 2010-11-12. http://www.businesswire.com/news/home/20101112005253/en/Oracle-Apple-Announce-OpenJDK-Project-Mac-OS. Retrieved 2010-11-12. "Oracle and Apple® today announced the OpenJDK project for Mac OS® X. Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. OpenJDK will make Apple’s Java technology available to open source developers so they can access and contribute to the effort." 
  25. ^ Mike Swingler (Apple) (2011-01-11). "Announcing: OpenJDK for Mac OS X source repository, mailing list, project home". OpenJDK. http://mail.openjdk.java.net/pipermail/macosx-port-dev/2011-January/000007.html. Retrieved 2010-11-12. "I'm very happy to let you know that today we made the first public contribution of code to the OpenJDK project for Mac OS X. This initial contribution builds on the hard work of the BSD port, and initially has the same functionality. Today's contribution simply modifies the build process to create universal binary, and produces a .jdk bundle which is recognized by Java Preferences and the JVM detection logic in Mac OS X." 
  26. ^ Volker Simonis (SAP AG) (2011-07-14). "SAP joins the OpenJDK". OpenJDK. http://mail.openjdk.java.net/pipermail/discuss/2011-July/001982.html. Retrieved 2010-11-12. "I'm really happy that as of today, SAP has signed the Oracle Contributor Agreement (OCA). This means that with immediate effect the SAP JVM developers can officially join the discussions on the various OpenJDK mailing lists and contribute patches and enhancements to the project." 
  27. ^ "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 October 14, 2007. "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." 
  28. ^ Darcy, Joe (February 11, 2008). "The code is coming! The code is coming!". http://mail.openjdk.java.net/pipermail/jdk6-dev/2008-February/000001.html. Retrieved February 16, 2008. "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." 
  29. ^ Fitzsimmons, Thomas (May 18, 2007). "Plans for OpenJDK". http://fitzsim.org/blog/?p=17. Retrieved May 22, 2007. 
  30. ^ a b c "OpenJDK 6 b10 source posted". May 30, 2008. http://mail.openjdk.java.net/pipermail/jdk6-dev/2008-May/000058.html. Retrieved June 1, 2008. 
  31. ^ a b c Wade, Karsten (March 13, 2008). "OpenJDK in Fedora 9!". redhatmagazine.com. http://developer.redhatmagazine.com/2008/03/12/openjdk-to-replace-icedtea-in-fedora-9/. Retrieved April 5, 2008. "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." 
  32. ^ "Changes in OpenJDK7 b53". April 2, 2009. http://download.java.net/jdk7/changes/jdk7-b53.html. Retrieved September 5, 2009. 
  33. ^ Herron, David (October 4, 2007). "Plans for OpenJDK". http://weblogs.java.net/blog/robogeek/archive/2007/10/openjdk_encumbr.html. Retrieved October 9, 2007. 
  34. ^ audio-engine project page
  35. ^ "Gervill - Software Synthesizer". https://gervill.dev.java.net/. Retrieved June 1, 2008. 
  36. ^ "Crypto has been added to OpenJDK". September 27, 2007. http://mail.openjdk.java.net/pipermail/security-dev/2007-September/000015.html. Retrieved October 7, 2007. 
  37. ^ font-scaler projectpage
  38. ^ a b c Java2D project page
  39. ^ "Freetype font rasteriser". August 7, 2007. http://mail.openjdk.java.net/pipermail/font-scaler-dev/2007-August/000011.html. Retrieved November 24, 2007. 
  40. ^ phoneme.dev.java.net/
  41. ^ graphics-rasterizer project page
  42. ^ Graham, Jim (October 3, 2007). "Open Source rasterizer". Sun Microsystems. http://mail.openjdk.java.net/pipermail/2d-dev/2007-October/000078.html. Retrieved May 9, 2007. 
  43. ^ Darcy, Joe (June 8, 2009). "OpenJDK and the new plugin". http://mail.openjdk.java.net/pipermail/jdk6-dev/2009-June/000604.html. Retrieved September 5, 2009. 
  44. ^ Fitzsimmons, Thomas (June 8, 2007). "Credits". http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2007-June/000032.html. Retrieved June 8, 2007. 
  45. ^ Andrew, Haley (June 7, 2007). "Experimental Build Repository at icedtea.classpath.org". http://article.gmane.org/gmane.comp.java.openjdk.distro-packaging.devel/5. Retrieved June 9, 2007. 
  46. ^ Mark, Wielaard (June 7, 2007). "Experimental Build Repository at icedtea.classpath.org". http://developer.classpath.org/pipermail/classpath/2007-June/002109.html. Retrieved June 9, 2007. 
  47. ^ "Red Hat and Sun Collaborate to Advance Open Source Java Technology". Red Hat. November 5, 2007. http://home.businesswire.com/portal/site/google/index.jsp?ndmViewId=news_view&newsId=20071105005882&newsLang=en. Retrieved November 6, 2007. 
  48. ^ "Open Source Java Technology Debuts In GNU/Linux Distributions". Sun Microsystems. http://www.sun.com/aboutsun/pr/2008-04/sunflash.20080430.1.xml. Retrieved May 2, 2008. 
  49. ^ "openjdk-6 in Ubuntu". https://launchpad.net/ubuntu/+source/openjdk-6. Retrieved April 19, 2008. 
  50. ^ Reinhold, Mark (April 24, 2008). "There’s not a moment to lose!". http://blogs.sun.com/mr/entry/in_hardy_heron. Retrieved April 19, 2008. 
  51. ^ "icedtea-java7 in Ubuntu". https://launchpad.net/ubuntu/+source/icedtea-java7. Retrieved April 19, 2008. 
  52. ^ Topic, Dalibor (July 14, 2008). "QotD: Debian Overview of openjdk-6 source package". http://robilad.livejournal.com/33750.html. Retrieved July 15, 2008. 
  53. ^ "Overview of openjdk-6 source package". debian.org. http://packages.qa.debian.org/o/openjdk-6.html. Retrieved July 15, 2008. 
  54. ^ "Package: openjdk-6-jdk". debian.org. February 14, 2009. http://packages.debian.org/stable/openjdk-6-jdk. Retrieved February 16, 2009. 
  55. ^ "Package: OpenJDK". opensuse.org. http://en.opensuse.org/OpenJDK. Retrieved June 1, 2009. [dead link]
  56. ^ "How to download and install prebuilt OpenJDK packages". http://openjdk.java.net/install/#epel. Retrieved March 3, 2010. 
  57. ^ Sharples, Rich (June 19, 2008). "Java is finally Free and Open". http://blog.softwhere.org/archives/196. 
  58. ^ Announcing OpenJDK 6 Certification for Ubuntu 9.04 (jaunty)
  59. ^ Fuller, Landon (August 19, 2008). "SoyLatte, Meet OpenJDK: OpenJDK 7 for Mac OS X". http://landonf.bikemonkey.org/code/java/SoyLatte_Meets_OpenJDK.20080819.html. Retrieved August 22, 2008. 

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • OpenJDK — Тип Библиотека Разработчик Oracle (ранее Sun Mic …   Википедия

  • OpenJDK — Entwickler Sun Microsystems (Oracle) Aktuelle Version OpenJDK 7[1] (28. Juli 2011) Betriebssystem Linux, Solaris, Windows …   Deutsch Wikipedia

  • Openjdk — Développeur Sun Microsystems Dernière version …   Wikipédia en Français

  • OpenJDK — Développeur Oracle Dernière version …   Wikipédia en Français

  • OpenJDK — Este artículo o sección se encuentra desactualizado. Es posible que la información suministrada aquí haya cambiado o sea insuficiente. OpenJDK6 Desarrollador …   Wikipedia Español

  • IcedTea — For other meanings, see Iced tea (disambiguation)Infobox Software name = IcedTea6 caption = Screenshot of AWT widgets rendered in IcedTea collapsible = yes developer = Red Hat / GNU Classpath latest release version =… …   Wikipedia

  • Free Java implementations — are software projects that implement Sun Microsystem s Java technologies and are distributed under free software licences, thus making them free software. Sun released most of its Java source code as free software in May 2007, so it can now… …   Wikipedia

  • Java Class Library — The Java Class Library is a set of dynamically loadable libraries that Java applications can call at runtime. Because the Java Platform is not dependent on any specific operating system, applications cannot rely on any of the existing libraries.… …   Wikipedia

  • Comparison of the Java and .NET platforms — Contents 1 Legal issues 1.1 Standardization 1.2 License 1.2.1 Java 1.2.2 .NET …   Wikipedia

  • IcedTea — IcedTea6 Ejemplo de widgets awt renderizados por IcedTea Desarrollador Red Hat / GNU Classpath …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”