The OpenJDK which was released by Sun contains some portions of code which could not be released as GPL due to third party licensing restrictions, software patents or other issues. These are generally referred to as encumbrances and require an extra package of binary code (or binary plugins) to be used in compiling the JDK. Sun has always had the goal of removing these non free plugins by either rewriting the problem sections or incorporating other pre-existing free solutions. As I have previously mentioned, Redhat’s IcedTea also has as a goal a fully free JDK based on replacement of the problem code with open source solutions and especially GNU’s ClassPath project.
Tom Marble’s Weblog also has an update from Sun on their progress on removing encumbrances from OpenJDK. FreeType has replaced the Java2D font rasterizer, the Crypto encumbered code has been replaced in OpenJDK starting in Build 21 (B21) and an abstraction layer has been created to facilitate replacement of JavaSound. Progress on a graphics rasterizer replacement is hopefully coming soon. Although the pace of progress isn’t as quick as I would like to see, it is not a small task and it does at least look like it is advancing quite nicely.
Soon we will be able to have a fully buildable open source JDK.