Every now and then I get asked: “Google Code supports different version control systems. SourceForge features unlimited storage. Why do you use GitHub?”
Source Control: Why Github?
Well, first of all I’d like to minimize the amount of accounts, profiles and passwords I have to maintain, for obvious reasons. Both Google Code and Sourceforge allow open-source projects, only. Although I love the spirit of open-source, I’m forced to work on private workspaces from time to time, for example when I’ve licensed a plugin whose source code must not be released. While Github embraces the idea of open-source software, it provides the option of adding private repositories if required.
Assembla has private repos, too, but its pricing scales very bad in my opinion: $9/month is a helluva lot for three users and one project. Github currently gives you unlimited users on five projects for $7.
Additionally, Github allows you to share code snippets using a service called Gist:
Gist is a simple way to share snippets and pastes with others. All gists are git repositories, so they are automatically versioned, forkable and usable as a git repository.
Gist is a great way of storing or even sharing code that just pops into your mind and for which you either don’t have the time for implementation or don’t have access to the actual project source to integrate into right now.
However, everyone who’s been using Git before knows that this source control system has its issues with large binary files. With Github, you may add these files to the Downloads section of your project, adding a short description. But what if you want to publish a setup executable of a project that resides in one of your private repositories? Or if the critical file is deeply tied into the project itself, just like an asset bundle of your awesome 3D game?
I’ve found that people have severe problems forking Hostile Worlds, which just might be due to the size of the repository. That’s why I was forced to fall back to an additional cheap cloud storage solution.
Cloud Storage: Why SkyDrive?
Don’t get me wrong: Dropbox is great. Dropbox is awesome for quickly sharing files among devices and friends, and it has a huge spread. However, Dropbox starts at 2 GB of memory, and I got tired of all of this referral and another-fancy-way-of-unlocking-additional-dropbox-space stuff very soon.
Microsoft SkyDrive starts at 7 GB and can be upgraded by an additional 20 GB for $8/year, instead of 100 GB for $99 for Dropbox Pro. Thus, as I got a Windows Live account for my Windows Phone anyway, I’ll stick to SkyDrive – if you’re an Android user, you might wanna check out Google Drive which starts at 5 GB.
I’m pretty happy with Github which allows me store my source code in public and private repos alike, and scales well doing so. As Windows Phone user, I’m going to stick to SkyDrive for storing large files and packages, but I’m afraid that I’ll never get rid of Dropbox for sharing files with friends and co-workers.