Is there a solution to the interoperability problem?

Over the past fews days I have been commenting on the Autodesk – ODA law suit. Although my observations have been strictly related to the law suit only, some may have got the impression that I was leaning towards one side. I want to keep the legal battle out of this one.

Interoperability is a big big problem for the CAD software industry. I will not waste my time and yours in describing the problem because, firstly, I don’t know where to start, and secondly, we all are facing it, so we know all about it. The question is: Is there a solution?

In my view, yes. And you know what? Someone has already done it.

I usually don’t go out of my way to praise a particular CAD software vendor, mainly because I hate being called somebody’s pet, but also because I would like to maintain my neutrality. But I will make an exception in this case. I am talking about Robert McNeel & Accosiates and their CAD software Rhinoceros. McNeel has done it right and if all other CAD vendors followed suit, the interoperability problem would simply vanish.

When McNeel created Rhino, like any other vendor, they created a native file format for it and gave it an extension – 3DM (stands for 3D Model). But, unlike other vendors, they also founded the OpenNURBS Initiative, through which they offered free software libraries to read and write 3DM files. These libraries are available to everyone, even rivals. Their software license reads:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software.

There are absolutely no strings attached. Strings such as “for evaluation/educational use only”, or “not for use in a commercial environment”. Commercial use is not only allowed, it is encouraged. There are no copyright or copyleft restrictions. Truly extraordinary.

By doing this McNeel has made it very easy for Rhinoceros to exchange data with other CAD systems. They even offer free plug-ins to other CAD systems, such as SolidWorks, to read and write 3DM files. No need to reverse engineer. No file corruption. No “trusted” and “non-trusted” nonsense.

And people like me have taken things even further. When we wrote TerrainCAD, our terrain modeling software, instead of creating a proprietary file format and adding to the mess, we simply used the 3DM file format as the native format for TerrainCAD.

Now imagine if all CAD software vendors did the same thing. End users would spend their time doing useful work as opposed to fixing badly imported drawings, or even worse, recreating a drawing from scratch. The interoperability problem would simply not not be there anymore.

