Eight for Open Source
Is Open Source better? It’s not a black and white question; the answer will depend on your needs and circumstances. Still, there are some very good things to be said for supporting Open Source and Open Standards. Here’s a list of the top reasons why we prefer Open Standards and Open Source development.
First advantage: speed of development
When an open source community forms around a project, the speed of development increases rapidly. As users put the product to use, the feedback cycles are quicker and the development more responsive than proprietary systems. While I can’t offer you any hard stats on this, my experiences bear this out.
Second advantage: distributed development decreases errors
Writing code is just like writing a research paper, in the sense that the more people you have proofreading, the more likely you are to catch errors before publication. Centralised development teams develop blind spots. It’s just human nature. Distributed development means more eyes, more scrutiny, and fewer errors. In this aspect of development, more programmers are better.
Third advantage: survival of the fittest
Weak code and flawed approaches to problem solving are spotted and shunned. Yes, there may be more dead ends explored, but they are abandoned more quickly. In a proprietary environment, teams find themselves married to architecture decisions regardless of whether they are right or wrong, as the cost of making fundamental architecture changes post-release is too high to be commercially viable.
In the open source community, there is no management saying “live with it”; there are, in contrast, competitive developers who are constantly striving to champion a better way.
Fourth advantage: rapid adoption of technologies that work
Just like water flowing downhill, streams of developers and users tend to flow together to form larger rivers of consensus for cost-effective technologies that work. Consider 802.11: Open standards are fostering rapid and broad-based adoption.
If you think the jury is still out on 802.11, then look at the lessons from Ethernet or the x86 computing architecture: Both are examples of open standards which have gained critical mass in the consumer and developer communities and have consistently outperformed proprietary systems in the marketplace.
Fifth advantage: source code availability
Frankly, I just don’t see how anyone can argue with this point: Source code that is open for scrutiny and modification is the superior path for the end user and for the development community. With open source, you can modify code to meet your specific needs and you can adapt it to accommodate changing environments and evolving hardware needs. And it should be painfully obvious to everyone who has to sit through lengthy downloads of the multi megabyte Microsoft patch of the moment that when the source code is available it is much easier to isolate bugs.
Sixth advantage: unrestricted use
There’s no one out there telling me how, when, or where I can use open source code. While that is a big factor to many governmental entities, it may not at first glance seem to be an issue to legitimate businesses, but think again: When a proprietary software maker decides to stop supporting a legacy product, the affect is unilateral use restriction on you. The product is abandoned _ an orphan _ and since the code is locked away, its usefulness to you deteriorates across time.
Seventh advantage: vendor independence
You are not tied to one vendor, nor is the future of the software dependent upon one entity. Proprietary software development is governed by the marketing and strategy decisions of the vendor and the decisions they make will be in their own best interest. Moreover, it is a simple fact that there are often conflicts between marketing goals and the best development path for a product. If a vendor decides to adopt a new technology, abandon a product, or completely shift business lines, you are just out of luck. This has happened many times in the software market and will continue.
Eighth advantage: no per copy fees
This makes me nuts. I have three home machines. I have multiple office machines. I want the same software on all boxes, but I am only one user. Some firms are reasonable about this; I write them a letter, they let me use multiple copies without additional fees, but frankly this is awkward and many firms are not willing to accommodate this request. This is an issue that never completely goes away as the next upgrade of a proprietary product often puts me right back in the same situation.
So there you have it: eight reasons why I find myself more and more frequently being a champion for open standards and open source development.