Note that plugin and Web Start support are now provided by a separate project, IcedTea-Web.

As well as IcedTea, we also now host repositories for:

IcePick, which allows the OpenJDK language tools (javac, javadoc, javah, javap, apt) to be built separately using any 1.5 compliant Java compiler and be used by any GNU Classpath based runtime

BrandWeg, which adds elements of OpenJDK to the existing sources of GNU Classpath.

Build support for VisualVM, a lightweight profiler and troubleshooting tool.

Thermostat an instrumentation tool for the Hotspot JVM, with support for monitoring multiple JVM instances on multiple hosts, optionally in a cloud environment.

Also of relevance is the CVMI OpenJDK project, which aims to document the OpenJDK VM interface and foster links with alternative VMs. Discussion of this takes place on cvmi-dev@openjdk.java.net and on the CVMIDiscussion page here on the IcedTea wiki.

Contents

1 Getting IcedTea

Stable releases (currently the IcedTea 1.13 series of releases based on OpenJDK 6, IcedTea 2.6 series based on OpenJDK 7 and IcedTea 3.0 series based on OpenJDK 8) and RPMs of IcedTea are available on the Downloads page.

Full details of the latest stable IcedTea6, IcedTea7 and IcedTea8 releases are available on the release maintainer's blog.

Note that versioning works as follows:

The major version corresponds to a specific JDK (1 = OpenJDK6, 2 = OpenJDK7, 3 = OpenJDK8). Early pre-releases of OpenJDK7 also used a major version number of 1, so the nomenclature 'IcedTeaX' also tends to be used to indicate which JDK the release applies to (where X is the JDK version).

The minor version corresponds to a specific release branch, and usually brings a significant number of new features and improvements.

The macro version corresponds to a new minor update of a particular release branch, and includes security fixes and important bug fixes which have been backported from the main development tree.

Current IcedTea policy is to maintain one minor release per major release at any one time, via release branches and appropriate macro releases, with a short transition period of one security release. Thus, release n is classed as unsupported after the first security release following the release of n + 1. Macro releases consist only of bug fixes and security fixes. They do not contain changes to the build system.

Releases are made by the designated maintainer following the release process. Maintainers are assigned on a meritocratic basis; the role is generally given to anyone who is prepared to do such an unrewarding job. The current maintainers are:

The number of patches applied has dramatically decreased in the 2.x series and we hope to see more of the lingering patches go upstream. The remaining ones are changes to allow the use of system libraries and to support esoteric architectures. With IcedTea 2.x onwards, unconditional patches (the vast majority) are applied to a fork of the upstream OpenJDK forests for the appropriate major version. As a result, the raw upstream OpenJDK version on which IcedTea is based can be obtained via Mercurial by checking out the appropriate tag (e.g. jdk7u91-b02 for the u91 release).

2 Quickstart & Building

Firstly, download the latest release of IcedTea6; see above. We recommend the one with the highest version number.
You should then unpack and build the release as follows:

A full list of required packages is available at BuildRequirements. CommonIssues lists some of the problems you may encounter in building IcedTea and their solution. Note that JAVA_HOME should be unset before attempting to build IcedTea.

3 Contributing to IcedTea

All contributions to IcedTea are greatly welcomed. The best way to get involved is to sign up to our mailing list and tell us what you're interested in doing. We don't bite -- honest! -- unless asked. Please be respectful when posting to the mailing list, and treat others as you would wish to be treated. We are generally a friendly bunch and it makes for a better working environment for all if you refrain from making aggressive remarks or personal attacks.