Wednesday, November 21, 2007

Is AGPL (Affero GPL) the Doom of Google?

This is actually a question I was asked today!

I am referring to the GNU Affero General Public License Version 3 (AGPL), which was just released Monday. AGPL extends GPL to give end-users access to the source code for AGPL licensed software accessed over a network. As the Free Software Foundation (FSF) says in their press release, "The FSF recommends that people consider using the GNU AGPL for any software which will commonly be run over a network".

Well, a very significant portion of (if not most) software developed today will be accessed over a network - so if a large group of developers follows FSF's advice, AGPL could become a very widely used license. Normally, a new license would not be easily adopted by an open source project; since it would limit which other open source code could be reused within the project. However, the special situation here is that the AGPL is compatible with the GPL because of a special provision for such compatibility in Version 3 of both the AGPL and the GPL.

Now, if we take a look at the distribution of open source licenses among open source projects, we can see how many of these projects are under GPL compatible licenses (see FSF's Licenses Page for details on compatibility). Since the majority of GPLv2 projects are re-licensable under GPLv3, we end up with 90-95% of open source projects compatible with Version 3 of the GPL - and thereby also compatible with the new AGPL. For an illustration of how licenses can be combined, see David Wheeler's The Free-Libre / Open Source Software (FLOSS) License Slide or the chart halfway down the FSF page A Quick Guide to GPLv3.

From the individual open source developers that I have talked to, most do not start an open source project with any particular "political" licensing agenda, but they commonly have a few simple goals:

1. Ability to use as much other open source software as possible
2. Get other developers to contribute, and
3. Don't let somebody "steal" the code.

Many developers think that the GPL covers these bases decently - which is why it has become a favorite for new projects among non-corporate developers. However, this could now be changing with the introduction of the AGPL, since a project under the AGPL can still include the same 90+% of open source code that a project under the GPL can include - and by using the AGPL, the developer can arguably get closer to goals 2 and 3 - especially for web enabled software applications. The author of the GPL, Eben Moglen, has already stated that in his opinion, "Google and Yahoo are morally obliged to share their GPL code", but software licensed under the GPL cannot force these companies to do so. However, with the introduction of the AGPL, open source developers now have a "tool" to force such sharing, and if the approach is adopted, we might see a serious move towards using AGPL for new projects started by non-corporate open source developers.

As we can see with the uptake on using GPLv3, any adoption takes time, and even if the AGPL becomes popular among open source developers, it could be a while before significant portions of software is only available under the AGPL, and we may not see the real effects for another couple of years. However, even a relatively limited adoption would require organizations developing web-sites to be more careful in tracking their code-bases. They need to do this in order to either avoid AGPL code or know which code they need to make available to their users.

A wide adoption of the AGPL would change a current standard practice for creating a web application, where the developers start with a few pieces of GPL software and then modify the software until it suits their needs. With AGPL software in the mix, a business decision would have to be made on whether to use AGPL software and make source code for modifications and additions available - or to avoid AGPL software and spend more time developing software which can be kept out of the hands of competitors and potential hackers.

Larger companies, e.g. Google and Yahoo, are actually among the best positioned to live in this new world. They can carefully evaluate the trade-offs on a case-by-case basis and can introduce processes to make sure that AGPL code does not sneak into places where it should not be. If we end up in a world where major new inventive software is only available under the AGPL, they might obviously face new competition, but this should be a manageable issue, and I have faith that Google and Yahoo will adapt.

What is the impact of AGPL?


No comments: