May 8th, 2008
To my fellow CAD operators, drafters, engineering technicians, designers, engineers, programmers and the like:
It's no secret that AutoCAD has become as Windows has--that is, the big kid on the block. AutoCAD has maintained this position for quite some time now apparently, the length of which is unapparent to me as I've not been on the block for too long--long enough will suffice. How this came to be should also be common knowledge: it was one of the first CAD packages out there when the market was just starting and was lucky enough to fend off the competition to secure its throne. Such is also Windows: in the beginning, there was DOS. There were many flavors of DOS. Then Microsoft, out of their fears of Apple's new GUI (graphical user interface) based OS (operating system), made their own GUI (which not surprisingly had a lot of similarities to Apple's...) to run on top of MS-DOS, called Windows. Then Microsoft convinced several computer manufacturers to ship their computers with windows preinstalled on them, thus beginning its reign. In both cases, the situations were the same--one software company became the pick of the litter by mere chance.
Since Windows' inception, a flagrant dislike was born for Microsoft. Many would like to see some great new OS come along and demolish everything that Microsoft has built up thus far, making a Babylon of software in the process. In the mid-90's, users were even more specific, wanting Bill Gates himself hanged or even worse. Those were the true blue screen days. As such, there have been many attempts to dethrone Windows, with little success. Apple has tried and is still trying to fight for the throne with its mongoloid-esque advertising campaigns, dribbling about this nonsense of 'Mac vs. PC' when nowadays it's so clearly OS X vs. Windows. Apple started building their machines with 'PC' hardware back in 2005, and now the only differences lie in the software. But that's a different story. Linux tries to show users that there are alternatives, not so much to dominate, since most Linux distros (distributions) are given away free of charge. As such, Linux doesn't have much to gain by dominating the market when there are no real profits involved.
So far, Linux is the only OS that has come close to taking over. Linux has taken a great bite out of the server market because servers don't directly deal with the proprietary software and file formats exclusive to Windows--they only have to store and serve them. This is the dilemma: most software is written solely for Windows. To counter that, macs now have the ability to install and run Windows alongside OS X. Also, the Linux community has started projects like Wine, Mono and DotGNU to allow most Windows applications to be run on Linux. For some, that seems like more work than it's worth. For others, the fact that Linux is free (most distros anyway) is enough to completely pry them from everything they've learned on Windows to start anew, that is, relearn how to use a computer altogether since Linux works differently than Windows. Of course, there are Linux distros to make that transition less painful, like Ubuntu.
Both Windows and AutoCAD thrive off of the common concept that once a user becomes tied down to specific software due to proprietary file formats or otherwise, a threshold is created that must be crossed in order to make the user switch to another software package. The threshold is crossed when the benefits (better features, easier to use, less costly, etc.) of another software package outweigh the drawbacks of switching from the current package: taking time to learn the new package, dealing with whatever file format issues that may arise (incompatibilities, dependency on third party converters), leaving the existing comfort zone with that current package, and dealing with the resultant changes from making the transition. Those resultant changes may be any of the following: switching OSes, getting new third party software packages to replace the old ones, billing changes due to change in productivity, etc. Because they know their own position in the market and that this threshold exists, they exploit it by putting less effort into software development and more into advertising...while current users are disgusted, the company can secure its throne by acquiring more users through advertising, and of course, by already being the industry standard.
As such, we arrive at the current problem that most are well aware of: 'they exploit it by putting less effort into software development and more into advertising'. With the 12 month release cycle, and its said stranglehold on the industry, Autodesk has put less and less effort into making a quality product. Instead, they focus on making the product attractive to possible customers by adding as many bells and whistles as possible. Meanwhile, they fix other problems as it suits them in order to keep the existing users somewhat quiet. Our lack of communication is their advantage. Even if we all were aware of this, what would we do? What is there to do? Most of the CAD industry hinges on the proprietary DWG format that Autodesk itself created and still maintains. To combat this, the ODA (Open Design Alliance) was created, and now provides developers with a set libraries called DWGdirect to read/write drawing files based on the OpenDWG specification, which is based off of Autodesk's original DWG specifications. This luxury comes at a price, of course. This has helped somewhat, as many other CAD software companies use these libraries to achieve compatibility, i.e. Bentley Systems Inc., IntelliCAD Technology Consortium, and Dassault Systemes S.A. (makers of SolidWorks).
But this is only a band-aid, as Autodesk truly controls the DWG format since they are the leaders of the CAD industry. In addition, with every new release of AutoCAD new objects are added and changes are made to the format itself, making things more difficult for the ODA and consequently blocking the companies that use DWGdirect from making software packages that could ever be truly compatible with AutoCAD DWGs. Autodesk offers a similar set of libraries called RealDWG that can read/write natively in the DWG format, but as with DWGdirect, this luxury comes at a price. Even though this allows other CAD software to be 'fully' compatible with Autodesk DWGs, it's no good because Autodesk still controls the format. Sure, the ODA could try to fork off from Autodesk's standard, but take a guess who's going to win that battle. (Note: even with RealDWG, applications can't be truly compatible because AutoCAD sets the standard for rendering objects, meaning that only AutoCAD can render DWGs correctly. This has been proven by XANADU Inc.'s BUDWEISER compatibility benchmark: "So far no non-Autodesk application has succeeded to read and interpret this drawing in all its tests.")
All these things considered, what can we do about it? No other software package has come close to threatening AutoCAD's position because of the aforementioned reasons. I believe the underlying reason for this is a more central one: the price, or rather the existence of a price, and the manner in which problems are fixed. I cite the OS battle as an example. The only OS that's making any progress towards fighting Windows is Linux. Why? Because people are getting fed up with the same old stuff: problems with Windows that don't get fixed until the next service pack (which means months), or even the next major release. Because Linux is open-source, problems are addressed as soon as they are found, eliminating the lengthy wait for a simple bug fix. On top of that (and more apparent to users I might add), is that people are noticing that the price of Windows is increasing with time, which makes free Linux look all the more attractive. This is the beauty of FOSS (free open-source software).
Let's take the same scenario and see how it applies to AutoCAD. AutoCAD has the same problems: owning a copy of the biggest boy on the block comes with the biggest price on the block, and users are forced to wait until the next major release for most bug fixes. The service packs don't fix much, if anything. Therefore, we must venture to solve the problem in the same manner--that is, make a FOSS replacement for AutoCAD. Such a task might take years, but imagine the benefits and admire the beauty of the idea...a CAD program created and maintained by the people who actually use CAD on a daily basis. The core features will be as we see fit, taking shape from discussions and contributions. Open-source works: if there's a disagreement on a feature, there's no need to walk away angry, both methods can be implemented and the choice between those methods would become a new setting. Of course, most of us are not programmers, and this is why it takes some initiative to begin to make something like this a reality. The features/benefits and the actual feasibility of such a project must be made clear.
From now on, the software package that will be created from such a project will now be referred to as 'the package' or 'the project'. I say 'will be' instead of 'would be' because the latter implies an if: 'if it were created, it will be' instead of 'it's going to be created, and it will be'. There's no way that users will put up with these same antics forever. First and foremost, the package will be entirely free. This is paramount to the package's success, because only by being free will it have the power to pry people from other CAD packages. Through YOUR involvement in this project, you--the people who work for companies who use CAD software--can make those who must know know that it meets your company's needs (and if it doesn't, you are empowered to help it start to meet those needs) and that it won't cost a bundle to implement. In addition, won't it be nice to have a copy of CAD at home without having to borrow a license?
This brings me to my next point/feature: 'it won't cost a bundle to implement'. Because the project will be based on community involvement and contributions, more likely than not, the support created for the package will be enormous. Transitions from existing CAD packages will be made as painless as possible because those who decide to contribute will already be the users of those same CAD packages. Paying for training will be a thing of the past!! When new features are implemented, they will be heavily documented by the contributor(s) because they themselves and other contributors need to know exactly how the new feature works and integrates with the package. Through communication, each new feature will slowly drip down from the programmers' point of view to the end users' point of view, allowing for maximum understanding of all features.
The next feature: portability. As we aim to cater to users' choice and needs through the core features, we must also aim to allow them keep that choice by choosing what OS they desire to use the package with. This is also paramount to the package's success. One ongoing complaint of AutoCAD users is that it can't be run natively on OS X or Linux, and as such users have been pleading for versions that will do so. Also, as a matter of philosophy, users shouldn't be forced to switch to another OS or stay with one they don't like just to use one piece of software. Choice, simply put, is what makes and keeps users happy. Therefore, the package will be portable, working on a variety of popular OSes. OS independence can be accomplished by writing the package in a portable, cross-platform programming language. I say it should be written in a lower-level programming language, like C or C++, to foster portability and alleviate performance concerns. OS independence also means that the package can't be tied down by utilizing proprietary software (.NETTM, DirectX), and therefore will only use free software and libraries, like OpenGL. Also, with the same aforementioned user empowerment, if a user has a specific OS that they'd like to use it with, they are empowered to port (convert code to work on another platform) it to that OS because the source code will be 'open' (available to all), or at least request that it be ported.
Performance should be kept in mind at all times. Users have been complaining about AutoCAD's performance for many years now. The first example that comes to mind is data links. Data links take an exorbitant amount of time to create and insert as tables into drawings, while third party add-ons can do the same thing in a fraction of that time. This more than anything goes to prove how little Autodesk cares about the end users and producing a quality product. When you come right down to it though, the little slowdowns only add up to a few minutes of lost time per week. That's besides the point though, because what happens is users' productivity is affected when they must deal with those slowdowns. Frustration, impatience and the like makes for unhappy users and lower quality work. As stated before, this will be accomplished by using a lower-level programming language. In addition to that, having a wide variety of programmers in the immediate community provides a means of filtering out inefficient code, leaving only sheer brilliance.
Part of satisfying user choice is providing flexibility and customizability. The package should be as flexible and customizable as possible, providing exactly what the user needs and wants. If the user wants an extensive UI (user interface) then let the user have it. If the user wants a bare-bones UI, again, let the user have it. The UI should be exactly what the user wants: no more, no less. For example, the troublesome InfoCenter in AutoCAD can only be disabled by using a registry hack. Probably a better example would be the new ribbon. The ribbon, introduced in 2009, was not received well by most users. Users found themselves lost, having to dig and dig to find out how to get AutoCAD looking the way it used to look (dashboard, workspaces, etc.). Should a user have to go to this extent to disable a feature? No. This is exactly my point: the user should be empowered with choice from the very start, being able to choose exactly what he or she wants.
Many of you may be thinking, why should I contribute to such a project? The most important and straightforward answer is that it will directly benefit you yourself, whether you're a user or a developer. When the project reaches near maturity (stable release) and a solid package is created, it will affect the other CAD software companies, mainly Autodesk. Competition will be increased, which means that prices will equalize/drop and everyone will be forced to make products of greater quality in order to keep up, especially Autodesk. As such, there are two possible end results: the project replaces AutoCAD as the industry standard, or more likely, competition is increased enough that existing CAD packages improve drastically. With the previous statements in mind, remember that the idea is to provide ourselves with a great free tool, while increasing competition at the same time. As such, we're not going stamp out other CAD developers, but help them in a few ways. By increasing competition, work will be created for existing CAD developers as they must implement their company's version of our new features as we create them. At the same time, we will provide those same developers with models of how to implement those new features, as the source code will be open.
Besides, isn't it about time we had a fully featured free CAD package? There's well-developed free and open-source software for every software category except CAD. The only thing that comes close to qualifying is Archimedes. But, Archimedes is focused solely on architecture, and that just won't do. On top of that, it's written in JavaTM, which many critics argue produces slow applications compared to similar programming languages. We, the mathematics and engineering elite, should have been one of the first to take an initiative towards FOSS a long time ago. We've fallen far behind, and it's high time that we do some catching up.
Sincerely, Jacob Abel a.k.a. thatcadguy
Note: A Mr. Foley pointed out to me shortly after I made this article that another reason that it's essential that the package is free, as in free of charge/non-profit, is that Autodesk has in the past bought the competition. REVIT and what's now the add-on electrical package are the two best examples. REVIT used to be owned by another company and the electrical package used to be Via Circuit Design, both now absorbed by Autodesk. So you see, it's truly essential that it be non-profit and that it be created by those with that thought in mind, as to avert any would-be attempts by Autodesk to absorb it.