Open Source collaboration, 2012

Posted on October 28, 2012 with tags . See the previous or next posts.

I’m interrupting my blog silence (which was due to the fact that I didn’t have anything interesting to say) to note two things: first, but less important, spammers are still active as ever - I had ~2K spam comments and another ~2K in pending moderation. And second, and the actual subject of this post, is how easy collaboration has become.

In the last year or so (where ~so means since I last looked), GitHub has introduced a very nice collaboration work-flow:

  • see typo in a project (homepage or source code)
  • find the source file in which the typo is present
  • click “edit”
  • GitHub automatically forks the repository, starts an in-browser editor on the given file
  • you correct said typo, click “Submit merge request”, write a non-default commit message, and the upstream author gets the notification for a new pull/merge request

This is soo easy (what, 3-4 clicks?) that I expect it will increase trivial fix-ups against Open Source projects hosted on GitHub or other services with similar capabilities. I did in the past week two or three such trivial fixes myself; this is not much — note that I’m not talking about code fixes; but still, it is something that I think will definitely improve many, many projects. The same way that Wikis made it easy to improve documentation sites, this could make it easier for end-users to improve upstream’s project documentation, when stored in a VCS as opposed to a Wiki. Yay!

On the other hand, I still have a few patches sent months ago to an upstream email address, since they don’t have a issue tracker (not even speaking about a place to submit merge requests). These will probably languish and disappear, as opposed to visible/public “hey, this is a patch to fix tiny typo in File.hs!”.

Yes, I like this a lot. Now, if only all projects would have a public VCS and issue tracker :)

PS: yes, I’m talking here about GitHub, which is not Open Source software itself. I regard that as a (temporary) inconvenience, which dies not detract from the significant advantage it brings to the table.