The GNU Classpath Extensions project, aka classpathx builds free versions of Oracle's Java extension libraries, the packages in the javax namespace. It is a companion project of the GNU Classpath project.

classpathx produces vendor neutral Java code: it should work with any VM. However, we particularly want the code to work with free VMs such as gij, JamVM, kaffe, and CACAO. Ideally classpathx code should also work under Dalvik in Android: if you find incompatibilities in this area please log a bug report.

Getting involved

Attempting to build free versions of the entire javax namespace is a big job and we need your help to get everything done. If you are a Java programmer and you want to work on building free Java extensions then get in touch with Chris Burdess who will be happy to give you something interesting to do!

If you want to write code you must assure us that you have not seen the source code for any implementations you want to work on that are distributed under a non-copyleft license. GNU classpathx libraries are clean room implementations of javax APIs. If you have worked with OpenJDK or other source code distributed under multiple licences that include the GPL, that will be fine.

If you can't contribute code, either because you don't think you're qualified or you've seen proprietary source code, you can still be of tremendous help to us. We need testers and people to write documentation as well as hackers!

You can also browse our task list for ideas about what needs to be done.

Current modules

JavaBeans™ Activation Framework
JAF provides a means to type data and locate components suitable for performing various kinds of action on it. It extends the UNIX standard mime.types and mailcap mechanisms for Java. We have a complete implementation of JAF 1.1.
JavaMail
JavaMail provides a complete internet mail system, including MIME. We have a complete implementation of JavaMail 1.3, and a broad range of providers including the only JavaMail NNTP provider and Maildir provider.
Servlet API
An extensible framework for building web applications. We are working on version 3.0 of the servlet specification. There are various servlet containers using the classpathx servlet API, including Paperclips and gumdrop.
GNU inetlib
inetlib is a collection of client libraries for working with low-level Internet protocols.
JavaBean infobus
The infobus is a bean-to-bean communication system. We have the API classes but no implementations yet.

classpathx alumni

The following projects started development within classpathx, and as they became more stable and feature complete moved to become their own separate projects.

GNU JAXP
Java XML APIs and implementations, including parsers and XSLT transformations. This project has moved to the GNU Classpath project.
Java Cryptography
This project has moved to become the GNU-Crypto project.

Releases

Each classpathx module is distributed as a separate library or set of libraries. The packages are hosted here.

Development

Development for classpathx occurs on the savannah free software collaboration system. You can view our source code from there. If you want to help us you will need to become a savannah user.

Acknowledgements

Andrew Selkirk started this project as an open source effort in 2000. He did all of the hard work creating the free versions of the various javax APIs listed above. He was also gracious enough to hand on the work to the GNU project when he found himself too busy to continue. Andrew stays in touch with the project and we'd like to give a a very big thank you to Andrew for his effort, vision and magnanimity.

David Brownell contributed the JAXP, SAX and DOM code. With another hat, he's a maintainer for the SAX2 interfaces. Thanks for the help David!

Chris Burdess wrote the JavaMail and JAF implementations and providers, the JAXP streaming and XSLT implementations.

Paul Siegmann, who wrote the original free version of the servlet API and trailblazed the legalities of the GNU project clean rooming javax source code. Paul spent many days typing in code worked out from javadoc. He deserves a lot of thanks, so...
Lots of thanks Paul!


Return to GNU's home page.

Please send FSF and GNU inquiries and questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to webmasters@gnu.org, send other questions to gnu@gnu.org.

Copyright © 1999, 2001, 2002, 2004, 2006 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2013/11/21 17:08:13 $ $Author: dog $