The Analytic Problem Of Open Source
Sign in

The analytic problem of open source

Think of a body of software code as a set of instructions for a computer - an artifact, a "thing" in and of itself. In that context, what is open source software and how is it different from the proprietary software products that companies like Microsoft and Oracle build and sell?

Consider a simple analogy to Coca-Cola. Coca-Cola sells bottles of soda to consumers. Consumers use the soda. Some consumers read the list of ingredients on the bottle, but that list of ingredients is surprisingly generic. Coca-Cola has a proprietary formula that it will not divulge, on the bottle or anywhere else. This formula is the knowledge that makes it possible for Coke to combine sugar, water, and a few other readily available ingredients in particular proportions with a secret flavoring mix and produce something of great value. The point is that the bubbly liquid in your glass cannot be reverse-engineered into its constituent parts. You can buy Coke and you can drink it, but you can't understand it in a way that would let you reproduce the drink, or improve upon it and distribute your cola drink to the rest of the world.

Standard economies of “intellectual property rights” provide a straightforward account of why the Coca-Cola production regime is organized this way. The core problem of intellectual property is supposed to be about creating incentives for innovators. Patents, copyrights, licensing schemes, and other means of "protecting" knowledge ensure that economic rents are created and that some proportion of those rents can be appropriated by the innovator. If that were not the case, a new and improved formula would be immediately available in full and for free to anyone who chose to look at it. The person who invented the formula would have no special and defensible economic claim on a share of the profits that might be made by selling drinks engineered from the innovation. And so the system unravels, because that person no longer has any rational incentive to innovate in the first place.

The production of computer software is typically organized under a similar regime, with a parallel argument behind it. You can buy Microsoft Windows and you can use it on your computer, but you cannot reproduce it, modify it, improve it, and redistribute your own version of Windows to others. Copyright, licenses, patents, and other legal structures provide a layer of legal protection to this regime, but there is an even more fundamental mechanism that stops you from doing any of these things. Just as Coca-Cola doesn't release its formula, Microsoft and other proprietary software makers do not release their source code.

Source code is a list of instructions that make up the "recipe" for a software package. Software engineers write source code in a programming language (like C++ or FORTRAN) that a human can read and understand, as well as fix and modify. Most commercial software is released in machine language or what are called "binaries" - a long string of ones and zeroes that a computer can read and execute, but a human cannot read. The source code is basically the recipe for the binaries; and if you have the source code, you can understand what the author was trying to accomplish when she wrote the program - which means you can modify it. If you have just the binaries, you typically cannot either understand or modify them. Therefore, shipping binary code is very effective way for proprietary software companies to control what you can do with the software you buy.

Proprietary source code is the touchstone of the conventional intellectual property regime for computer software. Proprietary source code is supposed to be the fundamental reason why Microsoft can sell Windows for around $100 (or why Oracle can sell its sophisticated data management software for many thousands of dollars) and distribute some of that money to programmers who write the code - and thus provide incentives for them to innovate.

Open source software simply inverts this logic. The essence of open source software is that source code is free. That is, the source code for open source software is released along with the software to anyone and everyone who chooses to use it. "Free" in this context means freedom (not necessarily zero price). Free source code is open, public, and non proprietary. As Richard Stallman puts it, freedom includes the right to run the program for any purpose, to study how it works and adapt it to your own needs, to redistribute copies to others, and to improve the program and share your improvements with the community so that all benefit. Programmers often explain it with simple shorthand: when you hear the term free software, think "free speech" not "free beer." Or, in pseudo-French, software libre not software gratis.

Author bio:

Keerti Singh is an education and teaches english and computer science to school students. She also helps students in taking up courses of their choice at various levels of their education. to know more about open source visit at http://www.utm.ac.in

start_blog_img