History
Long time ago there was this website called SourceForge that hosted the majority of opensource projects. It would offer a unix shell account, hosting and CVS (and later on, SVN) repos and CDN powered downloads. Today a lot of Unix and Windows utilities live there.
Google got big and in 2006 they launched their own OpenSource Hosting with a SVN repository, wiki, issue tracking and downloads. Plain simple, à lá Google.
Then a couple of ruby hackers started a side-project called Github that offered repository hosting for projects that used the Git Version Control System. But it wasn’t a regular hosting like SourceForge, GoogleProjects, or even BitBucket or Launchpad [1], it uses the Web2.0 success model:
Simple to use
If you have used Github, you have seen that the web interface is really simple. Basecamp-like simple. The only thing that is limiting this factor it git itself that is not as straightforward to use as SVN or even Mercurial. But they even did some tutorials and provide some help about git itself, which works pretty well and is making some great opensource projects migrate to their service.
Social network
This is a small difference to the regular services. In Github you can follow2 developers, or simply some project. It has an activity stream (think facebook) where you can be up to date with commits, forks, pushes related to the projects you care.
Freemium
It is free for opensource projects, but they run a business. If you want your company to use their features for your projects, you can buy one of their plans. I find they a bit expensive, specially the lower ones for small teams, but it’s not by chance that they won the Best Bootstrapped Startup Crunchie.
Github Rocks!
I love the decentralization of git and now more than ever I love the offline commits. So bad I migrated everything I had in SVN and I am hosting everything as a git repository in my external hard-drive, VPS and the important ones in Github.
I have tried to use simple git repositories in my VPS and even using Redmine to browse but the experience sucks comparing to Github where you can see the various branches, commits and even get some stats.
There are some nifty features like being able to host your webpage as a github repo, or the per-project wiki that’s very useful for storing the documentation of your opensource project. There is a small different against google’s project wiki: it isn’t available in the repository, which I find weird for these guys that even have snippets in repositories. You can also edit a file and commit right there in the browser, which I use sometimes for quick fixes in my website. But my favorite feature is the commit comments which Gaspar use for code reviewing.
What I most miss is an issue tracker. Google has this, and while Github doesn’t include one, it allows you to integrate with 3rd party services like lighthouseapp. Be there is always hope.
The Catch
As I said before, I love the fact that Github works with the opensource community. They even blog about cool projects they host. There is a general concern about a commercial company hosting most of the opensource projects around (being Google, Github, any of them). I agree that would be safer to have non-profit entities, like the FSF and a non-freetard one, to do this service. However I find the advantages of having an innovative company working on this service enough to have the risk of having most of the opensource projects in the future.
1 The later two are a step ahead of the former and more close to Github.
2 Or stalk…