Thursday, January 29, 2009

Finding the time for a Free Software project

I have in relatively recent history had breakfast with my upstairs neighbor, a cunning and ambitious system engineer for VM Ware. We tend to talk about various tech things, which can be interesting because we are both from rather different disciplines of the tech sector. His understanding of low level systems does put him in a somewhat higher technical category than me, while I tend more toward... well, sometimes don't feel like I tend toward anything, and yet everything at the same time. My pursuits tend to place me closer to the user. Trying to write software tools, APIs and even user interfaces. Somehow or another, like talking about the weather, we inevitably came to the topic of Free Software. You know, Free as in The Freedom, not free, like a purfume sample. My neighbor had a few interesting points about why businesses should normally choose proprietary software over free software, and how this is related to long term and reliable maintainability, which he argues should be a primary factor in choosing what software to use. It was really rather like talking to Bill Gates, all the more so because the guy actually looks a little like Bill Gates. Ok, a better looking version of Bill Gates. I'm not going speak to whether or not using proprietary software is better than free software. I do indeed have different opinions from him on the matter - mainly "It Depends", although there is are additional compelling social reasons why one should use Free Software, in addition to some mythology regarding the dependability of proprietary software.

In the end, however, this kind of conversation leaves me feeling guilty about my hypocrisy regarding Free Software. I have produced Free Software, the most important of which is the Human Rights Data Analyzer. Indendent of a funding source, I've also written a weird Scripting Inter-Operatbility Protocol that nobody uses and various other unused stuff. But I've never actually contributed to a project, which I've always felt should proceed trying to run your own project (see the hypocrisy?).

It turns out that a few of the people I work with have contributed to the Python programming language. Since these fellows are hanging around, it's probably a good idea for me to get involved with this. This is a good idea since it's something I use, something that a LOT of people use, and something that I can actually get my job to support me doing in my 20% time. Most imortantly, however, is that it's about time I did something. I've been going on inside my very noisy and echoy head that I should join a good and proper software project. Excuses mainly center around finding a perfect project to work on. This is a fairly poor excuse. There is very little perfection in the world, and whatever there is surely won't come from me.

Joining a Free Software project is not quite like trying to get a job. You don't normally have to interview to contribute, and you probably won't get fired. But you will have the opportunity to gain from the experience of others. The benefits of this are obvious, even if you are not going to partake in the blessings of Freedom. It can also be an equalizing opportunity for cultural exchange between various places on earth. Many projects have contributors from every continent on the globe, even, I'm sure, Antarctica!

It might be interesting to try to conduct a survey to see what the national make up and level of contributions are to Free Software projects. Undoubtably, there are significant gaps between contributions from developed countries and the less developed ones. But it might also be interesting to see if there is a correlation between contributions and the relative tech levels of a country, or if there are some other cultural factors at play (I'm thinking of YOU India, how much do your increasingly tech savvy developers do the Free Software Samba?). If there is a gap, how does it relate to other gaps?

I should write a paper.

1 comment:

Chris said...

Hi Andy,

I’m interested in advertising software python engineer/dev jobs on your site. Please contact me when you get a chance.