Software interoperability and proprietary file formats

These days, when computers are commonplace, one would think that there was incentive to promote common and widespread use of technology that makes it easy to distribute, archive, and reuse data between applications from different vendors, running on a variety of operating system and hardware platform combinations. Unfortunately, that is not the case today. With Microsoft as the only really major player on the global desktop software market, and indeed Microsoft software is often everything most users are likely to ever get in touch with, why bother with interoperability? After all, a company must seek to protect its intellectual property, right?

Wrong, wrong, wrong. First of all, Microsoft is not the only player on the software market, even though through heavy use of FUD, as well as other monopoly tactics, many users are seriously deprived of choices. With the recent push of the concept of so-called trustworthy computing, particularily in the form of Microsoft's NGSCB (formerly known as Palladium) technology, this looks like it is only going to get worse in the next few years. This technology, along with Microsoft's .Net initiative and the US DMCA law, is giving large companies just about everything they need to not just stiffle competition, but also lock customers – businesses and ordinary people alike – into whatever schemes the company dictates.

The hype word of the year must be the concept of intellectual property, which seems to be brought up by large companies any time they don't wish to let competitors into a market. Most often in the computer industry, this involves software and hardware interfaces (APIs and low-level technical details necessary to write device drivers for hardware perhiperals) or file formats, although exceptions exist. Historically, most companies have made sure that their software can at the very least read files created using their competitors' products; nowadays, with Microsoft as close to the only player in the office software (word processing, spreadsheets, etc.) market on the Windows platform, very few users are even aware that there are choices. Indeed Microsoft software is far from always even compatible with other Microsoft software designed to accomplish the same task. In a market where commercial companies tried and failed against Microsoft's huge PR machinery, however, open source software is alive and well, even on Windows. Come NGSCB, though, there is serious risk that even this choice to users will no longer be available, or if it remains, will not be interoperable with commercial software.

The problem is that the DMCA for all practical purposes has outlawed bypassing any kind of security measures, or allowing others to bypass a security measure, no matter how weak, in the United States. Couple this with a combined hardware/software security system designed to restrict users' access to their own computers, software and data, along with Microsoft .Net storing data in (presumably non-interoperable) file formats in a location inaccessible to software not officially certified by Microsoft, and the fact that the open source development model makes any such certification impractical or possibly even impossible, and that much software development (both commercial/proprietary as well as open source) takes place within the United States, and the problem becomes more evident. We as computer users risk losing control of the very documents we create ourselves, and almost no one is reacting!

Software interoperability, and particularily publicly available specifications of the file formats used by various applications (whether such specifications are available as human-language written documents, or computer software source code), will not resolve all of these issues, but are certain to go a long way towards ensuring that the documents that we create today will be readable to others, not just today, but also in the future. If we do not take active steps to protect our own information from the hands of corporations, chances are that five, ten, or twenty years from now, very little of the information that is available today is going to remain, whether at all, in formats or on media readable at that time without the use of obsoleted equipment (look at the speed with which 5-1/4" floppy disks disappeared, and have you even heard of 8" floppy disks?). There is no inherent contradiction between availability of low-level specifications or even source code for computer software, and ability to run a company. MySQL AB in Sweden, the company behind the immensely popular MySQL database engine (on the web site called the world's most popular open source database) makes the source code for their main product available for free under an open source license termed viral by Microsoft executive Steve Ballman, yet the company employs about 100 people worldwide, offering training, support, consultation and other services based around their products, all according to their web site. Red Hat, Inc. in the USA (as well as several others worldwide) has built a company around the operating system Linux, available under exactly the same license, often even making their entire distribution CDs available for free download by anyone, by offering value-added services to paying customers. The list goes on and proves that even after the dot-com era, companies do not have to keep everything secret in order to remain.

All this is why I make sure that whatever applications I use to create my works, whether I intend to release them to the public in digital or analog form, just distribute my works within a specific group of people (large or small), or indeed not release them at all, sufficient information is available under a free enough license so that anyone with the proper skills will be able to write a program that allows them to make use of the digital originals. It is my contribution to ensuring that the information will be preserved for the future, and I urge everyone to do the same.


This document was last changed in November 2003.

Other documents that may be of interest

Listed in no particular order.

Valid XHTML 1.1 Valid CSS 2