GitHub is leading us to an opensource renaissance
Before GitHub, if you had something to contribute to an open source project, you basically had to worry about tracking your changes against someone else’s remote repo, which was usually svn or similar, which was difficult and cumbersome. And even if you did manage to have enough motivation to properly track, format, and email the author your patches, he then had to go and integrate your patches which was also difficult and cumbersome.
What’s nice about GitHub is that first, it gives you an easy way to fork anyone’s codebase. The key feature of GitHub is fork network tracking, which lets you see everyone else who’s cloned a particular repo, and what changes they have made. The big benefit is that this prevents you from re-inventing the wheel when you see that someone is already working on the same feature you’re trying to submit. Instead of going and doing your own thing, you fork off of them and work with them. You might even fork off of a grandchild of the original project just because it has some feature that you need. It’s like the long tail of open source..you no longer have to wait for the original author to implement your obscure changes. Just find what you want out there and work with it.
The reciprocal benefit of this, of course, is that the original author can actually watch your changes as you’re making them. Instead of some disjointed patches, he sees your commits as you add them to your own line and can follow your progress visually. At some point, if the author likes your work he can merge your branch back into his code. And GitHub will show this on the network, so everyone else who is following the project can benefit. They’ve made it easy to notify the author that you have some good changes as well, with the pull request.
This very simple idea of tracking the forking network of a particular project, and doing it well, is why GitHub has made a radically cool contribution to the opensource community. Every day, more and more projects are added to the hub. And it’s viral…people who want to contribute to projects request that the project be put on GitHub because it’s the easiest way to track your contributions. Kudos to GitHub!










7 Comments