Since I am quite fond of the idea of open source, I wanted to know how it would be compatible with the idea of liberalism.
Let’s start with a small introduction to open source. I’ll just copy the open source definition:
- Free Redistribution: the software can be freely given away or sold. (This was intended to encourage sharing and use of the software on a legal basis.)
- Source Code: the source code must either be included or freely obtainable. (Without source code, making changes or modifications can be impossible.)
- Derived Works: redistribution of modifications must be allowed. (To allow legal sharing and to permit new features or repairs.)
- Integrity of The Author’s Source Code: licenses may require that modifications are redistributed only as patches.
- No Discrimination Against Persons or Groups: no one can be locked out.
- No Discrimination Against Fields of Endeavor: commercial users cannot be excluded.
- Distribution of License: The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
- License Must Not Be Specific to a Product: the program cannot be licensed only as part of a larger distribution.
- License Must Not Restrict Other Software: the license cannot insist that any other software it is distributed with must also be open source.
- License Must Be Technology-Neutral: no click-wrap licenses or other medium-specific ways of accepting the license must be required.
This example shows that the idea of open source does not necessarily have to be applied to software only.
Of course, in a liberal state open source would not be banned, because it is my own decision whether I want to distribute software that I wrote as open source or not. But why would anyone want to write a piece of software (or invent something, since open source isn’t just for software, as noted above) and not profit from it (in a financial way)? From what I’ve gathered, liberalism is all about proper payment. If I work for someone, I get what my employer is willing to pay for my work, and if that isn’t enough I just don’t work for him. If someone damages my property, he will have to pay something to compensate me for my loss. You see where I’m getting at?
So where does open source fit in? It’s the payment, that differs. Who said, that payment has always to be money? You can be paid recognition, knowledge, an inner sense of having done something good, a.s.o. and that’s what open source is founding on.
Now lets finish by learning something about the efficiency of open source, or in other words: How can open software be any good, if you don’t have to pay money for it? Well lets compare open source software to proprietary software:
- Open source software generally has a much faster release cycle. The linux distribution ubuntu for example has a new version release about every 4-6 months, where windows vista came 6-7 years after windows xp. This means, that in open source projects almost constantly new features are introduced and improvements made.
- In open source software, bugs are much faster discovered and solved than in proprietary software. (proof) Proprietary developers need about 7-8 days, where open source developers need 8 hours at average. This has to to with, the free availability of the code (so anyone can take a look at it) and the vast base of contributors to open source projects.
- Open source software integrates better into other applications. That is because of the fact, that open source has to work well with other applications because the developer can’t anticipate where and in what context his piece of software will be used. (Documentation is also very important)
But which brings us further the most? Does open source or proprietary software contribute more to our collective progress? The advantage with open source is, that you can build upon every open source program that has ever been written, you don’t need to reinvent the wheel and you therefore can focus on just creating something new, rather than creating something new and therefore creating the whole underlying base first. This means, if used, faster development. Which, in the end, means faster progress, and how can you seriously be against progress?