The software industry has a dearly held belief that installable applications can and should be treated as packaged product, to be sold to consumers at retail like a bottle of shampoo or a box of dried pasta...What began as a consumer phenomenon with things like Microsoft Word, RealPlayer...has spread into the market for enterprise software. Vendors make claims about "integrated innovation" and "pre-tested distributions" and "end-user programmability," but what they are doing is propagating the myth that software can stand alone. Software companies are desperately defending a business model that has not stood the test of time.
Of course, alternative business models to software-as-shrinkwrap exist. Noise has been made by software companies about an impending wave of 'software as a service'...but the same companies have not yet cracked the business and technical problems associated with creating reliable consumer services that can be effectively tied to shrinkwrap. Notable failures include Microsoft's "Hailstorm" as well as Sun's several Java-based services.
Just like structures that are joined together from component parts in the physical world, things built using hardware, software, and service components degrade in the face of change. Because of this, they also demand constant attention. The craft of making software-driven machines is defined by a process of constant rejiggering. Until tools and software systems become far more advanced, the old dream of mass-marketable, self-healing products will not survive the harsh environment created by hostile hackers, governments, corporate competitors, and demanding consumers. Stand-alone PCs are susceptible to viruses, cellphones are susceptible to changing infrastructure, and even things as simple as appliances are susceptible to changes in the environment that surrounds them. The right way to view software is as pliable building material, rather than as finished product.
Because of this, Doc's metaphor of the software industry as the construction industry is nearly perfect: those who build and maintain software are like the millions of architects, builders, and contractors who help us maintain and preserve our homes, businesses, and public places in the face of dryrot, hurricanes, vandals, changing family sizes, and all of the other forces that conspire to ruin them. The guild of craftsmen who join software to service, software to device, and software to other software are not factory workers cranking out uniform widgets. They are journeyman integrators who create vernacular items matched to quotidian requirements. Of course there is a mass market, but mass market software, like any other prefab item, is destined to be far less than perfect. ... By adopting Doc's metaphor in place of the shrinkwrap fallacy, society could begin to seek the conventions, legal theories, and marketplaces that will inevitably emerge to correct current abusive practices, ownership disputes, and liability issues. If hardware, software, and services were commodities to be spliced together, it would be easy to understand how to fit them into our existing framework.
Microsoft and the other companies who have built their marketplace positions by cleverly leveraging control of software integration standards have an interesting choice to make. Will the upcoming wave of network integration standards such as Indigo reflect a desire to make the life of the journeyman integrator safer and more productive? Or will they point toward yet another wave of sub-standard prefab systems, rich in features, but difficult to maintain and even more difficult to combine? Only time will tell, but I am very skeptical that any substantial change will occur.
Of course, the market forces associated with commodification will continue to put pressure on the less socially efficient approach represented by proprietary software integration mechanisms. Practical people everywhere will continue to recognize and adopt alternative approaches to building software systems. Ultimately, the friction between software-as-shrinkwrap and software-as-commodity will lead to shrill and contentious posturing in courtrooms and halls of government,
The XML standard is partly meant to set the grounds for the free interchange of data. Are you concerned about companies piling proprietary stuff on top of the standard? ... To the extent that I've looked the (XML) formats for Office 2003--I can deal with them. They're not simple, but then, Word isn't a simple product. But if need be, I could write a script to process a Word XML file and extract the text of all paragraphs with certain references--which would have been a very daunting task with previous editions of Word. So, yeah, there's room for concern. As an industry, we have to be vigilant to preserve open access to our own data. But we are moving in the right direction.You've made some comments about XML being too hard for developers. Does that still hold true? ... Having said that, in terms of interoperability and openness and attractiveness in the marketplace, it's more than worthwhile. The answer is better software, and we're getting that. In particular, the XML handling class in .Net is a substantial step forward from what's been available before in terms of the amount of work required to get the job done. ...