If one vendor has done it and not gone out of business, there is no reason why others cannot do it.

  • vistasp mehta

    True, that! I have always maintained that even if companies insist on closing the source-code of their software, they should be forced to open their file formats. Not doing so, amounts to a monopolistic and restrictive trade practice in my opinion.

    Microsoft had to be pushed really hard to even acknowledge the open document format (let’s see how badly they screw that up!) so maybe there is hope yet!

  • vistasp mehta

    True, that! I have always maintained that even if companies insist on closing the source-code of their software, they should be forced to open their file formats. Not doing so, amounts to a monopolistic and restrictive trade practice in my opinion.Microsoft had to be pushed really hard to even acknowledge the open document format (let’s see how badly they screw that up!) so maybe there is hope yet!

  • Deelip Menezes

    In my opinion, disclosing the specification of the proprietary file format is not necessary. What is necessary, though, is to offer software libraries (to everyone) that will read and write the concerned files.

    I say this because there may be an occassion wherein disclosing the file format specification may lead to abuse. For example, when I created the RP file format (see my article “Should Autodesk keep the DWG format a secret?”), I didn’t disclose the specification, because if I did, people would be able to write software to bypass the password, and security was one of the main reasons why I created the RP file format in the first place.

  • Deelip Menezes

    In my opinion, disclosing the specification of the proprietary file format is not necessary. What is necessary, though, is to offer software libraries (to everyone) that will read and write the concerned files.I say this because there may be an occassion wherein disclosing the file format specification may lead to abuse. For example, when I created the RP file format (see my article “Should Autodesk keep the DWG format a secret?”), I didn’t disclose the specification, because if I did, people would be able to write software to bypass the password, and security was one of the main reasons why I created the RP file format in the first place.

  • Ralph Grabowski

    Software companies are largely interested in the PR benefit from the illusion of openess.

    When one of the Big 3 CAD vendors (I forget which one now) “opened” their format, it came with a license that had some restrictions.

    When I and another CAD journalist each asked the company’s contact about clarifying the restrictions, we never received an answer.

    Clearly, this was a case of Openess PR.

  • Ralph Grabowski

    Software companies are largely interested in the PR benefit from the illusion of openess.When one of the Big 3 CAD vendors (I forget which one now) “opened” their format, it came with a license that had some restrictions.When I and another CAD journalist each asked the company’s contact about clarifying the restrictions, we never received an answer.Clearly, this was a case of Openess PR.

  • Stefan Boeykens

    If you provide libraries and no source, make sure you provide them in all platform versions… and that can be a pain:

    E.g. even when you want to nly provide support for Visual Studio on Windows, there are several versions of Visual C++: 6.0/98, 7.0/2002, 7.1/2003, 8.0/2005. They are all different and the compiled code is incompatible for linkers. You also have to provide both debug+release libraries for each version and static+dynamic link versions as well. And maybe single-threaded and multi-threaded. And maybe MBCS and non-MBCS etc…

    Or you could instead say: we only support one particular version…

    And then I have not taken other compilers such as Borland C++ and GCC and other platforms such as OSX and Linux into account.

    When UNIX started growing, there were so many different platforms and hardware and configurations that the only practical approach of distributing programs was to provide the source code!

  • Stefan Boeykens

    If you provide libraries and no source, make sure you provide them in all platform versions… and that can be a pain:E.g. even when you want to nly provide support for Visual Studio on Windows, there are several versions of Visual C++: 6.0/98, 7.0/2002, 7.1/2003, 8.0/2005. They are all different and the compiled code is incompatible for linkers. You also have to provide both debug+release libraries for each version and static+dynamic link versions as well. And maybe single-threaded and multi-threaded. And maybe MBCS and non-MBCS etc…Or you could instead say: we only support one particular version…And then I have not taken other compilers such as Borland C++ and GCC and other platforms such as OSX and Linux into account.When UNIX started growing, there were so many different platforms and hardware and configurations that the only practical approach of distributing programs was to provide the source code!

  • volker mueller

    Providing file format read/write libraries is certainly one approach. However, libraries provide a limited interface and, therefore, necessarily limit entity mapping to the perspective of the provider of the libraries. An open file format specification would allow other software vendors to look for the best possible entity mapping from their data format to the other data format (whichever that is), to reduce additional loss of information. Of course, in such a world I would expect that all software vendors followed suit and publish their file format specifications, too. Perhaps the argument could be made that in a truly collaborative project approach locked and password protected data files have no place anyway.

  • volker mueller

    Providing file format read/write libraries is certainly one approach. However, libraries provide a limited interface and, therefore, necessarily limit entity mapping to the perspective of the provider of the libraries. An open file format specification would allow other software vendors to look for the best possible entity mapping from their data format to the other data format (whichever that is), to reduce additional loss of information. Of course, in such a world I would expect that all software vendors followed suit and publish their file format specifications, too. Perhaps the argument could be made that in a truly collaborative project approach locked and password protected data files have no place anyway.

  • Anonymous

    Intersting info
    http://mcadonline.com/index.php?option=com_content&task=view&id=333&Itemid=73

    In an unusual industry move, Bass said that he had recently done the rounds of the main CAD vendors one by one, making them the same ‘show me your and I’ll show you mine’ file format offer. He said that both Bentley (MicroStation) and Dassault Systemes (SolidWorks, Catia) declined but some had accepted. He told me I’d have to wait till the official announcements to find out who Autodesk has done deals with.

  • Anonymous

    Intersting infohttp://mcadonline.com/index.php?option=com_content&task;=view&id;=333&Itemid;=73In an unusual industry move, Bass said that he had recently done the rounds of the main CAD vendors one by one, making them the same ‘show me your and I’ll show you mine’ file format offer. He said that both Bentley (MicroStation) and Dassault Systemes (SolidWorks, Catia) declined but some had accepted. He told me I’d have to wait till the official announcements to find out who Autodesk has done deals with.