This is probably old news to most, but I've discovered recently that github has won.

I've used and enjoyed mercurial for at least 2 years now, and although I started out 6 years ago hosting all of my own repositories, tracs, etc, two things have happened that made hosted solutions better.

First, the rise of distributed version control systems, helped in two key ways. The first is that it makes every clone of the repository a full backup of all of the code and history. This means that if something better comes along, or if your service implodes, you probably have (multiple) backups of your repositories. This is what happened when _why decided to kill his online persona.

The second way that the distributed nature of newer version control systems makes a hosted solution better is the social aspect of having your code at a popular provider. When I'm looking for software that does a certain thing, and I don't find it on pypi, I head over to github and search there. And that's the last reason that hosted services have won: exposure. Until I wrote johnny, I doubt anyone ever used any of the software I wrote, let alone contributed to it.

Being an avid bitbucket user and an hg fan, why then has github won?

Last night, I went to start a new project under my bitbucket account. I go to create it, and:

My first reaction was, mostly due to my dislike for their entire product portfolio, "Interesting how there's no mention of atlassian on the logo of the 500 page." But that's a cheap dig at a service that has really served me well. A single service hiccup, naturally doesn't mean that a competitor has won. It, on its own, wouldn't even make me think about leaving. It's not even a particularly convincing piece of evidence.

It just seemed completely obvious at that point; the inescapable truth is that github has won. More users means more followers, more visibility. It has a more appealing interface, a more solid service, more people working on it doing impressive things. git's won, too, in part because of github (there's still precious little to separate git and hg until you go way, way down), in part because of its Torvalds heritage, and in part because if anything else is better, it's not better by nearly enough to reverse the momentum it has picked up. It's a cycle of triumph (as opposed to failure) that all social services that "win" achieve.

I'm in no hurry to go porting all of my projects to github (not to say that I won't, but I'm still quite comfortable with mercurial), but just as distributed vcs' had won over svn a few years ago, it's become apparent that git has won among dvcs today.

Oct 29 2010