Tuesday, October 20, 2009

Why Git will revolutionize the world of open source


Today, looking at the Pro Git book homepage, I was reminded of how sure I am that Git will revolutionize open source. It is just so simple to fork and start contributing to a project. When you've done something, there's even a button to ask the owner of the project to pull back your contribution.

The graph above is a section of the network graph of the progit book, I.e. the mesh of contributions to the project. The book is being translated into German, Chinese etc., as can be seen in the Github inline rendering a chapter of the book. Absolutely smooth.

To add insult to insanely cool flexibility injury (eh, sorry about that figure of speech) Github allows you to host project homepages also through git containing markdown or anything Jekyll will swallow. Maybe also check out the Github hosted homepage of sitaramc, the creator of the gitolite alternative to the gitosis server.

To be honest, git development so far has been pretty minimalistic, it has reached it's current usability very fast. It is not as well integrated in different platforms and systems as subversion is, partly because the usage model is so different, partly because Git hasn't been failing for as many years as subversion has. However, don't let yourself be fooled, Git is absolutely usable and there is simply no substitute to what it's reliability and streamlining can do for your coding process. I hope to elaborate on that topic any of these days.

What I'm next keeping my eyes open for is SCRUM and agile development in open source, but I suspect I'll have to wait for that...

I have my own Github profile with only some stuff in it, other posts about open source as well as a good collection of git links.

Update: My collegue Lauri went ahead to try out Github, and after naming the repository correctly to username.github.com and realizing you should use the master branch there, "gh-pages" is only for username.github.com/repo-name pages (which are cool themselves!) his pages are working, and he can play around with this smoothly web-connected storage as much as he wants!

Secondly, Git absolutely has benefits to other than open source projects! Our company does essentially no open source, and still check out my presentation about the cool benefits we've experienced, in particular how it streamlined the workflow an helps us capture and keep information at the right time.


martin said...

We're working with Git at Appcorn, and we've also started to host some open source code on GitHub. Git is very agile and fast as hell :)
I can also recommend checking out GitX as an alternative to the command line. It's a really good application that I use daily.

Carl-Johan Sveningsson said...

Ah, hi Martin!

That's very cool, and I absolutely agree git is extremely fast. What I really appreciate though is the non-blocking commits and opportunity for good rebase and merge.

However, what I have seen of GitX isn't as useful. I use the graph log, but for add, commit, diff, log, rebase, merge, branching... it's blunt if not useless. And the command prompt is so much faster, unfortunately.

Emil Eriksson said...

Regarding GitX. Some basic features is still missing like merge/pull/fetch and push. But the ability to commit partial changes is great.

I've come to use GitX together with DTerm which still isn't perfect but one small step closer.