It used to be that Microsoft was considered the antithesis of open source, but now I would claim that Apple represents the opposite of “open” (which is a little ironic considering that the Darwin operating system that forms the basis for Mac OS X is based on BSD). From difficulties in getting software on such devices as the iPhone, to the addition of custom “security” screws on its hardware, Apple is the new icon for monolithic “cathedral-like” development.
Steve Jobs is a master of controlling the conversation, and he has attempted to reframe the “open vs. closed” debate into “integrated vs. fragmented“. There can be no doubt that his “integrated” approach has proven very profitable for Apple (poised to become the most valuable company on the planet this year, passing Exxon) but I don’t believe that his methods are ultimately sustainable. Truly open environments (as exemplified by Andy Rubin’s wonderful tweet in response to Jobs’ comments) can grow and adapt much more quickly than closed systems, and as more people are drawn to them this innovation accelerates.
Part of this may arise from frustration. When the iPad was announced, a friend of mine who uses a Kindle stated that he liked the fact that the Kindle didn’t rotate orientation, so he could read a book in bed on his side without it going into landscape mode. When the iPad came out there was a switch on the side that served as an orientation lock, given the iPad the same functionality.
However, in iOS 4.2, that switch became a mute button, and there is no way to change it. This is extremely annoying to people who use that feature and they have no recourse short of jailbreaking their device.
But the question remains: is it possible to create polished and “integrated” apps using open source? Many people opt for Apple’s products (myself included) because they “just work”. They trade freedom for ease of use, in much the same way that old quote mentions that in a fascist state the trains run on time.
I believe that from the fragmented chaos that is open source, order can arise, but in doing so it needs to adopt some of the methods of people like Steve Jobs. Many open source projects are run by committee. One of my favorite quotes about committees comes from Ferdinand Porsche:
“Committees are, by nature, timid. They are based on the premise of safety in numbers; content to survive inconspicuously, rather than take risks and move independently ahead. Without independence, without the freedom for new ideas to be tried, to fail, and to ultimately succeed, the world will not move ahead, but live in fear of its own potential.”
Now this may fly in the face of what most people think about open source communities, and I’m not saying that every project needs a benevolent dictator, but in any kind of chaotic system order can arise around certain people and ideas.
Take the web, for example. If I am traveling and I want to investigate a particular hotel, there are any number of web sites offering reviews and advice. But I tend to head straight for TripAdvisor. Over the years, that site has built a reputation with me as a great place for information. Even though there is no pay-wall, even though I access it the same way I can access all of those other sites, I go to TripAdvisor.
In much the same way, I expect Apple to start seeing serious competition from solutions based on open source.
To make this happen, the open source community is going to have to come to grips with the idea that certain leaders are going to arise and start making decisions that aren’t popular in order to achieve a high level of integration, where all the apps seamlessly interact and have a similar look and feel. One such person is Mark Shuttleworth of Canonical.
I doubt anyone reading this is unaware of Mark Shuttleworth. I first became aware of him when these “Ubuntu” CDs started appearing like mushrooms after a summer rain a few years back. At a time when the Linux desktop was considered to be all but dead, he put his energy and considerable resources into a new distribution based on Debian with a focus on the desktop experience.
While I rarely see a Linux laptop that isn’t running Ubuntu, Shuttleworth’s efforts have not been without criticism. He decided to include non-free, proprietary drivers in Ubuntu in order to make the user experience easier. There have been some claims that Canonical doesn’t contribute back to the communities of the software they use.
The most recent controversy arose when it was announced that future releases of Ubuntu would use the Unity desktop instead of being based on GNOME.
I got the idea for this, now increasingly, long winded post when I read a note on Jono Bacon’s blog about the need for respect in open source communities. Jono is the community manager for Ubuntu and a Canonical employee, and I can’t help but think that his post arose from the Unity decision.
I think it is quite natural for people in the open source community to be a bit wary of Canonical. There are a lot of people out there who want to exploit open source and even I have wondered about Shuttleworth’s motives. I’m always suspicious of altruism (at least the in the business world) and considering the millions of dollars that Canonical has put into Ubuntu I think we are all waiting for the other shoe to drop.
But, you know, it really doesn’t matter. It’s open source. This is the main reason, while Shuttleworth may create things as good a Jobs, that he will not become the next Jobs. He could decide to change the orientation lock button to a mute button, but it would then be a simple matter to change it back, or at least make it a configurable option.
Awhile back Shuttleworth made a hiring decision that seemed rather strange to me, as this person was kind of the poster child for everything wrong with open source business. At conferences in LA, Oregon and Ohio I asked members of the local Ubuntu communities what they thought about it.
The answer? They didn’t. One guy in LA said quite bluntly that they didn’t care much about what Canonical did. This, more than anything, is why open solutions are more powerful in the long run.
Sure, it takes someone with vision like Shuttleworth to make an Ubuntu, but he doesn’t control it. That is why it has such a rabid following. Prefer KDE? Switch to Kubuntu. Don’t like some aspect of it? Fork it.
Ease of use often means the removal of options. It is one of the reasons I describe OpenNMS as a network management application platform instead of an application. It has so many options that it can be hard for a newcomer to understand how to use it, but once that learning curve is climbed it is truly powerful and empowering. Fewer options would make it easier to use initially, but then you are stuck when, inevitably, a unique problem arises that needs to be addressed. That’s why we see such a migration from other “easier” tools to our project.
Critics of open source may look at our factions and our bickering as reasons why open source will fail. I look at the fact that we can’t all get along as a strength. It allows “ideas to be tried, to fail, and to ultimately succeed” in a way that closed culture simply can not match.