Extensibility and critical mass

Simon Fell on extensibility:

Coping with Change [ Sam Ruby's Radio Weblog ] More good stuff from Sam, he also points to this post about extensibility. This is why I prefer SOAP over XML-RPC and RSS 1.0 over RSS 0.92, because they are extensible in a non-centralized manner (using namespaces). For example, a while back I wanted to syndicate information about time based events , RSS 1.0 allowed me to compose in the additional metadata I wanted (and in fact, I was able to re-use some standard metadata defined by Dublin Core ), whilst RSS 0.92 required me try and get the spec rev'd, and whilst there is now a RSS 0.93 spec, its appears to be pretty much dead in the water. [ Simon Fell ]

Boy, is this ever a touchy subject. I understand and appreciate both sides of the issue. Extensibility does matter, enormously, but not until critical mass creates the environment in which it can. For what it's worth, I believe both of these premises to be false:

COM, for example, was non-extensible (as Sam defines it), yet it reached critical mass. Now MS has the luxury of replacing it with a more extensible infrastructure.

Meanwhile, the landscape is littered with the corpses of wonderfully extensible systems.

Could COM and .NET have happened in one iteration? It's an interesting question. Perhaps it would have been possible to make 1990s-era COM interfaces be a degenerate case (singly rooted in an MS namespace) of something more general, such as is now emerging. And, to do this in a way that wouldn't have slowed anybody down.

We can't repeat that particular experiment. The tradeoffs being made now between extensibility and critical mass are happening in a different world. Nobody knows, for sure, where the right balance point lies.

One thing is sure, though. Until and unless critical mass is achieved, we are just angels dancing on the head of a pin.


Former URL: http://weblog.infoworld.com/udell/2002/03/15.html#a139