Google Code hosting has announced that it has deprecated the ability to download files from projects and suggested that projects migrate their downloads to Google Drive. Is this Google playing marketing, politics or just a reasonable act?
The trouble is that Google has become tarnished and the impulse is to jump to the conclusion that it is up to no good again. In this case the situation is complex and not quite what many news sources have been reporting.
Google issued a statement that it would be phasing out the ability to download files from Google Code hosted open source projects:
"Downloads were implemented by Project Hosting on Google Code to enable open source projects to make their files available for public download. Unfortunately, downloads have become a source of abuse with a significant increase in incidents recently. Due to this increasing misuse of the service and a desire to keep our community safe and secure, we are deprecating downloads."
Unfortunately the key issue - what the nature of the abuse is - isn't explained. However, Google isn't the first project hosting site to drop downloads. At the start of the year Github disabled the ability to download files, citing not abuse but "confusion". It was suggested that hosting files outside of the repository were confusing and to keep the focus on software development downloads would go.
At the moment the only well known open source project hosting site that allows downloads is SourceForge - and it is making a play to get projects to move from Google Code, just as they did when Github banned downloads. It is interesting that SourceForge doesn't see downloads as either confusing or a source of abuse.
The deprecation starts immediately for new projects. Existing projects with links to uploaded files will work for the foreseeable future, although if the file is the latest binary of a project this isn't going to be a very long future and such files will slowly become useless as they are superseded by new versions. Also the /downloads tab will vanish in 90 days as will the Downloads API.
What this means is that existing projects have some time to make other arrangements.
You might be thinking that if you can't download a file what use is the hosting? Google, just like Github before it, isn't stopping users from downloading the source code in the repository. You can still browse the source code on-line and you can download or create a clone of the project's source. This means that the project can continue to develop as a shared repository with no changes. The ability to download files really only inconveniences the end user looking for a binary package to download and install. If you are happy to get a local copy of the repository and build the binary yourself then no problem - but most open source projects would like to attract some non-programming end users and for this they need to support binaries that are outside of the repository.
So what is the alternative now Google Code no longer supports download?
SourceForge is, of course, shouting the message "move to SourceForge" and host everything you need in one place.
Google's suggestion is an odd one. It has a help file that explains how to use Google Drive to share files. This isn't an unreasonable suggestion, although how this is any less open to abuse is a good question. What it fails to mention, however, is the small difficulty of identity. If you have a small open source project, MyProj say, then it suggests you should open a new Google Drive account. The problem is that this is really a Google account and you can't open this in the name of the project. In other words, you have to supply the name, email, address, phone number etc of a real person, not of the project. So MyProj will be hosted on Google Drive under a name like Mr Foo Bar who will have to share his Drive allocation with the project. Not really a good solution, is it?
GitHub suggested that open source users might like to consider Amazon S3 or SourceForge to distribute binaries - so it wasn't of much help either.
If the problem really is abuse then it would have been better to tackle the abuse rather than shut the service. Some are speculating that the real motivation is to get users to move over to Google Drive - but even if there are the estimated 300,000 projects on Google Code this doesn't seem like a good explanation. Also if Google Drive is the answer why not integrate it properly so that the change was seamless - does it really matter if the download is hosted on Code or Drive?
As with so many Google closures and shutdowns, we are just left wondering what the motivation was. The conspiracy theorists are already saying that perhaps it is a first step to get people to leave town and move to SourceForge so that Google Code can be spring-cleaned with a smaller protest.