This article is a piece from a previous website I had, called The Technographer.
This site is now no longer active, but the article still makes me think deeper about this issue, so it might as well find a home here.
There is a thing which has been orbiting inside my head (inside orbiting makes sense if you have read or, as I did, listened to Singularity by Bill DeSmedt), which I would like to talk a little about here. The obvious question rarely asked: Why?
What triggered this question (and yes, I shall elaborate) was reading Hackers by Steven Levy (more about it in the Wikipedia article). In this classic, Levy tells the story about the original hackers and their love of technology, hacker ethics – the open access to create elegant solutions. It is also the tale of people obsessed by technology for the sake of technology.
I consider myself a part of the open source & free software community. I am not a programmer – and judging from my programming abilities, it is for the best if I don’t try to contribute – but I have written documentation, reviews, helped people use the software and translated both software and the accompanying documents.
Now, reading this book brings up a question, which is surprisingly rarely asked: Why are we doing what we do?
I mean, obviously people get jobs where they write software. Nothing strange about a developer writing server software being employed by IBM, Novell or for that matter Red Hat itself. But that is the people who do it for a living. How about the rest of us? Personally, I am a geek of office software (also often referred to by the unholy misnomer “productivity software), which is due to my profession, but there is a wide gap between this interest and the concrete tasks I use such software for.
In a recent discussion thread in the Linux Outlaws Forum it was brought up what people find most positive about the FLOSS world. As always, the answers were divided into technical merits and community. If one was to ask Ubuntu Community Manager Jono Bacon, I have no doubt from the opinions he voiced on numerous Lugradio broadcasts that it is the personal relations, the community feel, that makes the difference. I recognize that the community makes it interesting, that you build up a network of people with similar interest. But you would experience the same with model railroad enthusiasts, and they would never attach the level of importance to model railroads that the open source and free software movements attach to development. If any of you have ever taken part in a discussion about software licensing or people marketing the software simply as cost-free, you will know what I mean.
So why is software development important? Again, there are straightforward reasons for that – it is useful. I like to send email, that is handy. As I write this, I am using an open source operating system (Slackware) based on a free software (Linux) kernel to access the open source (Apache) server running a free software operating system (Debian Linux). As you see, this is Wordpress, released under similar conditions. So it is nice to have. But important?
If one stops to see the more philosophical approaches to the topic, it is impossible to get around Richard Stallman and the Free Software Foundation. If you look at the GNU Philosophy page, you will see what RMS is about. A classic text is The Free Software Definition. This text will outline how proprietary software is ethically wrong – in other words, Stallman raises the question as a moral one. The authorized Stallman biography is aptly named Free As In Freedom: Richard Stallman’s Crusade for Free Software. But he is a remnant of the culture described in the abovementioned Hackers – Stallman is mentioned in the book – for whom software and technology have an intrinsic purpose and point, and the focus on releasing source code is a product of his academic upbringing: A mental excersize, an accomplishment should be published for peer scrutiny.
Another important piece of literature is The Cathedral and the Bazaar by Eric Steven Raymond. This other classic defines open source, but more as a methodology and an economic model. The economic model is elaborated in greater detail in The Magic Cauldron. To summarize, the point is to redefine the production of software from a product model to a service model. The logic is that since only a very small part of the industry is engaged in developing software for publication and packaged sale, it makes more sense to engage in creating a collective software infrastructure and selling support and services instead. It is a logical extrapolation of the hacker ethic that it should not be necessary to invent things more than once. And so, after building or extending a piece of software, the code of the program or the changes should be released as well.
One of the interesting aspects of Raymond’s model is that he is quite vocally a capitalist. Stallman has also from time to time had to stress that giving away code is not based on left-wing ideals; but Raymond argues for liberty, and one of the main points of the Cathedral and the Bazaar is how a society based on a bazaar model is more rational than the top-down controlled administration.as examplified by the building of a cathedral. Raymond’s approach is based on a meritocracy, that the more efficient and competent service provider will be the successful one.
As I said, this is methodology. It answers the question Why do it like this, if you are doing it – but not Why do it?
Of course, it is tempting to look to socialist ideology for an answer to this. In traditional socialist productivity, the problem is that the amount produced is usually smaller than the amount needed, and the distribution calculation is complex. If one is talking about code and software development, nothing is lost, nothing is wasted and everything can be replicated as needed. If one was to apply a parallel, it would be like everyone contributed only a single brick, but everyone would receive a house. So in software development, a socialist collective approach may be more efficient than when it comes to manufacturing produce.
While it seems less than likely that the open source and free software movements are a huge group of left-wingers, this model at least suggests a motive for putting in the effort.
An interesting suggestion is the philosophical approach suggested by Danish philosopher and technology commentator Tor Nørretranders. In his 2005 book The Generous Man (Det generøse menneske), Nørretranders suggests a darwinistic model for generosity and art. His often-mentioned example is that of the peacock, which has a huge tail which seems to serve no particular purpose and is, in fact, a hindrance for survival. The point is signalling a superior level of strength and surplus of resources, a display of creativity simply for the purpose of doing so.
Now, this seems like a viable explanation, particularly since software development requires a level of craftsmanship which would allow a developer to – dare I say: Show off the size of his tail?