In roughly 2003 I was working on the Linux kernel for a research project at Purdue. I didn’t have internet access at home at the time and wanted to be able to take work between my lab on campus and my office. The USB card reader I had didn’t work on Linux at the time so I created a small patch for the kernel to support it. Then I submitted it, and waited, and waited, and waited. The USB devices maintainer was quick to acknowledge, but then it was months before it made its way to an official kernel release and years before it made its way to most distributions. This cycle time wasn’t specific to Linux either, and I found this type workflow pretty common for open source projects.
Contrast this ‘old style’ workflow with what git and github has allowed us to do. Recently I submitted patches to hiredis and webdis for two unrelated issues. In both cases the authors acknowledged the pull request on the same day. The webdis author integrated the change the same day, and the hiredis author worked with me to make some changes to the patch before accepting it less than a week later. Now the code is out there for anyone to use and it didn’t really take me any effort at all. On top of that, github makes it so trivial to fork that if I hadn’t gotten a response I could have just forked the project and maintained it myself. Github would allow that fork to be visible for the world to see and use.
Until github came about, open source projects were relegated primarily to the confines of sourceforge and freshmeat. There seems to be this revival of open source software, largely due to how easy to use github is, that doesn’t require ‘participating in open source’. Github did something brilliant which was to take the open source out of open source. These days it’s just what you do, it’s not a decision to be made or something to be discussed.
Github has made my open source, vim, Linux, windowmaker elitist attitude a thing of the past. And yeah, that kind of brings me down.
Taking the ‘open source out of open source’. What once seemed a breakthrough (and was) becomes an impediment, because of bureaucracy. Now, developers want do-ocracy, where individuals decide what to do on their own, and make the results available to others to use or not.