The GlassFish community implements an open source Java EE 5 application server. GlassFish is a robust, commercial, production quality, compatible application server that is free for development, deployment, and redistribution. Here is a list of reasons why to use GlassFish.
Java EE 5 is a huge improvement over earlier J2EE versions (J1
GlassFish is used by other groups like in JEUS
6 Preview from TMaxSoft.
GlassFish is committed to your favorite framework and application.
GlassFish has migration tool support
GlassFish is at the forefront of JPA
GlassFish's Grizzly delivers
top Web Tier performance and flexibility.
GlassFish has platform and tool SOA
including JBI and BPEL.
GlassFish is used directly for the official
Reference Implementation of Java EE 5.
GlassFish is the code base for the Sun Java System
GlassFish will incorporate the enterprise features available
today in SJS
Many components are in the Maven
Repository; and more soon.
GlassFish is the name for the open source development project for building a Java EE 5 application server. It is based on the source code for Sun Java System Application Server PE 9 donated by Sun Microsystems and TopLink persistence code donated by Oracle. This project provides a structured process for developing a high quality application server that makes new features available faster than ever before. It is the response to Java developers who want access to the source code and the ability to contribute to the development of Sun's next generation application server which is based on GlassFish. This project is designed to encourage communication between Sun and Oracle engineers and the community and will enable all developers to participate in the application server development process.
Nightly builds and the source code for the application server are available on http://glassfish.dev.java.net. As with other community development sites, you will also find email lists, discussion forums, news, feedback, licensing information, and extensive help resources.
The GlassFish development community is just getting started so it is small but rapidly growing. There are over 100 contributors already signed up. The number of Sun and Oracle engineers working on this product is comparable in size to other application server developer communities today. With the release of project GlassFish to the community, we expect to greatly increase the number of developers working on the code.
Yes, developers have free access to the source code under the terms of the Common Development and Distribution License (CDDL) v1.0 and are free to change it as they see fit. To be able to claim Java Compatibility, developers of commercial distributions will need to sign the Java Developer License (JDL) and verify the code passes the compatibility test suite (CTS) before they can redistribute it. Anyone can sign a contribution agreement and work on the code to contribute changes, bug fixes, and features.
Updated builds for GlassFish will be posted every night to
glassfish.dev.java.net. These code pushes have gone through very basic
testing to ensure they will build and execute but have not been tested
as thoroughly as our production releases. Additionally, you have read
access to the same CVS tree that the developers do - so you always see
the latest versions of the code there. Occasionally, typically weekly
or so, we will push a "promoted" build which has been more thoroughly
tested and will contain many more documented features than the regular
nightly builds. A supported Beta and FCS version of the Sun Java
System Application Server 9.0 which is built on GlassFish.
GlassFish will implement the latest version
of the Java EE platform, Java EE 5, and the two should become final at
the same time. At that time Sun will also release a final,
supported and compatible Sun Java System Application Server PE 9.0
In June of 2005, Sun published project GlassFish by making the web site available to the public. Developers can access source code, nightly builds, discussion groups, and mailing lists. This is the first time developers were able to see and participate in the Application Server development process. Over the next 6 months, Sun will gradually roll out more information and more details about the code. Initially, access will be provided to the web-tier followed by other modules as GlassFish is developed.
Project GlassFish opens up Java EE to a larger audience that will ultimately be the customers of the Java EE licensees. GlassFish does not change any of the license terms for licensees. Under their license terms, licensees can still sell or distribute code and use the Java Compatibility brand for products which have passed the TCK. Under the license terms of the CDDL, which is granted to developers, they can use, edit, and alter the code, and distribute it or use it in production. However they do not have a license to use the CTS nor can they use the Java Compatibility brand.
Anyone can download and use the GlassFish server under either the CDDL or GPLv2 + the Classpath exception software license. Where the licenses have effect is if you decide to distribute or modify the code. At the time you decide to distribute or modify the code, you have to choose a license. Once you make changes or distribute the code under your chosen license, all derivative works must be licensed in accordance with the terms of the license you choose.
GlassFish server is dual licensed to support a more versatile free software business model. The GPLv2 license will provide an additional option to vendors who are unable to work with GlassFish under the CDDL license. It will also make GlassFish more Linux friendly. Additionally, this licensing model keeps Sun Microsystems' product portfolios and bundles consistent: NetBeans is dual-licensed under CDDL and GPL v2 + the Classpath exception.
The majority of the GlassFish server code
is available under the dual
licensing scheme and a few components are available under CDDL,
Apache or Mozilla Public License. See details about GlassFish
components and the licenses under which they are covered.
Dual licensing is the practice of
distributing identical software under two (or more) different sets of
terms and conditions. When software is dual licensed, the recipient can
choose under which terms he/she wants to obtain the software.
Generally, the two motivations for dual licensing are business models
and license compatibility.
For GlassFish server, we are distributing the code under two licenses, CDDL and GPL v2 + the Classpath exception to achieve license compatibility. This dual license allows for more flexibility when combining code licensed from various free software projects with GlassFish software. It allows users to choose the license they're most comfortable with. As a matter of policy, Sun never takes rights away. As a result, Sun has added GPL v2 + the Classpath exception as the option so that GlassFish will continue to be available under the CDDL license.
Yes. Current SCSL licensees can choose to use the CDDL, but they must click through the new license, and use the CDDL notification in their work.
You can find details about the CDDL here.
Q: Will there be compatibility tests for the Java EE 5 platform?
Yes. The Java EE 5 Compatibility Test Suite (CTS) will be available for the Java EE 5 platform. The current J2EE CTS contains over 5,000 tests for J2EE 1.4 and will contain more for Java EE 5 and beyond. This suite tests compatibility by performing specific application functions and checking results. For example, to test the JDBC call to insert a row in a database, an EJB component makes a call to insert a row and then a call is made to check that the row was inserted. In addition to the tests themselves, passing the full suite requires adhering to a specific set of rules. These rules are just as important, and in many cases more important, than the content of the tests themselves.
A Java EE licensee has signed a commercial distribution license for Java EE. That means the licensee has access to the compatibility tests and has made a commitment to maintain compatibility. It does not mean the licensee's products are necessarily compatible. Look for the Java EE brand which signifies that the specific branded product has passed the Compatibility Test Suite (CTS) and is compatible.