Monday, March 15, 2010

Software Ecology and Taking Responsibility for It

I co-presented a conference session a few months ago about the use of open source software in libraries, and was in a conversation with one of my co-workers in the days leading up to it. This colleague, who I worked well with otherwise, said "You know all that stuff you're going to talk about? Well, it all pretty much sucks." He then began to list off the feature sets of the "proprietary version" of this or that program and how the "open source versions" were lacking because they do not contain certain features that he expects. While it's hard to hear this sort of criticism, I also can't really argue with it. I don't use open source software because of the feature sets of its individual programs. I use open source software because I have a commitment to software freedom and believe that software works better when there is a community of collaboration.

I use free and open source software for the same sorts of reasons people commit to buying organic produce or cooking their own food or recycling plastic or driving a hybrid car. There exists a "software ecology" that suffers when huge corporations are the only players. It's the difference between purchasing pre-made, jarred spaghetti sauce, and making your own ragu by letting it simmer for hours. The jarred sauce may taste fine. It is certainly predictable and stable. Decades of marketing has led the American consumer to believe that less work is better, so many people think it is foolish to "slave over a hot stove" and make your own food when there are so many convenience options available (not to mention that this availability has resulted in a complete lack of interest and skill in cooking for oneself - but that's a post for another non-software related blog).

I understand that many people are too busy to cook, much less to worry about the origins of the software programs they use, and I'd wager that most end users have never heard of a shell script and have never seen source code. So why care, then? Why would one sacrifice the practical features they use in a proprietary program for an "open source version" that does less (or does it in a way that encumbers one's workflow)? Why would someone ignore the release of Windows 7 (or Vista, fixed) just to get to the Karmic Koala and potentially fight with device drivers that "just work" on Windows or Mac?

Some will always scoff at people who go to a lot of trouble to conserve or protect the environment in the small ways they can. Well, I'm a software tree hugger, striving to protect the intellectual property commons as best I can, and enjoying the products of the community: organic, home grown, open and free.