Sponsored Link •
While I'm all for healthy competition, the open source world might be taking it a bit too far.
At the end of a gruelling week at OSCON, the O'Reilly Open Source Conference in Portland, Oregon, I considered the state of the open source world. One of the advantages of having your company run a conference is that you get to give the keynote speech, which is how come I (and 1500 others) got to hear Tim O'Reilly speak on "The Open Source Paradigm Shift".
O'Reilly is an intelligent and insightful guy, so it was a pleasure to hear his talk. I won't attempt to summarise it -- you can read it in his own weblog (apparently, if I can believe what I overheard on the conference floor, prefaced by remarks to the effect that "you should read this if you want to know what I said rather than what other people's blogs say I said").
From my point of view the most interesting thing was the way he took me back to 1985, when I was a Sun Microsystems Senior Technical Support Specialist and the brave talk in the company was about how we would "bring Unix to the desktop". Right. What actually happened, of course, was that Apollo and Digital (where are they now?) and H-P and Sun and IBM all spent years beating the hell out of each other for dominance of the corporate Unix desktop market, only to wake up and find that a young upstart called Microsoft, more focused on their goal and with fewer competitors trying to exploit their chosen (and by then non-proprietary) hardware platform, had taken control of the desktop while the Unix vendors were still licking the wounds they'd given each other.
The rest, as they say, is history. I have said many uncomplimentary things about Microsoft, but I have never been able to criticize Bill Gates' business instincts. He and his management team saw the opportunity that the disarray among the competition represented and exploited it ruthlessly. The Common Desktop Environment, the Unix world's eventual attempt to arrive at an X Window-based platform that would allow application interoperability, was always going to be too little and too late.
Why are these memories significant at this particular moment? Because Tim O'Reilly very lucidly explained how the open source world was commoditizing the software market to the extent that the new killer apps are Amazon.com, Google, PayPal and the like - web services. By buying or reviewing a book on Google you actually modify the way the application will respond to future inputs, event though the code is determinedly proprietary. So the the operating system and the database and the programming languages are now commodities, and the applications that process the user data represent the new proprietary battleground.
The seminal moment came the next evening, when I was entertained to dinner by my publisher, Sams, with a bunch of my fellow authors. Halfway through the evening an author across the table from me said "I hate X", where X was (if I remember correctly: publishers can be generous with their wine on these occasions) an open source programming language. I berated him for wasting emotional energy - as sensible to hate the color green, or cheese, neither of which will change no matter how vehemently it is vilified. Next day, bells started ringing.
I was reminded especially of the industry response to Sun's introduction of NeWS, the Network extensible Window System. A fine piece of technology based on the PostScript graphical model, using real-world units rather than pixels to describe the shapes to be rendered (and therefore well-to displays of varying resolutions), with the ability to deliver compact interpretable descriptions of the required graphics to the desktop rendering engine rather than bulky bitmaps (and therefore more efficient in its use of network bandwidth,then a scarce resource).
In short, something so clearly fitted to the tasks for which it had been designed that all the competing workstation vendors immediately banded together to support X Window, thus ensuring the death of a beautiful concept. It is not my intention to bemoan the fact that superior marketing is much more important to business success than superior technology. Even I am not such an idealist. But there is a lesson here, relevant to today's situation. If Sun had chosen to abandon NeWS earlier, or if the competition had adopted it rather than competing, there would have been less chance for Microsoft to succeed against them all.
The open source world is presumably interested in proving the superiority of the open source development model, as contrasted to the proprietary techniques adopted by more traditionally commercial vendors. Yet the Perl programmer sees as "the opposition" not Visual Basic, but Python, or Ruby, or Ocaml. The Debian user "hates" Red Hat, or Suse, or Mandrake rather than Windows. MySQL users compete not against Oracle or Sybase users but against PostgreSQL, MSQL and SQLlite.
Competition is a good thing, but huge amounts of talent and energy are being wasted duplicating in one language functionality that is already available in one or two or three others, simply because of the almost religious fervor with which the devotees of the various open source languages, tools and platforms seek to prove the superiority of their own particular chosen technologies. This is madness, and it's certainly not the way to win mindshare among the uninformed.
My own opinion, for what it's worth, is that we should seek to improve the interoperability of open source systems and components. If a given piece of functionality is available in, say, Perl then it should be easier for a Python or Ruby programmer to use the Perl module than it is to rewrite it (with a few "minor" tweaks and incompatibilities) in the favored language. We should focus on the goal of proving that open is better than proprietary, and deriving the benefits of avoiding such wasteful duplications.
To this end I see both Parrot and Mono as encouraging signs, even despite technical misgivings, in that they seek to provide and support interoperability rather than emphasise the superiority of one technology over others. I particularly like the way that PostgreSQL is so determinedly language-agnostic, having the ability to support components programmed in Perl, Python, Ruby and several other languages.
There's a lot further to go , however, in getting the open source world to wake up and smell the coffee. I couldn't say it any better than the quote from O'Reilly on the front cover of the conference program: "One of the greatest challenges for open source in the next few years is to understand and adapt to the paradign shift implicit in network computing, and to shed the legacy thinking of the desktop era". Interestingly, he was talking about technological developments, but the concept is just as relevantly applied to human behavior.
|Steve Holden has been using computers longer than some of you have been alive, and he still isn't tired of it. The fascination is to do with the modeling flexibility that information systems allow. Steve consults to help his clients design and build their network architectures and programmed web systems, and teaches networking, database and security classes. He is the author of "Python Web Programming" (New Riders, 2002) and chaired the PyCon DC 2003 conference.|