Java News from Friday, November 23, 2007

The Free Software Foundation has released version 3 of the GNU Affero General Public License (AGPLv3). This differs from the normal GPL in that web applications based on AGPL software must release their source code as well. The key addition is the following:

13. Remote Network Interaction; Use with the GNU General Public License.

Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph.

Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License.

This closes a hole in the regular GPL that no one recognized or thought of when the GPL was invented. It was never anticipated that a useful program could have its functionality distributed to the public without distributing the program itself. However that's exactly what many web applications do. Of course, you're still free to use the regular GPL for your software if you prefer. Most GPL software will likely remain GPL for the indefinite future.