Friday, November 23, 2007

The REAL Reason the Linux Community Didn’t Come Up With the iPhone

Lately, there seems to an explosion of interest in Open Source. I suppose it is a natural progression. When interest in something grows, its level of recognition expands exponentially as more and more people become aware. It seems the scientific community is also starting to take note - not necessarily of the software, but of the way in which Open Source community functions. Based on his experience at a recent scientific convention, Jaron Lanier suggests that the modern scientific community seems to be wanting to model itself after the Open Source software model. Unfortunately, he adopts the position that this progression is ill advised and bases his reasoning on the mistaken belief that the Open Source model is incapable of the level of innovation required by science. Although he builds an interesting case, I believe his conclusions are based on a faulty premise and an overall misunderstanding of the real strength of the Open Source approach as well as the true nature of the proprietary model. That is not to suggest, however, that I think the scientific community should emulate Open Source. It is possible his conclusions have merit despite the faulty analogy. I will not attempt to address the value of an Open Source model for science as that is outside my area of expertise. I will explain why I believe he is wrong about Open Source.

Lanier’s main argument seems to based on a the belief that the Open Source community is not capable of any real innovation. This is a fairly common belief that is simply not supported by the facts. Let’s take a closer look at a couple of Lanier’s claims.

Open wisdom-of-crowds software movements have become influential, but they
haven’t promoted the kind of radical creativity I love most in computer science.
If anything, they’ve been hindrances. Some of the youngest, brightest minds have
been trapped in a 1970s intellectual framework because they are hypnotized into
accepting old software designs as if they were facts of nature. Linux is a
superbly polished copy of an antique, shinier than the original, perhaps, but
still defined by it.

It is true that Linux is a UNIX-like operating system that has progressed incrementally (and continues to progress) to become a powerful and modern system. However, Linux is not unique in this respect. The two most prominent closed source operating systems, Microsoft Windows and Apple OSX, are perhaps even better examples of “polished copies”. Both Windows and the Mac OS owe their entire existence to the recoding of borrowed technology. Apple and Microsoft modeled their Graphical User Interface (GUI) on technology created at Xerox PARC in the 1970s, which itself grew out of Doug Englebart’s NLS system developed in the 1960s, which was inspired by the memex described by Vannevar Bush in 1945. Furthermore, Microsoft did not independently develop DOS, it was somewhat co-developed with IBM and based, at least originally, on CP/M which was privately developed by Gary Kildall in 1974. They solved the lack of networkability in early version of Windows by releasing Windows NT which was built on VMS from Digital Equipment Corporation (with developers hired from DEC), and, interestingly enough, was designed to be somewhat UNIX-like. Apple OSX is directly built on BSD (a UNIX variant) with a GUI originally developed in the late 1980s by NeXT (founded by Steve Jobs after leaving Apple and then later bought by Apple). So, if anything, it is Windows and OSX that are “polished copies of an antique”.

Of course, Linux also benefited from many of the same technologies, and given that all modern operating systems are essentially built on 40-year old technology, it does raise the question of how far we can actually progress and why modern computers are not all that different from the original computers - only smaller and faster. It is interesting to note, however, that in all this time no one has developed anything radically different (well, maybe BeOS but it never went very far). All major operating systems are really quite similar in terms of what they can do. So it seems odd to suggest that the Open Source model has failed to produce anything innovative when in reality no model has. The fact that Open Source has managed to keep pace with proprietary models is actually worthy of note - not a failing.

It is also worth noting that the very Internet that has had such a huge impact on modern life was also born out of the Open Source model. Mosaic, the first modern Internet browser, was developed at the National Center for Supercomputing Applications - a government funded program at the University of Illinois at Urbana-Champaign. Although it is not strictly an Open Source program, being publicly funded the source code was always available. Furthermore, if it were not for the development of open standards the World Wide Web would have never grown beyond the CERN laboratory. Finally, much of the infrastructure of the Web run on Linux servers. Clearly, one of the most revolutionary developments of the later 20th century owes much of its existence to the Open Source model of development and even Open Source software.
Finally, lets not forget that the entire software industry exists because of Open Source. Granted, it was not called Open Source at the time, but IBM’s earliest operating systems were originally distributed in source form. SHARE Inc. was established in 1955 as a way for programmers to make local modifications and share them with others - in much the same way as modern Open Source projects grow and develop.

