I did a story on open source biology and one of the scientists I spoke to attributed open source philosophy to such things as animal breeding and seed sharing. I was floored by the comparison. These are fundamental pegs of civilization, thousands of years old. What does the IT industry and their open source revolution have to do with animal breeding and why did it take the information age to name this all encompassing aspect of society?
In truth, animal breeding and seed sharing had a name before the computer era. They were often referred to as “the commons.” So the real question is, how did computer programming become part of the commons and why did they give it a unique name?
In a compact sentence open source programs are: “Any software whose code is available for users to look at and modify freely.” This is a very glossed over definition, but for now it will help us understand exactly what open source is and how it works.
Everything on your computer has a code. Computers read these as a series of 1’s and 0’s. Humans use translating tools to read and write code using C+ or C++ and so on. Since every application on your computer has a different code, think of each program as a tiny little invention. As such they are subject to intellectual property rights.
In the late 90’s it was estimated that 90% of programming was “in-house.” Meaning they weren’t used in products “sold separately,” but just made things run smoother in a corporate office. You know that resident computer science major who is a programmer in your office, that’s what he does. Yes, he does have a use. Let’s imagine that at some point different programmers started talking to each other and the conversation went something like this.
Programmer 1: Man, I’d really like to know what the code is to this miscellaneous program. I think I could make it run faster and better thereby increasing productivity for my colleagues.
Programmer 2: Too bad. That program is owned by company X, and I don’t think they are going to share. You either need to pay royalty fees or just move on.
Programmer 1: Oh man, now I have to write the same program from scratch. While I might solve problems currently overlooked in this version of the program, I’m sure to make my own mistakes.
Programmer 2: Alas, our fate in the world is sealed. If only there was a way programmers could collaborate with each other.
Alright, so I was never good with realistic dialogue. But hopefully this flushes out why open source began with computer programmers and grew from there. For a more true to life and in depth history of how open source communities first developed I would suggest looking through the Open Source Initiative project. Before any history lesson, however, there are more concepts needed to understand what open source is, how it applies to programs that are not ‘in-house’ and why many consider it a better method of programming.
The ‘open’ in open source means free, but not necessarily cheap. Confused? Start by realizing that there are two notions of free. First there is free speech or ‘liberty’ as the French call it. Then there are things like free beer or items that are given away at no cost. When an open source community says the code of a program is free, what they mean is that you are at liberty to use and modify the code as you wish. Often open source software is freeware too, so you can download it at no cost, but this is not a requirement, just an added bonus. The first misconception about open source is that it’s anti-capitalist, when in reality there are marketing methods to open source products and a person who creates an open source program even gets to keep propriety. So how does it work?
Let’s say I create a decent Web browser. I’m selling the product and making decent money. I also release the code under a basic open source licensing agreement. You, being a brilliant programmer, look at the code I released and analyze it like a cook would a recipe. After all, before a cook can improve on a recipe, he needs the ingredients first. Soon you find a way to make the browser more effecient. Once you change the code, the modified program is your propriety. You too can go into business selling your own, improved Web browser. The only requirement is that you too must release your modified code under an open source agreement. This is part of the condition of using my initial released code. In this way software programs evolve beyond the original creators control, constantly improving under fair and monetarily motivated competition.
Think of open source as a working example of the phrase “two heads are better than one.” As a result of so many heads the final product is often better, cheaper and more secure. Open source operating systems like Linux (a play on words between the traditional Unix operating software and Linus, the original creators name) are notorious for being more secure from hackers. The second a bug compromises an open source program’s security thousands of eyes have access to the program code and can find a way to fix it. They then submit the patch back to the open source community that is governing that software, and the glitch is fixed. Often these contributors don’t even ask for compensation. They do it out of the kindness of their heart and for bragging rights (name recognition is often given).
A code that is not open to the public has to rely on programmers hired by the owner to fix a hack. To broach a Microsoft browser a hacker only has to outsmart a few dozen people, not the entire open source world. The broad resources for open source projects make them incredibly difficult to penetrate. Programmers from all over the world, speaking several languages, are a constant vigil.
Not only is the final product often more secure, better, and cheaper, but it is, in some sense owned by an entire community. Anyone can grab the code and modify it themselves. They can resubmit this code to the creator for kicks, to feel as if they are a part of something, keep it as their own personal computer knick-knack, or even go into business for themselves. A beautiful example of open source community in action is the Firefox Web browser.
Aside from the incredibly strong design, excellent adblocking and ease of use, Firefox can boast something that few other products have, an automatic subculture of loyal customers. Thousands of people have contributed to the code for Firefox. It is their collective ‘baby.’ They want to see it succeed. It is rare for a product to take a full page add out in the New York Times and not get blackballed. But because the add was an open source project, paid for by those who support Firefox, people were excited to turn the page and see the giant flaming fox logo (and possibly their name). This was not a corporate advertisement, it was their advertisement. See the spin that open source puts on marketing. Now Firefox has a percentage of the Web browser market formally dominated by Internet Explorer, a less robust program that is more susceptible to hacks.
In the agricultural days when a farmer had a good harvest he would take the best seeds and share them with other farmers. The idea was that if they lost all their crops next year at least their neighbors would still have a good strong seed to barrow. Farmers would let their best male animals impregnate the females of a neighbor’s farm too. Why not? The favor could be returned one day and was important for their livelihood. Today, we have moved beyond organic, slow and sloppy evolution. We control the IT evolution with our own programs, destined by our own minds. But this does not mean that the evolution can continue without the freedom to exchange information. Open source gives programmers the freedom to consciously create the future of software, hardware and more. Unless programmers have access to a code they cannot improve upon it and this is the promise of open source. Even more exciting, open source is finding its way into other areas of our lives too. Everything from how we create definitions — using open source encyclopedias — to how we conduct experiments with open source biology projects like BIOS. The future is open