Deelip.com

Tuesday, August 01, 2006

Should Autodesk keep the DWG format a secret?

Over the years, Autodesk and its proprietary DWG file format have been the subject of many articles, discussions and debates. I have heard all sorts of reasons why Autodesk should release the DWG format to the general public. Some made sense and some didn't.

I, for one, am very happy that Autodesk has kept it a secret. No, I am not affiliated to Autodesk or on their payrole. I have this strong opinion because I have been invloved in designing, developing and implementing CAD Data Exchange software since 1999 and have had my full share of data exchange nightmares to deal with.

Way back in May 2004, I founded the
OpenRP Initiative, a non-profit initiative to "attempt" to solve the data exchange and transfer problems of the Rapid Prototyping Industry. At that time, I was in two minds whether to release the RP file format specification to the general public or to keep it secret. I kept it a secret (and it still is) for one and only one reason - to prevent it from following the footsteps of the IGES file format.

Let me explain. Way back in 1979, The IGES file format was created to achieve greater interoperability between CAD systems. 27 years later, we can now see the mess that IGES is in. Over the years, irresponsible software vendors created their own "flavors" of the IGES file format, thereby defeating the very purpose of the "standard". One look at
Rhinoceros' IGES export options dialog box says it all. You are asked to choose the type of IGES file you want to create. There are 60 types of IGES files!!

Years ago, I wrote an AutoCAD plug-in to import an IGES file called
IGES Import for AutoCAD. I have issued numerous refunds to customers who complained that our plug-in "does not work". In each and every case, the customer was trying to import a non-standard IGES file. I cannot stress enough the importance of maintaining the sanctity of a file format.

So coming back to Autodesk and DWG, if Autodesk makes the DWG file format specification public, is it possible that software vendors will make a mess out of it as well. Most probably, yes.

The argument that the designer should have control over DWG data does not appeal to me. Do you have control over the formula used by Coca-Cola? Is it necessary for you to know the formula for you to enjoy the drink? You pay for the drink and you drink it. By not knowing the formula, your drink does not become less enjoyable. However, if they did release the formula, you would get a bunch of "coke-a-likes" in the market. Would you let your child drink a coke-a-like? Probably yes, because you know that the FDA would not allow an unsafe product in the market. But who is playing the role of the FDA in the CAD industry?

People have reverse engineered the DWG format and have created libraries which are extensively used to read and write DWG files in a variety of CAD systems. I have myself used such libraries in my software and am happy to report that these libraries have not caused me or my customers major headaches. But what is the guarantee that things are going to stay that way? The people making these libraries are experienced professionals who have a pretty good sense of what needs to be done and how to go about doing it. But what happens when a programmer, who has hardly any experience in CAD Data Exchange, is given the DWG format specification asked to develop a DWG I/O module in limited time. I can smell disaster. I guess thats how IGES got so screwed up.

Autodesk has the DXF format which has already been abused. The main reason for its existence was to exchange data between AutoCAD and other CAD systems. I have seen so many horribly written DXF files. Recently a customer sent me a DXF file which had the words "Generated by ITEDO IsoDraw 4.00" in the header. This particular DXF file had a blank line after each "valid" line in the file - something so crazy, I couldn't believe that someone actually wrote such a program. Needless to say, AutoCAD, SolidWorks, Rhinoceros and 3ds max could not read this file. I didn't bother to check other CAD systems.

Moreover Autodesk is not making it easy either. Autodesk offers RealDWG, a library to read and write DWG files. But it is not free. In fact, for developers of small applications (where DWG support is not a main functionality), it turns out to be quite expensive. In any case, it is way more expensive than any of the reverse engineered libraries out there. Instead of making reverse engineering of the DWG format more and more difficult with each new version, Autodesk could simply give the RealDWG library for free. I did this with the OpenRP Initiative. I gave away a library and command line executable so that anyone, even end users with basic scripting knowledge, could add RP file support to their applications. I don't think there will be anyone stupid enough to reverse engineer the RP file format. So I can be well assured that all RP files on this planet will essentially come from one authentic source - my software.

