Nearly five months after the release of the third version of the GNU General Public License (GPL), the Free Software Foundation (FSF) has completed the updating of its key licenses by the release of the GNU Affero General Public License (GAGPL). The GAGPL is designed for use with software distributed over a network, such as a Web application or software as a service.
The GAGPL takes its name from an earlier license developed by Affero, a company whose founders included FSF director Henri Pool to provide a means for people to donate to causes over the Web.
In 2002, with the help of the FSF, the company developed the Affero General Public License (AGPL) to cover modifications of its software. Affero felt this move was necessary because the second version of the GPL (GPLv2), which was then the most current one, did not include any language about distributing software as a system. The license is largely a repetition of the GPLv2, except for section 2d, which requires that redistributors of the code must either preserve any existing function to transmit source code or else offer "an equivalent opportunity" that allows "immediate transmission by HTTP of the complete source code."
The reasons for the license
According to Brett Smith, the FSF compliance engineer, the difficulty with the AGPL was that, because GPLv2 -- unlike the current version -- contained no provisions for adding exceptions or additional permissions, it was incompatible with the AGPL.
Faced with the growing importance of network-distributed software, the FSF determined that the revision of the GPL would be accompanied by what Smith calls the "spiritual successor" to the AGPL -- a license that addressed the same issues, but was compatible with the new version of the GPL.
Although a number of free licenses for network-distributed software have been developed in the past, Brett described them as typically "weak copyleft licenses" because they made proprietary works relatively easy to create. By contrast, the FSF wanted a stronger license that would ensure that, as with the GPL, all modified works would remain free.
A main motivation for this move was the FSF's hopes to encourage the development of strong free software communities around networked-distributed software. "Part of the reason that the GPL has been so successful," Smith says, "is that it cultivates communities because it is a strong copyleft license. Because everybody has to play by the same rules, everybody feels encouraged to participate in the community. So we're hoping the GAGPL starts cultivating communities, too."
Although Smith did not say so, presumably a major motivation was the hope that, if a strong free license were available at this relatively early stage in the development of network-distributed software, then free software would become a major player in the field as it grows.
Early in the revision of the GPL, the FSF rejected the idea of trying to use the new provisions for non-standard exceptions and permissions to make the GAGPL a special case of the GPL, as the Lesser GNU General Public License (LGPL) has become in the third version. Instead, the GAGPL was made a separate license on the grounds that it covers specific circumstances and, Brett says, "to reduce confusion."
Unique features of the license
Despite this distinction, the text of GAGPL follows the latest version of the GPL closely. Aside from the appropriate changes to the name of the license, the main differences in the two licenses occur in the Preamble and Section 13.
The Preamble to GAGPL begins by explaining that the license is "specifically designed to ensure cooperation with the community in the case of network server" software and explains that the license "requires the operator of a network server to provide the source code of the modified version running there to the users of that server." The Preamble ends by emphasizing that GAGPL is not a version of the AGPL, although "Affero has released a new version of the Affero GPL which permits relicensing under this license."
The other major difference from the GPL occurs in Section 13. In the GPL, Section 13 specifically states that GPL-licensed works may be combined with works licensed under the latest version of GAGPL. However, although the GPL "will continue to apply to the part which is the covered work," the special requirements of GAGPL's Section 13 will apply to the combined work as a whole.
These special requirements require that distributors of modified code must "prominently offer" the source code to "all users interacting with it remotely through a computer network" at no charge, including any work released under the GPL. A second paragraph in the Section then echoes the requirements in the GPL's own Section 13.
With the release of GAGPL, the FSF has completed the updating of its preferred licenses. Although modifications to the GNU Free Documentation License are still being discussed, according to Smith, the differences between software and written material make it extremely unlikely that the GPL, LGPL, or GAGPL will be affected by these discussions.
However, Smith stresses that GAGPL is not necessarily the FSF's final response to the issue of network-distributed software. "This is obviously a very rapidly moving field, and internally the free software community still hasn't figured out exactly how to respond. Licensing, while an important part the issue, is only part of it." As the field grows, Smith expects that the issues surrounding it will also evolve, as will the best practices for free software in the field.
"GAGPL is not going to solve all the problems," Smith says. "And we know that. But this is a good option for people who are concerned about this issue, and we think it will do a lot to help them."