A Bear's Face on Mars Blake Lively's New Role Recognizing a Stroke Data Privacy Day Easy Chocolate Cake Recipe Peacock Discount Dead Space Remake Mental Health Exercises
Want CNET to notify you of price drops and the latest stories?
No, thank you

Google's festering problem with the AGPL

Google gets a free ride when it comes to open source. The AGPL would change this, which makes Google's rejection of AGPL-licensed code from its Google Code site so infuriating.

Google apparently likes open source that lets it "borrow" open-source software while giving comparatively little back, and always on Google's terms. While I think Google has been doing better of late vis-a-vis open source,its policy of blocking projects from its Google Code forge that are licensed under the AGPL is wrong and a betrayal of the open-source principles it claims to respect and approve.

As Google's Chris DiBona says,

In fact we do not support the AGPL on code.google.com....It is also not okay to host an AGPL covered program on code.google.com by saying it is GPL, as you are telling the users of the site one thing, while meaning something else altogether. So sadly, the answer is to remove your project and host somewhere else like sf or savannah.

Well, no, Chris, AGPL is not "meaning something else altogether." It actually means precisely what the GPL was always intended to mean: Reciprocity. It is likely true that Google doesn't like that reciprocity requirement, but that's "something else altogether."

What is the AGPL? It's the Affero General Public License, and finishes the job that GPLv3 was supposed to do: Broaden the definition of "distribution" enough to keep Web freeriders like Google, Digg, etc. from using open-source code without contributing back.

The problem with the reciprocity clause common to all open-source licenses is that they were written with a pre-web application world in mind. We've moved on, with an increasing percentage of new applications being written to run over the Web, rather than being locally installed. As such, more and more applications aren't subject to open-source license requirements at all.

The AGPL fixes this.

All of which makes it fascinating that Google is restricting AGPL-licensed projects from being hosted on its Google Code site. Google gives a few reasons for this, but none really sound convincing. I'm with Fabrizio on this one: Google most likely isn't allowing AGPL-licensed projects on Google Code because it's not in Google's interest to have to work on a level-playing field with open source.

Or, rather, that Google doesn't believe this. If this is Google's belief, I disagree. I think it would find that it and everyone else in the industry would benefit by having Google, Yahoo!, etc. actively contributing back to the projects from which they derive benefit. I am willing to bet that the "secret sauce" that Google is adding to MySQL, Linux, etc. is not hugely different from what Yahoo! is adding.

It's very similar to the "offline" open-source world where Credit Suisse, Morgan Stanley, and others are almost certainly all "innovating" in parallel on the same open-source projects...which innovations are likely more similar than they are different. Were these companies simply to share the majority of what they're developing, everyone would benefit from being able to innovate further beyond the core, similar foundational code.

Google, Yahoo!, and their ilk may prefer to think of themselves as different, but they're not. They're just the enterprises of tomorrow, and bringing open-source licensing "up to code" (pun intended) to match the way they distribute is a net positive for them and for the industry.

In the meantime, some projects (like Clipperz) will leave Google Code. Google likely won't care. Not until other projects on its forge stand up for open source and leave, AGPL or not. Google may not like open source on its own terms, but open-source projects should recognize its asymmetric relationship with them and leave Google Code.