The Reasons to Avoid Google Code
Initially published on 2008-12-12.
Google Code is a web service which offers to provide project site hosting for Free Software projects. But if you care about your own and your fellow developers and users' privacy and freedom, there are reasons to avoid using it.
The Reasons
1. The Log-in Requirement
Like most other Google's services, Google Code requires you to be logged-in to your Google Account to use it. But when you log in, you become logged-in at the Google search engine too. It is not possible to log out from Google search and stay logged-in at Google Code (or any other Google service). Therefore, Google Code encourages you to do all your searches while being logged-in, so that all of your search queries can be tied to your real name and E-Mail address.
2. The Lack of Freedom
The source code for Google Code's server side script, like with other Google's services, is not available to public in any form. In effect, the inner workings of your project's management web interface are proprietary and held in secret even from you. But what's worse, by hosting your stuff there you're not just becoming dependent on that non-free application yourself, you are encouraging other people to do the same.
Moreover, since all your project's data is stored in someone else's proprietary application, with no clear ways to mass-export and then re-import at another hosting provider's facilities, you are becoming locked-in to Google Code, which means you have no easy way to migrate away from it, if or when you decide to do so.
3. The License Favoritism
Google Code only accepts projects under very few selected licenses, and it absolutely does not allow the GNU AGPL. Some speculate that the reason for this is Google's fear that the AGPL, which concentrates on ensuring the continuing availability of web apps' source code, will become popular and start to threaten Google's business model of integrating free and open source code into their proprietary closed-source web service offerings.
Update: The license list was expanded with more licenses (including AGPL) on 2010-09-10.
4. The Forbidden Countries
Free Software does not know or care about politics, countries, borders and other archaics of the offline world. All the free licenses are written in a way which ensures that no person is discriminated or prevented from using, studying and sharing a program just because of one's occupation, residence or political position. Hovewer, by the sole discretion of Google, more than 70 million people of the world will not be able to download your software, help improving it, and even access your project's website at all. Those are the people living in Iran, and probably some other countries.
5. The Lifetime Limit
I find the choice of words – a “lifetime limit” – hilarious in a strange way. It raises the questions like, “what is the average lifetime of a developer”, or “do I get more projects in the next lifetime” (for Hinduists, etc). Anyway, while most developers probably won't need to create more than 10 projects, it's something to keep in mind, at least because the projects you create and then delete still do decrease your limit.
The Alternatives
1. Use Something Else
Not surprisingly, this is the alternative that comes to mind first. :)
What other free software project hosting services are there? One such service is the FSF-run Savannah, available in GNU and non-GNU flavours, both of which are based on the GPL'ed software called Savane. Another one is Debian's Alioth, which uses GForge. There are many others. When choosing, pay attention to whether the source code for the service itself is available or not, are there simple ways of project migration to and from the service, and which restrictions does it place on project's licensing.
2. Run Your Own
It might be argued, that the only way to break dependence from a web service provider, is to run your project off your own server, installing and configuring HTTP, SQL, VCS and all the related services yourself. If that is an option for you, this is the approach which will give you the most freedom.
But if having your own server is not an option, you can make a compromise, purchasing for example a shared web hosting account or a virtual private server and installing a copy of GForge or a similar app on it. The key difference here, is the complete absenсe of lock-in, because what you purchase is absolutely generic and can be switched in and out at will. For example, if your website script is based on PHP and MySQL, you can very easily migrate to any hosting provider which offers PHP and MySQL, or even move it to your own local server. Not so when all your data is locked inside someone else's proprietary web service.
Update 2011-03: I discovered that since some time ago, there exists a Free Software clone of the Google Code server-side software: see Indefero.