Clearly, the Open Source model is certainly not the vacuum of creativity that Lanier suggests. It is no less innovative than the proprietary model and it could be easily argued that it is more innovative.

Lanier, however, offers a different argument to support his suppositions about the lack of innovation in Open Source which I believe is also faulty.
My guess is that a poorly encapsulated, communal gloop of organisms lost out to
closely guarded species for the same reason that the Linux community didn’t come
up the iPhone: Encapsulation serves a purpose.

First of all, this presumes that the Linux (or Open Source) community WANTED to “come up” with the iPhone. I would argue that the community is decidedly NOT interested in that. Therefore, failing to create the iPhone is not proof of the community’s failure to innovate.
The Open Source and proprietary (or, to use Lanier’s term, encapsulated) approaches are decidedly different and have different motivations, different goals, and different definitions of success. The proprietary model has but one goal - profit - and sharing secrets is not good for ones profit margin. Companies can only continue to exist if they continually improve products, expand their line and show increased profits. This is often accomplished by creating a need where one doesn’t exist and then convincing consumers of that need. This is precisely why the iPhone was developed. Apple wanted a piece of the cell phone market and took a device that already existed - the cell phone - and jazzed it up. No one NEEDS an iPhone. In fact, no one needs a cell phone. The world functioned perfectly well before cell phones. We did manage to land people on the moon without cell phones, after all. The iPhone is not an innovation. It is simply a minimal progression of a technology that most people have come see as a necessary part of life. The iPhone is just Apple’s version of a PDA and phones that are also MP3 players have been around for several years. In truth, the iPhone is not all that unique and there are “open” examples - Android and OpenMoko for example. However, the corporate for profit model is simply NOT how Open Source works or wants to work. In fact, innovation is not usually a profitable undertaking. Consumers fear change. What they love is incremental improvements and businesses like releasing new versions of the same thing - it helps drive sales. The only ones who are free to innovate are those with nothing to lose - like the Open Source world, for example.

Contrary to the proprietary model, the Open Source approach does not focus on creating needs (perhaps desires would be a better word). Instead, the community seeks to solve existing problems - this is called the tools approach in the UNIX world. This is becoming somewhat less obvious now but consider the early years of Open Source. Most of the tools that are at the heart of any Linux system were created to fill a real need. Early line editors were not sufficient for the needs of programmers so new tools like Vi and Emacs (and more recently Eclipse) were born. The Linux kernel itself was created because Linus Torvalds felt he needed a UNIX-like tool that would run on commodity hardware (dare I say desktop UNIX?). None of these tools were marketed for profit - in fact, they were and are given away freely. Given this type of model, where is the motivation to create marketable products? Lack of motivation does not equal lack of innovation.

Lets take this one step further and consider the computer itself. Computers were not initially created to be marketed for profit. They grew out of the human need to expand beyond the limits of our own minds - and fittingly enough for a military purpose (Eniac, for example, was built to calculate artillery trajectories). It wasn’t until the beginning of the personal computer age that companies began to see a profit potential. IBM focused on selling hardware, Microsoft focused on selling software, and Apple sold both.

If there is a lack of innovation in the computer world, it is not because of any failings on the part of Open Source. Scientists of all people should understand the value of sharing knowledge and efforts. A distributed group of scientists have a better chance of solving complex problems than a small group working in isolation. The Open Source model is about sharing and teamwork. Encapsulation breeds jealousy and mistrust. There is no motivation to share knowledge when personal or corporate profit becomes the focus.

No comments: