InfoQ

News

IcedTea: The First 100% Compliant Open-Source Java

Posted by R.J. Lorimer on Jun 21, 2008

Community
Java
Topics
Governance ,
Community ,
Licensing ,
Open Source
Tags
Java SE ,
GNU
This week it was announced that the RedHat-initiated IcedTea project, along with OpenJDK, has reached 100% compliance with the Java Test Compatibility Kit (TCK), officially becoming the first completely open-source (GPL-licensed) Java implementation to pass the TCK.
This week the IcedTea Project reached an important milestone - The latest OpenJDK binary included in Fedora 9 (x86 and x86_64) passes the rigorous Java Test Compatibility Kit (TCK). This means that it provides all the required Java APIs and behaves like any other Java SE 6 implementation - in keeping with the portability goal of the Java platform.
Passing the TCK is generally considered a significant effort:
The Java TCK is a complex suite of tools and documentation that verifies that Java implementations conform to the Java specification. It consists of more than 80,000 tests and over 1 million lines of code.
As discussed previously on InfoQ , the IcedTea project is able to be a 100% GPL-licensed Java implementation by utilizing OpenJDK release snapshots, and replacing the remaining 5% of propertiary components with replacements from the GNU Classpath project.
The IcedTea project was created by the GNU Classpath team along with a handful of RedHat developers due to the need to replace all of the proprietary code with open source implementations. GNU Classpath provides many GPL-licensed replacements of the proprietary-licensed binary plugs still found in OpenJDK, making an IcedTea build of OpenJDK more-readily available for distributions on platforms such as Redhat's Fedora Linux distribution. Fedora 9 contains functionally complete OpenJDK packages, in part due to the contributions from IcedTea.
Other open-source Java implementations, such as Apache Harmony, have been unable up to this point to pass the TCK, however not all of the difficulties have been related to technical issues. In April of 2007, the Apache Software Foundation sent an open letter to Sun Microsystems with the intent of solving key issues with licensing the TCK for testing against the Harmony platform; licensing issues that prevented the Harmony team from legally running the TCK in an open-source way. While Sun responded to the open letter, there has as-of-yet been no resolution of the licensing issues for the Harmony team, and they are still unable to run the TCK.

The IcedTea project is not subject to the same licensing issues as Apache Harmony, as Sun has provided a special version of the TCK license that is targeted to any Java implementation that is a derivative of OpenJDK; something that Apache Harmony cannot claim.

InfoQ will continue to report on the development of open-source Java implementations as new information becomes available.
Should we distribute Jython and/or JRuby with IcedTea? by Bill Burke Posted Jun 21, 2008 5:31 PM
Re: Should we distribute Jython and/or JRuby with IcedTea? by Jonas Bonér Posted Jun 22, 2008 2:33 AM
Re: Should we distribute Jython and/or JRuby with IcedTea? by Viktor Klang Posted Jun 22, 2008 6:34 AM
Re: Should we distribute Jython and/or JRuby with IcedTea? by Clinton Lee Posted Jun 22, 2008 3:12 AM
Re: Should we distribute Jython and/or JRuby with IcedTea? by Weiqi Gao Posted Jun 22, 2008 7:27 AM
Re: Should we distribute Jython and/or JRuby with IcedTea? by Dean Del Ponte Posted Jun 22, 2008 9:04 PM
Not for Profit Open Source Community TCK License Agreement by Niall P Posted Jun 24, 2008 9:17 AM
Re: Not for Profit Open Source Community TCK License Agreement by Bill Burke Posted Jun 24, 2008 6:21 PM
  1. The dev manager of Iced Tea asked me an interesting question: Should we bundle JRuby and Jython with the IcedTea download?


    Let me know...


    --

    Bill Burke

    JBoss, a division of Red Hat

    bill.burkecentral.com

  2. None of them, bundle Scala :-)

  3. The dev manager of Iced Tea asked me an interesting question: Should we bundle JRuby and Jython with the IcedTea download?
    Let me know...
    --
    Bill Burke
    JBoss, a division of Red Hat
    bill.burkecentral.com

    Initially I thought that would be good, but then changed my mind to 'no' for two reasons:

    1) A developer a can't assume its there as standard (ie: the sun jdk doesn't have it),

    2) It should be very easy to install as a library anyway with just a 'yum install jruby/jython' command.

    But I suppose it does have advantages if you are using [j]ruby or [j/p]ython frameworks.

  4. Jonas, you crazy guy. ;D

  5. What benefits would bundling JRuby and Jython with IcedTea bring?

    And when you talk about IcedTea, do you mean the build harness only, or a complete OpenJDK packages in Fedora 9.

    If it is the latter, then my question is "what do you mean by \"bundle\"?" If it means when an end user installs "openjdk" by invoking the "yum install openjdk" command the system will also install JRuby and Jython after which the user cannot remove just the JRuby or Jython part by invoking "yum remove jruby" or "yum remove jython", I'd say that's a bad thing.

    If it means that the IcedTea team, after tackling the OpenJDK build/packaging problems, culminating in the inclusion of "openjdk" in Fedora 9, would like to do the same for JRuby and Jython, essentially allowing the newest versions of JRuby and Jython to be easily installed and removed from an end users system, I'd say that's a good thing.

  6. Groovy please!

  7. Red hat has licensed (paid for) the JDK.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.