Apparently there's been a mighty battle going on between code hosting sites on the Internetz and now from the clouds of dust a mighty and worthy victor has emerged wielding a sword and proclaiming victory ... Or it least this is the new meme I've observed. News to me. So now I need to understand what this holy war is even about ...
(Let me first say that I'm pretty much a git/github fanboy at this point. (Although git can be damn stink to learn.) But I don't buy into this notion that github is supreme and all other sites are crap ... or more importantly that development communities should be monolithic in what they use to revision teh codez.)
Oh I do want to know what mysterious code hosting war has just been fought and apparently concluded with a victor ...
Who was even on the battlefield fighting for their dominance of the Internetz--I'm guessing mostly github, launchpad and bitbucket. So.... Github Wins what? If we mean popularity contest, I agree. If by supreme awesomeness and superiority in implementation, I'm undecided right now. Github is very nice and generally I advocate it because it is the most popular (out of similar sites) no doubt, so it's a good way to attract developers, and I'm much more keen on git's branching model (vs. hg and bzr). In general, though, I'm a polyglot when it comes to revisioning tools and use bzr, hg, git and svn through the week depending on what project I'm hacking on. I like being able to use and learn concepts behind all of git, hg, and bzr, but I'm not so much a fan of legacy options like svn which just make experimentation with code and preserving (and possibly merging) revision history from those experiments a complete pain in the ass ... sorry Subversion stalwarts, you're advocating a "misguided rewrite of CVS" to paraphrase.
Concerning the code hosting sites, let me say some ill words about them all. Because they each have a few grams of suck in them and even to some extent deserve the sophomoric insults and rewordings like shithub, shitbucket or launchcrap. So let me unload some hate towards each in fairness.
Github (aka Shithub)
I think GitHub needs some improvements towards receiving the Awesome Supremacy award from the Drew Smathers Buckshot Society of Fringe Opinions on Software Awesomeness:
- Urls like http://foo/theuser/theproject are an insult to what open source means. Be project-centric like Launchpad: "theuser" doesn't belong in the url. (The ship has already sailed ... alas)
- Work on git core to integrate easily with github itself (again: where's my "git clone github:someproject" a la "bzr branch lp:someproject" - again being "project-centric" makes this easier)
- Build tools more auxiliary tasks integrated with the main UI (again like launchpad does) to attract contribution from non-developers: translations, project roadmaps, etc. (Right now all the CTAs are basically: "code, code, code, code, more code"). Some people on the internet think this is all a code hosting site should be. Others extoll the benefits of a rock solid issue tracker which is a useful technology that really stems beyond just software development.
Bitbucket (aka Shitbucket)
Bitbucket too needs a little slap around before getting a Supreme Awesomeness award:
- Your ticket tracker is total dirt. Launchpad open sourced their's so maybe there's some low-hanging fruit to integrate and reskin.
- Just keep copying github like you did from the start: bitbucket pages, edit commits and contribute in. the. brower., something like gist.github, also. Don't worry, you and Github are both run by a bunch of hipsters, so a patent war is impossible ... right? (I'm watching you hipsters, keep it classy)
- Ditto on Github critique (1) - your urls should have been project-centric.
Launchpad (aka Launchcrap)
The most common complaint against launchpad has perhaps been against its somewhat confusing UI.
- UX, UX, UX, UX. Seriously. I've got this dude who can make a big a big ass button that says CODE and people will know that's how to get to the codez. On the cheap too. For a little extra he can reskin loggerhead to make it look like the same site ... and maybe even pull it inline that with the core navigation.
- Also, just copy a lot of what github does except the obviously inferior parts (ticket tracker, etc.). So some good things to emulate: "launchpad pages", comments on commits, etc. Canonical is part enlightened capitalist, part hipster, so again I think we can dodge any patent bullets.
After the war ...
Alas, finally, if there really was a war going on, I'm hoping for some lingering skirmishes that will ensure one thing: If there is an end-all, let it be to code hosting sites and not revisioning tools. My DVCS Polyglot Party is amassing weapons and fortifying our bunkers on the fringe of this vast battlefield to fight towards this end. Let there be a <any old dvcs>.com to succeed github.com where people will share code, hack on code, merge code using any reasonable tool they prefer (darcs, bzr, hg, git, ...) all seamlessly, and with not a thought needed as to what's happening behind the scenes on this RCS-agnostic server. Such a sucessor would indeed be a far worthier victor in this war.

