Google Code is Google‘s site for developer tools, APIs and technical resources. The site also features a variety of developer products and tools built specifically for developers. In this post I will talk about Project Hosting service, that provides version control for open source code. The service is available and free for all Open Source projects that are licensed under one of nine licenses (Apache, Artistic, BSD, GPLv2, GPLv3, LGPL, MIT, MPL and EPL). They only offered a very limited subset of the approved OSI licenses choices to their users as a stand against the proliferation of free software licenses.
However, since September 2010, the site allows to host a project based on a different license (“Other Open Source License”). If you choose that, a note is shown recommending to use one of the nine licenses above: “All projects hosted on code.google.com must be open source. Licenses must be one of the ones listed above, or another OSI-approved license. We strongly encourage you to use one of the licenses listed in the drop-down menu to avoid license proliferation. License proliferation makes life harder for your potential contributors, users, and everyone in the open source community.”
If we look at the Google Open Source Blog, several posts labelled with “license” tag give us interesting information about this evolution, the initial set of allowed licenses, and how it has been changed (or not) in these last years.
In May, 2008, we can find the “Standing Against License Proliferation” article by Greg Stein, from the Google Open Source Team, explaining that they were going to remove MPL license from their list so it would be unavailable for the new hosted projects. This decision is based again on they policy against license proliferation, and also their own statistics showing that MPL license was used only by the 2,7% of their near 100.000 projects hosted. (However, it means near 2.700 open source projects using MPL license!).
They recommended to use GPL for copyleft-type licensed projects and Apache v2.0 for permisssive-type licensed projects.
Three months later, they allowed MPL license again, and also Eclipse License (EPL). The Eclipse Foundation (of which Google is a member) and its community of developers asked for including the EPL as an option for new projects since the beginning of the hosting service provided by Google. Google resisted, but after 2 years of operation they felt that Eclipse is an important, lively and healthy project with an enormous plug in and developer community that uses an otherwise duplicative license.
Also they readmitted MPL license because their reason to remove it was based on its low usage outside the Mozilla projects, but Mozilla community is quite important in free software world, and they also realised that they were accepting the Artistic/GPLv2 combination which sees little substantive use outside of Perl, so the situation was a little bit absurd.
In September 2010 they introduced the option “Other Open-Source License” in a way to add some flexibility. Chris DiBona, from the Project Hosting Team, explained “that they never really liked turning away projects that were under real, compatible licenses” like the zlib or other permissive licenses, or “serving a truly new function, like the AGPL”. With this option they hope to handle multi-licensed projects (for instance: a oject that is under an Apache license, but has a zlib component).
This change can be a step backwards on fighting against license proliferation problem; but also I am sure that Google will be very glad on hosting much more projects than now, and become maybe the biggest source forge for free software in the world.