My recent experience with Android and Apple pads brought out why I think open source has failed to achieve dominance. It is an on-going and significant issue for open source software, and quite possibly one it can never surmount.
It manifests itself in many ways but the root cause is western culture’s profit-focused determination that forms the core of most of our lives. That desire to be better, to make more profit, to beat the other guy, is why products based on closed source efforts will always beat those based on open source.
They have to or they will die.
While closed source efforts are limited in nature, that very limitation — whether a consequence of size or a result of iron-fisted “you will do it my way or it won’t be done” rules — ultimately lead to a more usable product.
As such, closed source products evolve. It is the natural selection of the marketplace.
Of course, open source evolves, too. It gathers improvements and enhancements. It gets better and better but, because the risk is lower — and this is the essential difference — it is never subjected to that “do or die” crisis that drives closed source developers to take risks, big risks, and when they bet right, they win. They win BIG!
In some ways, open source efforts are like the wild west where the laws vary from town to town and, upon entering a new place, one has to learn (again) how the system works here. Each town can try their own set of rules and, over time and as ideas are communicated about what works and what doesn’t, the towns collectively get better and better.
But in the meantime, it’s rather chaotic because as you go from town to town, the rules change. When the purpose of a program is to help you get some job done, the goal is completing the job, not learning the rules before you can start to get the job done.
The “open” and “free” nature of open source software is its primary shortcoming.
I worked for Monta Vista Software for two years doing embedded Linux. Android is a Java environment running on a Linux system so I am not unfamiliar with the environment and concepts.
What I learned at Monta Vista, and which my current employer Wind River might also affirm, is that free does not mean easy.
While Linux is “free” (available without cost), it is also very complex. Building a Linux system from scratch is a challenging undertaking. And because of that complexity, there is the possibility of a wide range of different solutions to a single problem.
It is that wide range of solutions in the Android applications that I think will frustrate many users. What works in one program won’t necessarily work in another.
Android’s requirements, and their ability to enforce any such requirements, is non-existent. That is part of the “wild west” nature of Linux. Everybody starts the same but then you are “free” to do anything you want with it.
Apple, on the other hand, is criticized by some as being too iron-fisted in what they will and will not permit in application programs. The difficulties in moving data from one program to another is one such consequence.
But the advantage, when that iron-fisted control is appropriately applied, is a wide range of “apps” that are highly intuitive. You do things the same way in all of them.
Ultimately, my goal is not to understand how to use my iPad. Ultimately, my goal is to put pictures on web pages, to write blogs, to make movies of my grandchildren and put them on Facebook.
To succeed at those efforts, the tablet has to get out of the way and let me get the job done. A tool that is easy to learn such that I can stop thinking about the tool and start thinking about the art will be a tool that lets me get done sooner and better.
Fundamentally, this is a major obstacle to open source software. The lack of not only central guidance but, more important, the lack of enforcement in the open source community gives closed source solutions a significant edge.
My current employer has both. I’ve watched both for many years and while open source solutions have great promise, it is also that openness that gives closed source solutions — when the developers are wise — the edge.
We may chafe at the restrictions but the final measure must be how do products succeed in the marketplace.
In the battle between open and closed source software, a well run “closed” operation can have a significant market advantage. That advantage is in a narrowness of focus and consistency of operation.
Linux and other open source efforts will always have a place in the market. They can be used to build very high quality and eminently usable products.
But because the core of open source is never really exposed to the full risk of “do or die”, it never has the impetus to dramatically succeed.
Mediocrity is the best it will ever do, because that’s all it has to do to survive.
Good enough, perhaps, but never best.