Google Code wants to become a bigger source forge

Google Code is now accepting any OSI-approved license which should swell its project ranks.

Google Code hosts more than 250,000 open source projects but until last week, only allowed projects that used a limited number of licenses. But on Friday, Google announced it would leave the license discrimination to the folks that do it best, the Open Source Initiative. It will now accept into its forge projects covered by any OSI license.

Open source licenses are abundant because a developer that creates something has the right to choose the conditions on a project when sharing it. Phil Odence explained this quite well in his "Look to the Source blog" when he documented that the Black Duck Open Source knowledgebase has documented more than 2,000 licenses. (One of my favorites is the Beer Ware License which asks that you buy the developer a beer if the opportunity comes up.)

That sounds fair, but from a user's point of view, licensing is a mess. If you want to use the code and are happy to comply with reasonable conditions, oddball licenses can make it difficult to know if you have actually achieved that compliance. And it can be even more difficult to know what the consequences are if you don't. Heck, it can be a hardship on users to understand the ramifications of using code distributed with a popular OSI license like GPLv3.

The reasons Google's Chris DiBona gave for originally limiting licenses were reasonable enough. The Project Hosting team thought there were too many of them and that it could perhaps help squash that trend by just saying no to them in its forge. OSI's mission in approving licenses was clearly not to squash them but to verify that terms matched its own definition of open source. Hence the approved list now includes several dozen licenses and Google's forge had no suffocating effect whatsoever. Oh well.

Google's reasons for changing its policy is that it was a hard line to hold. DiBona writes in his blog post:

"The longer form of the reason why is that we never really liked turning away projects that were under real, compatible licenses like the zlib or other permissive licenses, nor did we really like turning away projects under licenses that serve a truly new function, like the AGPL. We also think that there were inconsistencies in how we handled multi-licensed projects (for instance: a project that is under an Apache license, but has a zlib component.)"

The original list of licenses accepted by Google Code is hard to come by, but The H Open blog notes that as of 2008, Affero GPL (AGPL) was blocked, as was Mozilla Public Licensed projects. I'm willing to bet that Microsoft's two OSI-approved licenses were also not OK'd by Google. Not that such a thing would matter much. Microsoft's licenses are popular mostly with developers building open source projects for Windows and .Net.

However, as of today, Google Code accepts even the Microsoft Public License (Ms-PL) and the Microsoft Reciprocal License (Ms-RL) -- and I applaud Google for taking its new nondiscriminatory approach. The upshot for the enterprise is that the source forge could become a better spot, or at least a bigger one, to find open source code available to use.

Microsoft's CodePlex.com forge followed Google's initial lead and only accepts the following specific licenses. Plus, it says it doesn't support multiple licenses -- in other words, it says, pick one for goodness sake.

  • Apache License 2.0
  • Common Development and Distribution License (CDDL)
  • Eclipse Public License (EPL)
  • GNU General Public License (GPL) v2
  • GNU Library General Public License (LGPL)
  • Microsoft Public License (Ms-PL)
  • Microsoft Reciprocal License (Ms-RL)
  • Mozilla Public License 1.1 (MPL)
  • New BSD License
  • The MIT License
  • If your project requires a license that is not on the list, you can request a custom license

Odence notes that 10 licenses cover 93% of the nearly quarter of a million software projects Black Duck tracks. So the remaining 1,990 licenses cover a mere 7%.

CodePlex.com's stance on licenses is not likely to have any impact at all on the license proliferation problem. With Google bowing out gracefully, there's no end in sight for this proliferation. Guidelines galore exist for helping developers choose a license. I wish more consideration will soon be given to the other half -- the people who want to use the software and to honestly comply with its conditions.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2010 IDG Communications, Inc.

IT Salary Survey: The results are in