From Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/OpenJDK
OpenJDK
(aka Open Java Development Kit
) is a free
and open source
implementation of the Java programming language
.[clarification needed
]
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.
History
Sun's promise and initial release
Sun
announced in JavaOne 2006
that Java would become open-source software,
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".
According to computer scientist
and 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.
Software entrepreneur Mark Shuttleworth
called the initial press announcement "A real milestone for the free software community
".
[not in citation given
]
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 , 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.
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.
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 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).
Also on November 2007, the Porters Group
was created on OpenJDK
to aid in efforts to port OpenJDK to different processor architectures
and operating systems
. The BSD
porting projects , led by Kurt Miller and Greg Lewis and the Mac OS X
porting project (based on the BSD one) SoyLatte
led by Landon Fuller
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.
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.
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
) Preferably, there should also be a JTreg
test demonstrating that the bug has been fixed. Initially, the external patch submission process was
and commits to the codebase
were only made by Sun engineers, until September 2008
. The process has improved and, as of 2010[update]
, simple patches and backports from OpenJDK7 to OpenJDK6 can take place within hours rather than days.
On 2010-10-11, IBM
and Oracle announced that both companies will collaborate to further develop OpenJDK.
On 2010-11-12, Apple
and Oracle announced the OpenJDK project for Mac OS X
.
Status
Supported JDK versions
OpenJDK was initially based only on the JDK 7.0 version
of the Java platform.
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
.
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
. By the appearance of OpenJDK 6 in May 2008, less than 1% (the SNMP
implementation
, which is not part of the Java specification) remained
, making it possible to build OpenJDK without any binary plugs
The binary plug requirement was later dropped from OpenJDK7 as part of b53 in April 2009
.
This was made possible, over the course of the first year, by the work of Sun Microsystems
and the OpenJDK community. Each encumberance
was either released as free and open source software
or replaced with an alternative:
- All the audio engine code, including the software synthesizer
, has been released as open source.
The proprietary
software synthesizer has been replaced by a new synthesizer developed specifically for OpenJDK called Gervill
,
- All cryptography
classes used in the class library have been released as open source
,
- The code that scales and rasterizes
fonts
has been replaced by FreeType
- The native color management
system has been replaced by LittleCMS
.
There is a pluggable layer in the JDK, so that the proprietary 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 source
Pisces renderer used in the phoneME
project.
This code is fully functional, but still needs some performance enhancements
Sun has made continued promises about releasing their plugin[clarification needed
]
and Web Start
implementation as part of OpenJDK, but have so far failed to deliver
. 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
, this was not possible. In order to achieve this goal, a project called IcedTea was started by Red Hat
in June 2007.
It began life as an OpenJDK/GNU Classpath
hybrid that could be used to bootstrap
OpenJDK, replacing the encumbrances with code from GNU Classpath.
On November 5, 2007, Red Hat signed both the Sun Contributor Agreement and the OpenJDK Community TCK
License.
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
and Ubuntu 8.04
distributions included IcedTea 6, based completely on free
and open source
code.
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.
Ubuntu
also first packaged IcedTea7
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 unstabl
, and it is now in stable
. OpenJDK is also available on openSUSE
, Red Hat Enterprise Linux
and RHEL derivatives such as CentOS
.
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.
In July 2009, an IcedTea 6 binary build for Ubuntu 9.04
passed all of the compatibility tests in the Java SE 6 JCK
.
Since August 2008, OpenJDK 7 is runnable on Mac OS X
and other BSD
distributions.
Collaboration with IBM
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
.
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".
.
Java on Mac OS X
On November 12, 2010, just three weeks after deprecating its own Java runtime port
, Apple
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
.
分享到:
相关推荐
openjdk11 full javafx
openjdk-8-jdk_8u91-b14-0ubuntu4~14.04_amd64.deb openjdk-8-jre_8u91-b14-0ubuntu4~14.04_amd64.deb openjdk-8-jdk-headless_8u91-b14-0ubuntu4~14.04_amd64.deb openjdk-8-jre-headless_8u91-b14-0ubuntu4~14.04_...
openJdk17
鲲鹏云不支持OracleJDK,只支持OpenJDK与HuaweiJDK,以上是基于ARM架构的OpenJDK,亲测有效。
openjdk-11
openjdk 17.01 windows版本 解压安装包
openjdk-17 GA(openjdk-17_linux-aarch64_bin.tar.gz) 适用于Linux aarch64系统
openjdk和jdk的区别如下: openjdk是jdk的开源版本,源代码完全相同,但是部分功能无法使用。 openjdk只包含最精简的JDK,而jdk包含很多其他软件包。 openjdk采用GPL V2协议,而jdk采用JRL协议。 openjdk没有部署...
openjdk-17源码(openjdk-17+35_src.zip)
openjdk-18(openjdk-18+36_windows-x64_bin.zip)
openjdk 18 windows版本 解压安装包
OpenJDK Cookbook
openjdk 8 docker 镜像 可离线安装,docker load -i openjdk 8 docker 镜像 可离线安装,docker load -i openjdk 8 docker 镜像 可离线安装,docker load -i openjdk 8 docker 镜像 可离线安装,docker load -i
openjdk 17.01 linux版本 解压安装包
openjdk6 源代码,分开也上传一份,省得太大了。
ubuntu下使用的openjdk7 openjdk8
https://bell-sw.com/pages/downloads/#/java-8-lts full version openjdk8
ubuntu下,openjdk-7的安装包deb版本
Java™ is the world's leading programming language and platform. AdoptOpenJDK uses infrastructure, build and test scripts to produce prebuilt binaries from OpenJDK™ class libraries and a choice of ...
安装包:java-7-openjdk-amd64.tar.gz 使用方法 1. 拷贝至服务器/个人电脑 2. 解包 mkdir /opt/jdk/ tar -zxvf java-7-openjdk-amd64.tar.gz -C /opt/jdk/ 3. 配置编译环境 JAVA_HOME=/opt/jdk/java-7-openjdk-amd...