On Fri, Jul 1, 2011 at 2:14 PM, Itamar Turner-Trauring <itamar@itamarst.org> wrote:
On Fri, 2011-07-01 at 12:29 +0200, Laurens Van Houtven wrote:

> Unless someone is going to go all "NO GITHUB IS TERRIBLE AND YOU ARE A
> BAD PERSON FOR EVEN SUGGESTING IT" on me, maybe we can talk about
> planning the transition? :)

Unless I'm mistaken, Github is a proprietary system, which means I'm
unhappy about hosting our project there. At the minimum I'd want a very
good story about how we can get all our data out if we need to.

Github has a much nicer API for pulling out all of your data than, say, Trac does. I know this because I'm drafting out sketches for getting something to port Trac's wikis and tickets to the other's... 
...then I'd probably be against it. What's more, we can switch to
git/bzr/hg without switching to a hosted system (e.g. trac with
GitPlugin, and redmine has builtin integration for all of those.). Why
does git imply github?

git implies github because nobody, not even me, thinks git is worth using when you don't have github super powers to back it up. The point here isn't switching to git, it's switching to github. They've worked very hard to make contribution really easy to do, and I'd say they've succeeded.

trac's git-plugin is not something I would work on transitioning, because part of the point is to get rid of Trac. Redmine *is* a much better system than trac (both in terms of maintenance and UX), but has other issues. For example, last time I tried the Bzr plugin for it it was pretty unusable. (Only supports a single branch? *Really*?).

Redmine+git might be on the table but a) nobody really likes git that much b) we wouldn't get something as sexy as pull requests/merge proposals like we would on LP or Github. AFAICT there are no code review tools for Redmine that are quite as good. There are two code review plugins for Redmine. They've tried both at Markus, and the conclusion was "use review board". That gives us more moving parts to maintain.

A huge advantage of using Github, IMHO, is the pull requests. You don't need to ask permission for a commit bit before you can start pushing to branches. You just fork and do your thing. This makes for a very low threshold for contribution. With Redmine, you'd still have to send patches in, which I think is a far less pleasant story than pull requests. (This paragraph applies equally well to Launchpad's merge proposals.)

In Pull Requests, you see a timeline with both comments and commits, so it's very easy to check if comments passed in review have been addressed or not.

In my opinion the biggest barrier to new developers is not whether we
use git or subversion or what have you, but the high quality of code
required (coding standard, tests, passing code review). A DVCS may well
encourage more users, but I'm skeptical it will have a major impact.

The reason I'd prefer Github is only partially the DVCS (and, like you said, any DVCS would do), but to a much larger extent the community on Github.