I know that I'm reiterating some things that others have already said, but I do want to say that although I am personally opposed to Github for a number of reasons (among them the fact that it is a proprietary itself), I do feel strongly that GitHub is a huge win for open source development projects.
Note that I think that Git is a *bad* thing in general for increasing developer involvement: it is full of sharp edges that are confusing at best, and actively harmful at worst. (hg is better in this regard, in my personal experience, but I've used git more, so it has more chances to shoot me in the foot.)
However, Github: - Hides much of the pain. By having UI-level options for forking, the distributed model is not just encouraged, it's de facto; many people use github effectively without having any idea on how git really works or is meant to work. - Is the clear winner on 'network effect' -- huge swaths of the open source community already have GitHub accounts, which removes obstacle #1 to contributing development to any code base.
Despite being against Git, and GitHub, I helped a project transition from Subversion to GitHub in September of last year. Since then, we have seen a huge number of new developers participating in the development of the project; the project in question is now reported on Github as having more than 140 'forks' where people have made changes to the code, and that's excluding the hundred more or so pull requests that have been integrated into trunk and are no longer forks.
Git is painful. GitHub hides much of the pain, tries to do outreach to solve the remaining pieces, and makes many parts of interacting with an open source project trivially simple in a way that nothing else does. As good as the other tools may be, I haven't seen any evidence that other tools compete when it comes to the massive success that Github has had in getting open source development opened up to a massively larger number of people.
no subject
Note that I think that Git is a *bad* thing in general for increasing developer involvement: it is full of sharp edges that are confusing at best, and actively harmful at worst. (hg is better in this regard, in my personal experience, but I've used git more, so it has more chances to shoot me in the foot.)
However, Github:
- Hides much of the pain. By having UI-level options for forking, the distributed model is not just encouraged, it's de facto; many people use github effectively without having any idea on how git really works or is meant to work.
- Is the clear winner on 'network effect' -- huge swaths of the open source community already have GitHub accounts, which removes obstacle #1 to contributing development to any code base.
Despite being against Git, and GitHub, I helped a project transition from Subversion to GitHub in September of last year. Since then, we have seen a huge number of new developers participating in the development of the project; the project in question is now reported on Github as having more than 140 'forks' where people have made changes to the code, and that's excluding the hundred more or so pull requests that have been integrated into trunk and are no longer forks.
Git is painful. GitHub hides much of the pain, tries to do outreach to solve the remaining pieces, and makes many parts of interacting with an open source project trivially simple in a way that nothing else does. As good as the other tools may be, I haven't seen any evidence that other tools compete when it comes to the massive success that Github has had in getting open source development opened up to a massively larger number of people.