There's been a lot of discussion of "open systems," "open source," and "open standards," over the past - well, 30 years - and I'd like to add some refinements to the current debate. Granted, I seem to spend a disproportionate amount of my time defining things, but it seems like a lot of industry rhetoric right now depends upon redefining history and vocabulary.Good article, read all of it.
So let's start with my friend David Kirkpatrick. David just wrote an interesting piece which suggests "open" is really defined by the degree to which a vendor seeks interoperability with other vendor's products. I agree with much of the article, but my view is David's article misses a critical subtlety.
Which is that for the most part, the definition of open that matters most is the one experienced by a customer or end user - "openness" is defined by the ease with which a customer can substitute one product for another. If you love a product, but the vendor providing it triples its prices, how easily can you move from that product to a competitive product? If it's an open product, the customer will say it took no work. If it's not open, the customer's choices will be impeded - their options will be closed (and they'll find themselves paying big bucks for products).
[... Unix: Solaris vs other Un*x systems ... ]
So what if a customer wants to move today? It takes work. Is it doable? Sure, but depending upon the sophistication of your application, or the extent to which you've taken advantage of Solaris's innovation, it's far harder to move from Solaris to AIX, or Red Hat to SuSe, than from IBM's WebSphere to BEA's WebLogic. Run the same analysis on moving a reasonably complete .net application (eg, not IIS) from Windows to a substitute. You have to rewrite it (which, of course, many people do - but that's beside the point.)
Anders Jacobsen |