In my last article “Chinese IntelliCAD developer takes on Autodesk“, I mentioned my investigations on GreatStar Software’s claims of cloning 95% of Autodesk’s ObjectARX SDK. I finally managed to get the developer version of GStarICAD 2007. As espected, the developer version came with their ObjectARX clone, bascially a bunch of headers (.h), static libraries (.lib) and dynamic libraries (.dll) files.
Next I set out to recompile one of our AutoCAD plug-ins with the cloned libraries. If all went according to plan the recompilation would eventually yield a GStarICAD plug-in. But that was not to be. The Half Chinese Half English Word document they sent me was hopelessly out of date. The file names specified in the doc did not match the files in the SDK. After some trial and error I finally put some parts in order. I had to eventually give up when the compiler started looking for a header file which was nowhere to be found in the SDK. I have now asked them for the source code of a working sample plug-in that actually compiles, builds and runs in GStarICAD 2007.
I am quite sure that their ObjectARX clone works for them. But the point is the it should work for us, the third party developers, for whom it has been developed. And the process should be simple, straightforward and well documented. I do not have the time nor the patience to figure things out on my own, and that too in Chinese.
This brings me to an important point. The new IntelliCAD’s which are coming out with their own ObjectARX clones need to woo two sets of people. One set is the AutoCAD users who must be convinced to move to the AutoCAD clones. The second set is the third party developers that must be convinced to use the ObjectARX clones to help the first set of people make the move. If third party developers do not bite, neither will most of the AutoCAD customers. And they be find themselves in exactly the same position that they have been all these years.
I am far from impressed with GreatStar Software’s ObjectARX clone. Their web site says a lot about their ObjectARX clone but nothing about how to get it. Their Chinesenglish document titled “Re-developing Manual” (whatever that means) is virtually useless. Their SDK does not come with any sample programs. That’s the recipe for a programmer’s perfect storm.
While I was fiddling around with GreatStar Software’s ObjectARX clone, I noticed something that may interest Autodesk’s lawyers. As I mentioned earlier, the SDK contains header files. These are the exact same header files that come with Autodesk’s ObjectARX SDK, complete with Autodesk’s copyright notice. And it is this copyright notice that adds a twist. Here it is.
(C) Copyright 1993-1999 by Autodesk, Inc.
Permission to use, copy, modify, and distribute this software in object code form for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and the limited warranty and restricted rights notice below appear in all supporting documentation.
Let’s analyse this a little. “Permission to use, copy, modify, and distribute this software in object code form for any purpose and without fee is hereby granted“. The phrases “any purpose” and “without fee” will certainly sound good to GreatStar Software. But what about “object code”? As far as I know, header files are not object code. They form part of the source code. Object code is the static and dynamic libraries (.lib and .dll files) which GreatStar Software does not seem to be distributing. Source code is any sequence of statements and/or declarations written in some human-readable computer programming language. It is quite obvious that the header files being distributed by GreatStar Software in their ObjectARX clone are actually part of Autodesk’s source code.
I can hear Autodesk lawyers grinding their axes already. Can you?