What Is GlassFish?

Depending on how you look at it, GlassFish is any of the following:

A community. The GlassFish community currently includes over 1100 members participating in the GlassFish project, with the objective of developing an open source application server that implements Java EE 5. In addition, the community is working to develop various web services technologies apart from the application server development effort. The community includes independent contributors as well as contributors from various organizations and companies. Members of the GlassFish community don't necessarily have to take an active role in developing code for the application server. By simply using the application server, they can file and track bugs and exchange information with other community members.

A project. The GlassFish project is a structured environment for developing the open source application server. The establishment of the GlassFish project is part of a larger effort by Sun to release major portions of its code into open source for use and improvement by the community. The GlassFish project is one of a variety of community-based projects hosted on java.net.

An open source application server. This is what the GlassFish community is building within the GlassFish project. The open source application server is based on the source code for Sun Java System Application Server Platform Edition 9, donated by Sun Microsystems, and on source code for TopLink, a Java object-to-relational persistence architecture, donated by Oracle. The GlassFish community makes periodic builds of the open source application server available for download.

Why Is GlassFish Important?

GlassFish puts a free, open source, commercial-grade implementation of Java EE 5 in the hands of the community -- and puts it there early. Think about what benefits this might have for you. If you develop enterprise Java applications, being a GlassFish community member gives you an early opportunity to develop those applications and test them for conformance to Java EE 5. Note that conformance to Java EE 5 cannot be assured until the Java EE 5 specifications are final.

If you maintain enterprise Java applications, you can get an early start in migrating to Java EE 5. You can also get an early look at some of the new features in Java EE 5, such as the new Java Persistence API, the enhanced mapping capabilities in Java Architecture for XML Binding (JAXB) 2.0, the simplified interface for web services development in the Java API for XML Web Services (JAX-WS ) 2.0, as well as the ease-of-development improvements in Enterprise JavaBeans 3.0 technology. You can try out some of the new features in applications that you deploy to the GlassFish application server. For information on these new features as well as all the technologies in Java EE 5, see the Java EE 5 Technologies page.

Another significant way in which community members contribute is by exchanging information. Whether it's through postings on the GlassFish discussion forum, broadcasts to mailing lists, or blog entries, members of the community maintain a continuing dialog about many aspects of the project, such as personal insights about GlassFish features, project-development issues, and answers to technical questions. Additionally, The Aquarium, a group blog, collects news related to the GlassFish community from a variety of sources. These communication channels provide a free-flowing information pipeline between members of the GlassFish community, including Sun and Oracle engineers.

GlassFish also gives community members the opportunity to improve the application server code. Developers have told Sun that they want the ability to contribute fixes and new features to Sun's code. The GlassFish project gives community members the context to do just that. As a member, you can identify bugs in the GlassFish code, contribute fixes, and even add new features.

Code contributions from the community not only enhance the GlassFish application server. The Reference Implementation (RI) of Java EE 5, the Java EE 5 SDK, and Sun Java Application Server Platform Edition 9 are derived from the GlassFish code. So by building a code base to draw from, community members have a real impact on the RI that serves as the official model for vendor implementations of Java EE 5, as well as on Sun's implementation of that platform.

How to Get Involved

The next step is to download and use GlassFish. The GlassFish code is distributed under the Common Development and Distribution License (CDDL) license, approved by the Open Source Initiative (OSI). This allows the community to view, use, edit, and alter the code, as well as to distribute and use the code in production. The community makes available for download nightly builds of GlassFish as well as weekly "promoted" builds. Promoted builds go through more testing than nightly builds, but might not have the latest features or fixes that are in more recent nightly builds. You'll find more information about the GlassFish downloads on the GlassFish Downloads page.

In using GlassFish, you have access to various information resources such as specifications, BluePrints, Tech Tips, User's Guides, and FAQs. You'll find more information about these resources on the GlassFish: Use the Technology page. As a user, you can start developing applications that take advantage of Java EE 5 technology and test existing applications for conformance to Java EE 5. You can also report bugs in the application server, make feature requests, and give feedback.

If you want to develop code for GlassFish, you'll need to follow certain rules within the structured development process for the GlassFish project. These include things like coding conventions and commit procedures. You'll also need to sign and return a contributor agreement. Although this might seem a bit bureaucratic, the fact is that the GlassFish project is governed by relatively few rules and is primarily run by consensus. This consensus approach means, for instance, that project-related issues are publicized to the community and that decisions related to these issues are reached through general agreement within the community. You can find out more about developing code for GlassFish on the GlassFish project site.

Get Started Now

Here's your opportunity to learn about the newest features coming out in Java EE 5 and your chance to make an impact on the code base for the Java EE 5 SDK, Java EE 5 RI, and the next version of Sun Java Application Server Platform Edition. If you aren't already involved with GlassFish, now is a good time to start.