% fortune -ae paul murphy

Clouds, history, and unmitigated drivel

(Note to readers: I'll be out of network reach until very late Sunday and so unable to respond to comments until then.)

As I mentioned earlier this week, the roots of the conficker worm go back to the RPC code added to BSD (and Apollo) in the mid eighties - the problem then and now being that you can't simultaneously open your OS user space to external applications and close it those same applications.

This was a big source of academic friction in the late seventies with those few muttering about systems integrity and implementation issues getting shouted down by grant getters wielding commitments to "appropriate" controls, hardware isolation, and the whole network shared user space thing - but what actually came out of it all was the Unix RPC structure and twenty-five years of progressive simplification as successful attacks demonstrated that the nay sayers had been right all along.

More recently, Microsoft has been trying for a decade to build a working network OS - and has failed to produce anything beyond what you'd expect from a senior year undergraduate project for a computing science class largely because their need to protect the client idea in a network context forces them into the RPC dead end.

Nevertheless, this is another dream that predictable failure cannot kill - to quote Ian Murdock:

What will be the cloud equivalent of the Linux distro?

I've been following the evolution of what is now called cloud computing for some time, and with great interest. Over the years, facets of cloud computing have had many names: ASP, grid computing, utility computing, Web services, SOA, mashups, SaaS, Web 2.0. In many ways, the emergence of cloud computing is the great coming together of these trends and technologies. But whatever moniker the industry puts on it, I'll always think of this great coming together as Tim O'Reilly described it in 2002: the Internet operating system.

Bit by bit, we'll watch the transformation of the Web services wilderness. The first stage, the pioneer stage, is marked by screen scraping and "unauthorized" special purpose interfaces to database-backed Web sites. In the second stage, the Web sites themselves will offer more efficient, XML-based APIs. (This is starting to happen now.) In the third stage, the hodgepodge of individual services will be integrated into a true operating system layer, in which a single vendor (or a few competing vendors) will provide a comprehensive set of APIs that turns the Internet into a huge collection of program-callable components, and integrates those components into applications that are used every day by non-technical people.

That essay, and the phrase "the Internet operating system", profoundly changed my thinking about Google and the other companies of which Tim wrote. They were no longer merely purveyors of browser accessible services, some of which were beginning to acquire APIs; they were collectively, and in most cases unintentionally, building the platform of the future piece by piece. For the first time, I could think about that platform in a context I understood very well.

The vision behind all this is appealing: have your computer automatically find and use any application you need without the limitations and hassles that go with having to run those applications locally.

Cool! except for Wintel/Lintel devotees whose worldviews are bounded by client-server - because the concept itself embeds the separation of user interaction from processing: meaning that no real implementation of these ideas would need the PC.

Unfortunately abandoning the PC idea is simply not acceptable to people whose living and self-images depend on the client-server architecture and, in response, they're willfully blind both to the history of RPC failure and the reality that Plan9, the second generation Unix designed by Pike, Thomson, Ritchie and others at Bell Labs, more than met their "network OS" goals in 1986.

Thus what Murdock and O'Reilly are really demonstrating in the bits quoted is that technologies which deliver what they're looking for but carry the widespread use of smart displays as a necessary corollary simply can't be allowed to enter their worldview -and it's that kind of behavior, bottom line, that dooms the Wintel world to this week's conficker and next week's who knows what new horror.


Paul Murphy wrote and published The Unix Guide to Defenestration. Murphy is a 25-year veteran of the I.T. consulting industry, specializing in Unix and Unix-related management issues.