2010-04-22

Is Open Source Worse at Innovation?

A comment on Charlie's Diary from William T Goodall rather stuck in my craw:
I think a new consensus is emerging - that open source is very good at solving some well-defined problems such as building services like web servers and database engines and scripting languages and very bad at things like building UI or innovation. Whereas closed source is very good at UI and innovation.
The irony of this, of course, is that his words come to me via arguably the biggest innovation in the last fifty years: the TCP/IP based Internet.

Those familiar with networking terms will know that "internetwork," often shorted to "internet" just as "network" has often been shortened to "net," is a technical term for a network of networks that can all communicate amongst each other. Let's see why, though there have been many internetworks or internets, this one gets the capital 'I'.

Through an open project, where ideas, standards and code were freely shared, TCP/IP was developed in the early 1970s as one of the world's first internetworking protocols, quite probably the first. It's not clear how much of the early code survives and how widely it was shared; the world was one of few hosts, and divided by a lot of different languages and architectures. Over the next ten years, however, the C programming lanuage and the Unix operating system started to take hold, and expansion in the use of C, in particular, made the open source network stack written by some folks at Berkeley University particularly popular. Probably because of this openness it became the primary research platform for TCP/IP: this is where many of TCP/IP's innovations started and were tested. As well, as commercial interest grew, the code became the base of many commercial products (including the first Windows TCP/IP stack).

Starting from the late 80s, the commercial world came out in force with their own protocols and innovations. Major competitors included not only the big firms such as IBM and DEC, but smaller firms that, for a while in the late 80s and early 90s, came to dominate the microcomputer networking market, such as Novell and later Microsoft. The 90s became a battleground for networking protocols, with TCP/IP fighting it out with the rest.

As it turned out, TCP/IP stayed ahead of the pack by continuing to be more innovative than the rest, dealing with technical problems earlier and better than its competitors. I spent the early 90s working with several different protocols. There were a surprising (to me at the time) number of things that could be done poorly, and most protocols did them poorly, at least at first. Some of them eventually caught up with TCP/IP, others never did, but TCP/IP was always overall the best.

Eventually, whether other protocols could eventually do what TCP/IP did made no difference: TCP/IP spent the 90s wiping the floor with its competition, and as of the early 2000s had essentially taken over the entire world's networking. There have been many internets, but the Internet is a TCP/IP-based one. It's hard to think of any proprietary system developed in the past fifty years that's been this successful, this innovative, and changed the world this much.

For those interested in studying this further, there are plenty of books on the history of the Internet, with varying coverage of TCP/IP versus other protocols. On of my favourites (though it stops in 1995) is Peter H. Salus' Casting the Net.

No comments:

Post a Comment