I dont know how much money Autodesk makes by licensing RealDWG. I wonder if it will be willing to forfeit the amount to give its dear customers much needed peace of mind... and, in the bargain, put the reverse engineers out of business.

Should Autodesk keep the DWG format a secret? Hell, yes!!

Should Autodesk give RealDWG away? It would be "Real" nice of them. I, for one, would certainly be happy.

9 Comments:

  • I agree with your comments on "open file" corruption: I once had to translate several thousand ComputerVision files into AutoCAD through a third-party DXF batch translator. Turns out the programmer couldn't spell "continuous", so I had to open every file manually in WordPerfect, do a search and replace, then "save as" to a TXT format.

    Bill Fane

    By Anonymous Anonymous, At 5:29 AM, November 23, 2006  

  • I don't quite understand this argument.
    What's the difference between CAD data exchange and other forms of data exchange such as the data exchange that takes place when you use TCP/IP protocol? Should we use one 'trusted' implementations of TCP/IP instead of having multiple competing implementation of the standard?
    By the way, what makes you believe that RealDWG can only create drawings that are 'correct'?

    By Anonymous Anonymous, At 9:08 AM, November 27, 2006  

  • I have no problem with people writing their own libraries to read/write DWG files. In fact, it will be a great thing as programmers like me would have an option of choosing between them. In light of the Autodesk/ODA law suit, I would like to repeat here that I have used the DWGdirect libraries in the past and I have not received any complaints from customers stating that their software started acting weird after reading the DWG files created by my software.

    Anonymous, your question: "what makes you believe that RealDWG can only create drawings that are 'correct'?" is quite interesting. If you asked me the same question with respect to the DXF file format, I would say: "Yes, I can write a library to read/write DXF files and I guarantee that would be 'correct'.". I would be able to give you such a guarantee because Autodesk has published the DXF file format specification. Autodesk has not disclosed the DWG file format specification. So people have to reverse engineer it, which essentially is a trial and error method of getting it right. Programmers make mistakes (read "bugs") when working with detailed specifications. Imagine what would happen if there was no specification at all.

    By Blogger Deelip Menezes, At 11:21 AM, November 27, 2006  

  • See my article "ODA shoots itself in the foot"

    By Blogger Deelip Menezes, At 12:38 PM, November 27, 2006  

  • This "open specification" problem seems to be unique to the 2-D CAD world.

    We haven't had the same problems importing STEP models created by other 3-D CAD systems, which is a open specification. (Yes, STEP isn't perfect, but it hasn't been a big problem).

    We haven't had problems opening PDF files made by non-Adobe applications - PDF is another open specification (and Adobe seems to be doing fine financially).

    The Internet is built upon open specifications. And proprietary, but non-secret specs are behind PCI, USB, WiFi, etc. The compatibility issues are handles by conformance testing -- and you only get the Logo if you pass.

    Finally, IANAL but you can lose IP protection if you are guilty of anti-trust - see FTC v Rambus.

    --Automation developer

    By Anonymous Anonymous, At 1:34 AM, November 28, 2006  

  • This "open specification" problem seems to be unique to the 2-D CAD world.

    We haven't had the same problems importing STEP models created by other 3-D CAD systems, which is a open specification. (Yes, STEP isn't perfect, but it hasn't been a big problem).

    We haven't had problems opening PDF files made by non-Adobe applications - PDF is another open specification (and Adobe seems to be doing fine financially).

    The Internet is built upon open specifications. And proprietary, but non-secret specs are behind PCI, USB, WiFi, etc. The compatibility issues are handles by conformance testing -- and you only get the Logo if you pass.

    Finally, IANAL but you can lose IP protection if you are guilty of anti-trust - see FTC v Rambus.

    --Automation developer

    By Anonymous Anonymous, At 1:35 AM, November 28, 2006  

  • Corruption Of A Standard
    I agree with your comments, but I can not agree with the reasoning behind keeping the format a secret because of:

    "The corruption of a standard."

    A standard can not become corrupted as you would like to imply to people. Instead a software vendor or more accurately:

    1. A fly-by-night software developer.
    2. Beta software.

    Would be the cause of corruption of that and those files that try to employ that standard. Not the standard.

    IGES Fruitless Argument

    Let me explain. Way back in 1979, The IGES file format was created to achieve greater interoperability between CAD systems. 27 years later, we can now see


    Whoa. Slow down. Think about what you are saying. I mean you own a software company and you think like this? .. 1979. Where was global communications? When you bought a software package you did so through word or mouth, phone calls, and sheer experience. We live in the year 2007 not back in the days when trying to find the specification for something was almost impossible with out making a phone call and/or a visit to the actual engineer who was responsible for device. These days you can find specifications and standards published and accessible in a instant through global digital communications.

    I feel you are making assumptions by considering today being 1979. I can understand how this happened back then, but I can not understand how it could happen as you imply it will today.

    IGES Comparison, Again (1979)

    Years ago, I wrote an AutoCAD plug-in to import an IGES file called IGES Import for AutoCAD. I have issued numerous refunds to customers who complained that our plug-in "does not work". In each and every case, the customer was trying to import a non-standard IGES file. I cannot stress enough the importance of maintaining the sanctity of a file format.


    Here you are in the next paragraph proposing upon the faulty argument in the first paragraph that by opening the file format it will cause world wide corruption of the "standard", or to be really nice and just assume you meant X of files because of a 1979 incidence.

    Frankly. You use the software and you pay the price. If you download something and use it in a professional environment with out testing it then I call you a idiot and you should be fired.

    If the software comes with some kind of warranty of some nature of some I do not care what and you use it in a production environment with out testing it I call you a idiot and you should be fired.

    You also have to understand the life cycle of software in the majority of cases starts in a beta phase and advanced towards a production phase. Once at a production phase it meets a adoption phase and if and only if the user base is there will it become adopted and possibly replace a existing standard or amend it or whatever you may like to explain it as.

    Its not:

    1. AutoCAD
    2. Software Developers (Fly-By-Night or Not)

    It is the software users, especially in a production environment, that make the choice as what software package to use.

    A company might like to develop a module that can read and extract information from a file, but might not write or modify the file. There are many numerous cases where there is no valid reasoning that you show above in the article that would apply especially in today's world, not 1979.

    By Anonymous Anonymous, At 4:48 AM, May 23, 2007  

  • "A company might like to develop a module that can read and extract information from a file, but might not write or modify the file."

    Correction. A company/developer can write a module to read and WRITE a file. Like in the example I mentioned, the developer who wrote the DXF export translator for ITEDO IsoDraw 4.00 had full access to the DXF specification but did not adhere to it. This has wreaked havoc for all its customers who export DXF files.

    And by the way, I guess ITEDO IsoDraw 4.00 was written in today's world, not 1979.

    By Blogger Deelip Menezes, At 10:36 PM, May 23, 2007  

  • This is not a problem of keeping a secret to keep the dwg format stable, is a problem of who OWNS what. For me I have been working with AutoCAD from more that 12 years and even thou I find the program usefull and needed also find it full of bugs and it could be improved. If you see the history of Owned code like Microsoft Windows you will see this is only prome to problems and it leaves the user FORCED to deal with the problems. In the other hand if you use a LINUX OS, you can choose whatever flavor you like, you will see that every day is getting better and better. Because cooperation is key to success. I the long run companies like MS and Autodesk will suffer its own demise and open source will be there forever. History will prove me right, with some many advances like video conferencing, e-mail and file sharing. This new generation will choose to share, rather than keep, because sharing, is the only way to learn and grow.

    United we will suceed, look at the US (United States of America) we are here growing every day. If we were called IS (Independent States), I'm pretty sure we would be a not so successful nation.

    My last word, OpenSource is the future, secrets are forgoten and lost.

    By Anonymous Anonymous, At 5:29 PM, April 08, 2008  

Post a Comment

Subscribe to Post Comments [Atom]



<< Home