Closed file formats
I’m going to talk about one of the many causes of software monopolies, which are closed file formats. We all know that if an application can generate data that no other application can understand, the user will be forced to stick with said application if he happened to do some work it. What are the problems of this?
It seem pretty obvious that this kind of locking is a good way to instaurate a monopoly, you can just look at Microsoft Office for an example. The other problem is obsolescence. What happens if you use a product from a company to do your work, stored in a closed file format and the company closes? You can just stick using the product you bought with no problems, but you have no guarantee that it will work on later computers and soon or later you will just have to redo your work.
As an user of software product, you should try your best to use software which uses open and well documented formats to store data. I know this is not what you usually look for when you buy software, but hey, it will come to (y)our favour.
As developers, what should we do? If our applications are going to produce some kind of content i think we should document the file structures we are going to use to store it. Either that, or use an existing open format (which would be the best option, but not always possible).
Also, a big advantage of using a documented file format, even when you wrote that documentation, is that you are less likely to screw up in the implementation because you have a reference to work with. I’m assuming you document the file format BEFORE using it, which is the way you should do anyways. Also important: code is no documentation. I know of some open source applications who claim they use open file formats because you can figure out from the implementation. That’s not true, when no documentation is provided a format is still closed, no matter how many different implementations you have access to.
But there is another entity which in my opinion should regulate these issues. Maybe is too early, but i think governments should force interoperability and the use of open file formats with laws. I know we all dislike government control, but it controls many aspect of our life and business. Computer business should not be any different and some regulations would advantage small companies which currently cannot emerge.
December 29th, 2006 at 12:21
While it is true to have open source interchangeable formats is a goal there is something to be said for commercial software formats and software.
Many software developers or “engineers” are artists by nature.
Many of their projects may lack simple functionality and ease to the average user.
A commercial software project with its professional management and constraints while saddling users with propietary limiting formats will bring a product to market with some consistency inherent.
Look at Linux distros as an example .
Good for programmers to endlessly tinker with but not that functional for an average ( non programmer ) user if the distro does not meet their specific needs or they have to change or install something out of the immediate ordinary.
December 29th, 2006 at 12:30
To Kirk Badger: Actually i’ve talked about open file formats, not open source software. Commercial software can and should publish the specifications of the file formats they are using for other software to implement. This does not mean they should also provide an open implementation or even start a community based development of said format. One positive example of this is the Adobe PDF format. Is open for everyone to implement compatible software, is widespread and yet its development is not community driven.
December 29th, 2006 at 15:42
Michele,
I thought you might be interested in this. Please note the date it was written.
http://www.wired.com/news/technology/0,1282,9482,00.html
December 29th, 2006 at 16:24
Thank you Chip, is a nice read. I see this issue has been talked long before i could even surf the web.