Monday, 27 October 2008

Opensource and Science

On a similar tack to my last blog entry, I will continue to talk about open source software. Last time I likened the importance of software in general to politics because of the power it wields over our lives. Now there are plenty of analogies we can use and another useful one is that of science.

Science is a field which dictates many of our developments in society by allowing us to better understand and manipulate the materials around us. Likewise, software is a development helps our society develop, helps us be more productive and allows us to work better with the hardware we have available to us. I first heard of the likening of science to software development in this video by Stephen Fry.

Stephen points out that there is a major difference between the way in which our knowledge about software and science is developed. Most of scientific knowledge is in the public sphere, while the people who develop software keep their knowledge hidden away from the rest of us. The downside of this I feel is that the development is not as quick as it could be and the resulting experience is not as rich.

To take a real and well known example, Firefox has in most-people-who-use-it's opinion far outstripped Microsoft's Internet Explorer in terms of usability, functionality, security and aesthetics. In fact I have not once heard somebody use Firefox, complain they don't like it and go back to Internet Explorer. And in most cases, most people don't use Firefox simply because they have not heard of it. And when they do, there's no going back!

This example of opensource success is a beacon which tells us that by collaborating in planning, development and evaluation we, as a community, can out perform even the best paid brains and produce a much better product. The reason most opensource software projects are not as successful as this is because their following doesn't reach a critical-mass which would allow development to propel forward. So this is why even just using the software helps to develop it.

In science, most information is available in the public domain (with some notable exceptions). Most of it's free (or cheap) and easily available. Academic teams expect to have their developments improved upon by competing teams all around the world. They expect to be marked by peers. Nobody minds having their work used by teams elsewhere (in fact it's a pleasure and honour) as long as their work is properly acknowledged. In that way, as soon as one developmental stage is reached, several teams somewhere around the world are working away to take it to the next stage.

Software and the development thereof is in its infancy, and so far like the alchemists of yesteryear most software developers have kept their knowledge to themselves. And just like science, it will play a major part in our future human developments. Opensource is a way of thinking and developing which will deliver us from this early and mistaken stage, into a fairer, faster, more competitive, and more productive stage of development.

No comments: