On Monday 18th October 2010, Steve Jobs gave a rare speech at Apple’s earnings call. He used his time to criticise Google’s Android operating system. One prong of his attack was one of Android’s key selling points: it’s “openness.”
What is openness? As a philosopher, before you can criticise something you must first characterise and define what it is that you are talking about. If you’re not sure, or what you are talking about is not common knowledge, it is important to define it openly. One drawback to this approach is if you don’t you may end up building a “straw man” of your opponent, i.e. improperly characterising your opponent’s argument so that it is easy to knock down.
As someone interested in technology, I thought I had a pretty clear understanding of what “openness” meant but I was keen to see what other’s thought. Jason Pontin of Technology Review writes,
[Openness is a] technical term originally derived from thermodynamics (where it referred to any system that interacted continuously with its environment), openness came to be applied to systems theory, and thence to software, where it initially had a very specific meaning: open computer programs and languages are those that have some combination of portability (that is, they can run within a variety of environments) and interoperability (which means they can exchange data with other software). They must also adhere to open standards, a term that is generally understood to refer to two related ideas: that the software should be free for use, and its source, or underlying, code should in some manner be defined by its community of developers and users. The operating system Linux is the best-known open software.
Source: Technology Review, “On Openness”, September/October 2009. http://www.technologyreview.com/web/23170/
So we have a starting definition: portability and interoperability. These two ideas, which he defines as the ability to be used on different hardware and seamlessly with other applications respectively, seem intuitively plausible. Linux, the example he offers, is a good one because Linux has been built up over the years by community effort, unlike corporations such as Microsoft and Apple, which have made billions of dollars by keeping their code tightly under wraps and licensing it for a fee.
More research into the area, yielded three interesting definitions provided by Matt Zimmerman who defines them as:
1. Open (available) – open in the sense that anyone is “able to find out about it and experience it for themselves”. So, for instance, you might release the software for free.
2. Open (transparent) – open in the sense that people can find out what’s happening with the project and get involved with its creative process. This might involve allowing “read access to discussion forums, source code history or bug reports.”
3. Open (participation) – open in the sense that people are able to “observe activity in the project, react to it and then actually change its course.” Thus people are given read/write access to the project, changing ownership from “yours” to “ours”.
Adapted from source: We’ll See, “Open vs. open vs. open: a model for public collaboration”, 26th October 2009, http://mdzlog.alcor.net/2009/10/26/open-vs-open-vs-open-a-model-for-public-collaboration/
So “openness” can vary, depending one’s definition. It can mean either: giving away your product for free, letting people see what’s happening inside the project or giving people full access to your project.
Jobs on Microsoft Windows
Now, to return to Jobs’s speech, one wonders what he means when he says:
Google loves to characterize Android as open, and iOS and iPhone as closed. We find this a bit disingenuous and clouding the real difference between our two approaches. The first thing most of us think about when we hear the work [sic] open is Windows which is available on a variety of devices. Unlike Windows, however, where most pc’s have the same user interface and run the same app, Android is very fragmented. Many Android OEMs, including the two largest, HTC and Motorola install proprietary user interfaces to differentiate themselves from the commodity Android experience. The users will have to figure it all out. Compare this with iPhone, where every handset works the same.
Source: Seeking Alpha, Apple’s CEO Discusses F4Q10 Results – Earnings Call Transcript, 18th October 2010, http://seekingalpha.com/article/230710-apple-s-ceo-discusses-f4q10-results-earnings-call-transcript
He characterises Microsoft Windows as being “open” but by which definition is this true? Examining the “classical” definitions, as it were, Windows is certainly not portable. Certainly, there are mobile phones that use “Windows” but it doesn’t resemble the Windows software you get on PCs. Even if one were to concede that it does, you can’t simply get a Windows installation disc and install it onto your phone. You can, however, purchase various parts of a computer (a motherboard, CPU, RAM, HDD etc) build it yourself and install Windows onto it. However, the standards that allow this to happen is not specific to Windows: if you have an x86 or x64 based system you are able to install a wide range of operating systems on it, not just Windows (even also Apple’s Mac OS X). Windows-branded software is available on some phones but it is not the same software you get on your PC.
In fact, it’s hard to glean exactly what Jobs is trying to define openness as. Windows is certainly not released as free software. Ebuyer, a leading seller in the UK of computer hardware and software, currently sell Windows 7 Home Premium OEM for £71.76, so it can’t be that. Windows have forums for developers, wishing to build apps for their software but it doesn’t let people have access to their source code. As Pontin notes in the rest of his article,
The Windows operating system, by contrast, is closed, or “proprietary,” in the jargon of information technology: it is not portable and possesses limited interoperability. Although elements of Windows adhere to open standards, the program must be licensed, usually for a fee, and its source code has been compiled and hidden from users and developers outside Microsoft. Developers write to application programming interfaces, or APIs, which until last year were mostly closed, and which still Microsoft jealously guards.
This directly contradicts what Jobs says. If people think that the Windows OS is transparent then they are sorely mistaken. Their source code is tightly under wraps. Finally, what about openness for “participation”. Well, again this isn’t true as a logical consequence of their lack of transparency. If developers aren’t allowed access to their code then they certainly cannot improve upon it.
Jobs on Google
Jobs talks about “fragmentation.” Unsure what he means by this I googled “software fragmentation”. The first post was exactly what I was looking for. Tricia Duryee writes,
The problem with fragmentation is that developers will have a difficult time developing applications that could run smoothly on each platform. Besides hardware differences, like screen sizes, there will be software differences, too. Some phones will support multi-touch, and others won’t. Not to mention, each manufacturer is building their own user interface on top of the platform that offers a host of other features.
Source: moconews.net, “Will Google’s Android Suffer From Fragmentation?”, 6th November 2009, http://moconews.net/article/419-will-googles-android-suffer-from-fragmentation/
We seem to be getting to the bottom of things now. Fragmentation is related to openness in the sense that by making their software available to anyone many intonations exist, often designed specifically for each device. This is not true for Apple’s iOS. Fragmentation is a damaging blow to Android. Fragmentation means a lack of interoperability as apps must be written in different ways many times depending on the Android iteration that you are using. This a headache for developers and consumers and a stumbling block for Android.
It’s clear, then, what Jobs is talking about. It’s not about openness vs. closedness per se but rather its effect on the consumer. He makes this point, arguing that the debate is a “smokescreen to try and hide the real issue, which is, what’s best for the consumer.”
What’s Best For The Consumer
From his position, however, this seems like a very odd thing to argue. Apple does not bundle or even allow third-party software to run on its iPhone. Take Adobe Flash. Flash is used widely across the internet. Although one could criticise Flash’s for its own lack of openness and other “nightmares”, like Adrian Kingsley-Hughes does, the fact is a lot of people use Flash everyday whilst using the internet. Users who want to use Flash on their device can use other platforms, including Android’s, where it works just fine. People who want Flash on their iPhone must do so in a way that is not endorsed by Apple.
What about Sun’s Java? Well, again there is evidence that Apple will no longer want to support that on its iMacs following a note it left with its latest update. Thom Holwerda writes,
“As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated,” Apple notes, “This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.”
Source: osnews.com, “Apple to remove Java from Mac OS X?”, 21st October 2010, http://www.osnews.com/story/23923/Apple_To_Remove_Java_from_Mac_OS_X_
It has been leaked that Apple no longer wants to support apps that use “deprecated or optionally-installed technologies” and will reject them from its apps store. In other words, if you try to use software from a third-party Apple doesn’t like then they’ll stop you from doing so. This can’t be “what’s best for the consumer” can it?
Android does not have a Java virtual machine but it is not because it blocks them, like Apple might, but simply because they are not supported. There are, however, converters that convert MIDlets into Android applications. This allows developers to convert their applications and have them supported on Android devices. Surely allowing this is better for the consumer?
What Jobs Must Think Is Best For The Consumer
There’s nothing like someone telling you what’s best for you and then forcing you to do it. The guidelines for app submission to their store are notoriously strict. For instance, they supply their rejection letters with non-disclosure agreements preventing developers from revealing the reasons Apple cited for rejecting their app. Android does not. However, one can criticise Android’s marketplace for being filled with useless apps. Jobs’s thinking is probably “let us tell you which apps are good.” It’s censorship – benevolent censorship but still censorship. Android, on the other hand, lets users make their own mind up. Hence, Android here is “open” and Apple is “closed”.
What The Consumer Wants
I can’t seem to find any study or poll which represents what the consumer wants. The battle though is not in the ways that they seem to be presented in the media. To say it is “open vs. closed” or “integrated vs. fragmented” is clearly wrong. Given a choice people would obviously choose open over closed, or integrated over fragmented. The battle seems to be open vs. integrated.
On the one hand, being open allows great consumer choice and support for third party developers. This should swell the market place with a great choice of apps.
On the other hand, being integrated allows for stricter controls and standards meaning that consumers can “just use” their device without having to spend time (and money) trying out different apps to find one that suits them.
Giving Some Ground
Both sides could afford to give up some ground here and it would give them an edge too. For instance, if Android had a better way of filtering their app store so the best apps float to the top then they could have a wide range AND quality apps. If they could enforce some standards, whilst still keeping it all open, they would make Apple look draconian and overly-controlling.
If Apple lightened up a bit, allowed third party developers more freedom they would get more and imaginative apps on their market place and allow for greater competition. If developers are frustrated by Android’s lack of interoperability then they must also be equally frustrated by Apple’s incessant standards and control-freakery.
Why Jobs referred to Windows as being “open” is bad reasoning. It’s not. Android is open, though not fully read/write open. It’s open enough to allow developers enough access to be called “open” and for many that’s enough. The philosophy of “openness” is a controversial area.
Apple, like Microsoft, goes to great lengths to ensure its operating systems remain unmolested. Whether or not this is bad for the consumer is the main question. It’s not a debate about open vs. closed, or fragmented vs. integrated. It’s about open vs. integrated. The two seem to be mutually exclusive.
However, it would serve both sides well to give a little ground. Android’s fragmentation may annoy a great number of consumers who simply want their device “to work”. But Apple’s closedness places stringent and draconian pressure on developers, thus restricting what is available to consumers on the market.
As for Steve Jobs, it’s hard to know what’s going on in his head sometimes. He may be right to suggest that to talk about openness vs. closedness is the wrong debate to have, but he is guilty of straw-manning Android. Fragmentation is a result of both the openness and popularity of Android. Like Linux, which grows in popularity every day, Android has many different iterations simply because developers are allowed to tailor the software to their devices. If it’s disingenuous of Google to say that iOS is “closed” then it’s also disingenuous of Apple to call Android “fragmented.” After all, whilst anyone can tailor Android to work on their device, iOS is not available on a wide range of devices. The ones that do are tightly controlled by Apple, which again is a significant part of the debate.
Both philosophies seemingly have their merits. What is unjustified is one side saying the other puts consumers in a bad position as it seems that Android and iOS pander to different side of the market. iPhones are capable of becoming highly functional devices but are being crippled by their OS. Likewise, devices with Android installed cause a headache for some developers and consumers with their lack of interoperability. Depending on your loyalties you can frame the debate one way or the other. The true way, though, seems to be open vs. integrated – allowing users to do whatever they want vs. “benevolently” keeping control over your device and software.