numist the fool
The Role of Open Source

In the physical world the race to the bottom is won by mass manufacturers in third world countries paying their workers 2ยข an hour. That’s bad. Not only do those workers suffer, but product quality suffers as well.

In the software world there are no significant manufacturing costs, so commoditization doesn’t rely on reducing per-unit product cost and actually benefits from higher product quality. This is achieved when someone builds and releases a functioning Thing for free with the source code available, and other people take interest and offer to help. Game over, this thing is free and getting attention and if it doesn’t exactly fit your needs, you can adapt it for less cost than writing another one from scratch. The result is always better than something you built yourself. This allows you to concentrate on truly new and unexplored work that results in the great products of today.

Every great product today contains an open source component. Without it, they would still be in development. Everyone who has enjoyed a product with a processor in it has benefitted from open source.

But open source is not The Only Way. People are entitled to be rewarded for coming up with new and interesting things that other people want. The best free software is the stuff that other people have written many times before. These projects benefit most from the “collective bargaining” development style of open source, with the mistakes of all those previous implementations in mind and addressed in a package that anyone can use.

The open encryption libraries OpenSSL and OpenSSH are great examples of this. Encryption software is terrifically hard to write, and everyone should be using it. Any bug could mean that someone owns your sensitive data, and even if it runs correctly, you’re probably vulnerable to side channel attacks that monitor timing, power usage, sound, or math faults. Everyone who writes their own security routines falls for this stuff, including the open source libraries.

That’s the best part about commoditization in software: you’re better off using OpenSSL instead of DIYSSL because they’ve already run into these problems. Early versions had security vulnerabilities, but those have been fixed and the library is under constant analysis and attack by others and you benefit from it directly just by consuming it (as long as you don’t screw with it). You stand on the shoulders of giants.

It’s not just security either. Want high performance code? Someone probably wrote a free library that does what you want. And someone else came along later and improved it. This iteration is what makes open source software such a powerful force.

Open source software has a place in the world, and everyone in the ecosystem relies on it. Great things are not possible without it.

  1. numist posted this
Blog comments powered by Disqus