About Operating Systems and Networks

“The true operating system is the net itself”

This phrase, common marketing argument in the late nineties, made me remind that in the eighties, Sun Microsystems' founder, Scott McNealy, used the slogan “The Network is the Computer” to describe his vision.

But, can we safely mix both concepts?

Actually open your browser, type “The Network is the Computer” (with quotes) in Google, hit the “I’m Feeling Lucky” button and you will be redirected to Sun’s website:

“In 1982, we were just a group of young guys who believed The Network is the Computer. Today, I’m proud to say this principle still guides Sun’s business and is driving many of today’s prominent innovations, trends and business models. It’s great to be back on stage with this group of big minds and talk about the history and evolution of Silicon Valley, the future of the network, and what this all means as we enter a new age of participation on the global network.”

(Scott McNealy, 2006)

Now, somehow I cannot help myself of thinking that such a statement, actually is some kind of word game, where one mixes up different common but fairly unrelated concepts, and at the end you get a very good marketing phrase. And with all marketing phrases, they play mercilessly with ambiguous concepts:

“Most current usage of the term “operating system” today, by both popular and professional sources, refers to all the software that is required in order for the user to manage the system and to run third-party application software for that system. That is, the common understanding includes not only the low-level “kernel” that interacts directly with the hardware, but also libraries required by applications as well as basic programs to manipulate files and configure the system.

The exact delineation between the operating system and application software is not precise, however, and is occasionally subject to controversy.”

(Wikipedia, 2006)

From that point on, trouble (and marketing) begins; remember that Microsoft strategy of binding the internet browser to the operating system, making it impossible to be replaced, and taking it from application to system level. It not only changed the shape of the computer desktop, it also started lawsuits, concept breaks and countless reboots.

The key point for Sun’s statement is that very limit between system and application software:

“Let us begin by dividing a machine’s software into two broad categories: application software and system software”

(Brookshear, 2004)

When this limit is fuzzy, one can take the whole concept of the network layer to the lower level of the system software, and thus Sun’s catch-phrase gets its meaning.

For me, one thing is a computer running an operating system (any brand or technology), and another very different is a set of computers connected through some kind of network. The first is an entity by itself, self-contained, that can run without a network connection; the latter exists from the moment that there are at least two nodes connected. There is an implicit dependency from the network to the computer. From that point of view, the “true” operating system was, is and will be the one running in the node.

There is, however, some trends and shared characteristics that show that a new “abstraction level” is appearing, as network-capable operating systems become common; computers connected in networks achieve much more than isolated ones. What are, then, the factors that contribute most to this development?

In my point of view, the most important of all these trends are:

Each one of these trends make the line between operating system and networks each time fuzzier, thus creating the illusion that both can be merged in the same concept. Let’s give a brief look at each one of them.

Open Source

I think that the Open Source movement shapes this thin line, providing strong competitors to commercial packages, stimulating creativity through software source code availability, and spanning new business models all over the landscape:

“The key point about having source was that you could see how other people did things. This radically lowered the barriers to learning, and because learning by example means you don’t have to spend your energy reinventing the wheel, imitation soon sparked innovation.

We saw a similar explosion of creativity in the early days of the web. Tim Berners-Lee’s original web implementation was not just open source, it was public domain. (…)

But even more significantly, the “View Source” menu item migrated from Tim’s original browser, to Mosaic, and then on to Netscape Navigator and MSIE. Though no one thinks of HTML as an open source technology (because of the fixation on licensing), it’s been absolutely key to the explosive spread of the web. Barriers to entry for “amateurs” were low, because anyone could look “over the shoulder” of anyone else producing a web page. Dynamic content created with interpreted languages continued the trend towards transparency.”

(Tim O’Reilly, 2000)

I think that what Tim says is brilliant, and I can only recommend reading the whole article. The capability of discovering how things work raises the quality bar of the systems, guarantees its availability in poor countries (since they just need a network connection to get them for free), thus “lowering the barriers of entry” and helping others contribute new ideas in the whole network, which then grows in value following Metcalfe’s law:

“Metcalfe’s law states that the value of a network equals approximately the square of the number of users of the system (n ^ 2). Since a user cannot connect to itself, the actual calculation is the number of diagonals and sides in an n-gon”

(Wikipedia, 2006)

In terms of the thin line between network and operating systems, this means that newer ideas using network connections appear, later seamlessly incorporated in operating systems.

Standards and Interoperability

The trouble of connecting different computers, using different hardware and running different operating systems can be achieved by:

The latter option, much more rational from an economic point of view, has led to the creation of a set of organizations that set standards used throughout the industry:

All of these organisms have members coming from industrial and academic backgrounds, and provide a common foundation, best practices and formal standards that allow the industry to go to new levels.

In the field of networking, this helps by providing standards such as SOAP (Simple Object Access Protocol, http://www.w3.org/TR/soap/) which allows computers in networks to securely share “information services”, interchanging information in XML format (http://www.w3.org/XML/) using the HTTP protocol (http://www.w3.org/Protocols/).

This level of interoperability effectively turns networks to the level of operating systems, where the concept of low-level API gets a higher level meaning of “service”.

Conclusion

I do not think that we can mix the concepts of operating system and network so easily; they should be always relied to their original meanings. There is, however, a synergy that comes from their combination and that makes the whole platform stronger than it was before.

References

J. Glenn Brookshear, “Computer Science, An Overview, Eighth Edition”, ISBN 0-321-26971-3, Addison Wesley, 2005

Sun Microsystems, Scott McNealy, “Sun Microsystems' Founders Take Center Stage at the Computer History Museum” [Internet], January 11th, 2006, http://www.sun.com/smi/Press/sunflash/2006-01/sunflash.20060111.1.html (Accessed February 11th, 2006)

Teruo Koyanagi, “Photo Album Online” [Internet], http://www.csg.is.titech.ac.jp/~mich/photos/ (Accessed February 11th, 2006)

Tim O’Reilly, “The Network Really Is the Computer” [Internet], June 8th, 2000, http://www.oreillynet.com/pub/a/network/2000/06/09/java_keynote.html (Accessed February 11th, 2006)

Wikipedia, “Metcalfe’s law” [Internet], http://en.wikipedia.org/wiki/Metcalfe's_law (Accessed February 11th, 2006)

Wikipedia, “Operating system” [Internet], http://en.wikipedia.org/wiki/Operating_system (Accessed February 11th, 2006)