Is Google Oppressing the AGPL?

by Ostatic Staff - Apr. 01, 2008

Some people are suspicious about the growing power of Google - and some are downright upset. In the latter category we have bloggers Fabrizio Capobianco and Russell Beattie. They claim that Google is deliberately trying to slow the adoption of the Affero General Public License (AGPL) through not making it a choice for open source projects hosted by the Google Code public repository. Google in turn says they're just trying to combat license proliferation. Who's right in this he-said she-said argument?

The place to start is with the "ASP loophole" in popular open source licenses, including the GPLv2. Under the GPL, of course, if you distribute software you must distribute the source. But what if you're an application service provider - someone who provides a service over the web using open source software? In that case, you're not distributing the software, and you don't have to redistribute the source code or the modifications you've made to it. This has upset some open source advocates, who see large corporations (including Google) using software developed by the open source community without giving back anything in return.

The AGPL attempts to correct this situation by introducing one new clause to the GPLv2. Under the AGPL, if you use open source software to run an ASP, you have to make the source available via HTTP to anyone who asks. Software licensed this way keeps its "open sourceness" whether used locally or on a network.

The AGPL isn't yet a terribly widespread license, though it is used by a few high-profile projects. Its advocates would like to see it as one of the approved licenses for projects hosted by Google Code, both because they say they need its features, and because they think it's a good idea.

Now for the other side of the argument: Google originally only allowed 7 licenses for projects hosted on Google Code (they have since added an 8th, the new GPLv3). The Google folks are worried about the problems caused by having dozens of open source licenses: if you're putting together components from multiple projects using different licenses, it's very difficult to be sure of your ultimate legal rights, or whether you can even assemble the software they way you want. So, ever since Google Code was launched, they have drawn a hard line and refused to add additional licenses without OSI approval and evidence of popular support. Some projects have attempted to work around this by publicly choosing one license and including a different license in the project, but that makes the legal rights unclear and subjects you to being tossed off the service.

So, there's the gist of the argument: is Google refusing the AGPL because it could hurt their core business, or because they want to keep license proliferation down? Given that they've not added some other widespread licenses to their list (such as the Eclipse Public License), I tend to side with Google in this spat. If the AGPL becomes generally used by projects hosted elsewhere (such as SourceForge and RubyForge), we'll have a chance to find out the truth of the matter.

Do you think Google is oppressing the AGPL?