Where is all the open source CAD?
Thanksgiving is past, and everyone (in the US) is off of work, what a great opportunity to slip in something that doesn’t have to do with the same old same old. Still, I hesitate to write about open source, because the topic usually attracts a fair number of weirdos and religious fanatics. It’s a worthy topic, and increasingly relevant in our digital age, yet conspicuously absent from the CAD world. I tend to see the typical open source crowd as the unlikely intersection between hippie “free love” types and the living-in-a-concrete-bunker-in-Montana libertarians. Funny how the left and right tend to converge if you go far enough to either extreme. Peace, love, and Ron Paul.
If you’re not sure what “open source” really means, have a look through this great Wikipedia entry on the subject, which seems to offer an objective point of view, with both the positive and negative aspects. There’s a lot of open source stuff available today. Maybe more than you realize. We all know stuff like WordPress, Firefox and Linux, but there are way more, stuff that you run into every day. Of the things I use, WordPress, PHP (web scripting), Thunderbird (Mozilla email), and Gimp (Photoshop clone) are all open source. Just as a curiosity, here’s a timeline of various Linux distributions. It shows just how much time some people have on their hands. Open source also includes the Android smartphone operating system (based on Linux), MySQL (database), Apache (web server), and plenty of others. Even Mac OSX started out from FreeBSD, an open source derivative of Unix.
Like Apple, there are other companies who have started from an open source root and created a commercial product with proprietary code. There are flavors of Linux which you can buy, sold by real companies, such as Red Hat, SuSE (maintained by Novell). Here’s an article from Business Week describing why you don’t see more commercial open source software. A lot of open source stuff arrives through the graces of the Mozilla foundation, which was originally established by grants from AOL, of all companies, and as a non-profit, also accepts donations. Mozilla does have a lot of volunteer help, but they also have some paid employees. So with the bigger open source organizations, there is often some kind of money behind the effort, helping to ensure quality, or helping to direct the overall volunteer effort.
I’m an avid Android tinkerer, and with all of the custom open source stuff that exists out there for every type of Android device, the possibilities are simply endless. There are so many versions of Android and little utilities that it kind of boggles the mind. These are all open source stuff, and all free. I’ve never paid a cent for apps or utilities or new Android derivatives for my phone, but I seem to have new stuff on it constantly. Now I have to say that the quality of the software certainly varies. A common argument against open source is that there is not always a clear line of accountability, in fact, much of the software bears little disclaimers such as “this will void your warrantee” and “we do not accept responsibility for anything this software does to your system…” and so on.
When you (or I anyway) think about open source, I usually think about the word “free”, and about a lot of volunteer labor, but this is not always the case. The source code is freely available, so anyone with the inclination can download it and modify it, or build on to it or around it. There are special rules associated with the GNU license usually associated with open source that offer some guidelines about making for-profit products starting from free code. But face it, the open source movement probably doesn’t have a lot of lawyers on staff, so backing up a license with real teeth may not be a primary goal for them. Even the free software is sometimes built from an established funding source. It might be a corporate sponsor, or grass roots donations.
The hype about Local Motors has made me think and read more about open source. Lack of accountability would be massively irresponsible (and illegal) for a “car manufacturer”. I say that in quotes because Local Motors, while a cool idea, is not a real “car manufacturer”. They essentially help you assemble a kit car made from some custom parts and a whole lot of off-the-shelf parts. That kind of thing has been around for decades. If that’s automotive manufacturing, then that’s ok, but it’s not new. And if a V8 diesel engine is “green”, I’ve got an Arctic ice fishing camp I want to sell you. I’m not putting them or their idea down, I’m just saying it’s not new, and it’s not really what it’s hyped up to be.
When they use the words “crowdsourcing”, “open source”, “cocreation”, or whatever it’s called this week, they are talking about ideas. Actual engineering seems to be handled by actual employees. The general population can be a great source of ideas. You still have someone at the company filtering the ideas, and someone implementing the ideas. It’s not like making a car like playing Mad Lib. Open source is a cool thing, but it still needs to be filtered and disciplined in some way.
Anyway. Enough background.
There are even some (rather incomplete) attempts at open source CAD. A commenter on this blog recently pointed one out that I had not heard of, Wildcat CAD, which seems to have died out about 3 years ago. Wildcat appears to have been aiming at creating a real CAD system for end users. His blog trails just trails off, like the cave writing in Monty Python’s Holy Grail, with the search for the castle “AAAAARRRRRGGGGHHHH….” So I’m not really sure where Wildcat CAD wound up.
There’s the OpenCASCADE project, which is a geometry kernel, as I understand it. You could use it to develop your own CAD system. And of course BRL-CAD. There is FreeCAD, and that’s about all I can find. There are other open source 2D programs, but these are the 3D ones I have come across.
So if open source derivatives of Linux have been able to multiply so profusely in the last 20 years, why has there not been a more serious effort to create open source CAD? Linux had a champion, Linus Torvalds, and he championed a tool for all computer geeks that appealed to everyone from amateur and professional programmers to hackers, security “researchers”, computer hobbyists, cheap hardware recyclers, Windows detractors, and a lot of other people motivated by who knows what. That’s a whole lot of people, and maybe even the type of people who might tend to obsess about computers more than, say, social skills.
So why hasn’t that yet benefited CAD “enthusiasts”? There are actually a lot of free or very cheap CAD (or general geometry creation) programs out there. If you include mesh modelers, there are way more. But free software is not necessarily open source. I mean, it’s not open to “the willing” to add on or modify the actual code. CAD software, to be useful for real work, is very complex. Maybe it’s just out of the range of where you can go with open source. CAD companies are not small, and the big ones tend to gobble up the small ones. Most (not all) open source software is used by private individuals, not by big corporations. CAD is not primarily a private individual sort of thing.
Maybe more to the point, would you use for professional use an open source CAD program that had, say, the functionality of SolidWorks 1997?
[poll id=”9″]
one small correction. NX does support Mac OS and LINUX (Suse and Red Hat) in addition to windows. (Carlos Melo is correct )
Exact details are available from the NX support site, or your local Rep.
signed,
Jerry Sarfati
NX Product Marketing, Siemens PLM Software
@GTCo8
@GTCo8
As far as I know, NX versions for Linux and Mac OS were not discontinued at all! They were introduced in NX 6 and I believe they’ve been updated in all the new versions including NX8.
CM
It’s a problem there is no Pro/Engineer (very good for its price) or UG NX (high-end, like CATIA V5) for Linux. Both CADs are discontinued for Linux.
All free 3D CAD programs I have seen aren’t enough good. I have tested BRL-CAD, PyCAD, FreeCAD and few others. They have capabilities of AutoCAD Ver. 5 or 6 😉 I would pay for good 3D CAD for Linux, but there isn’t any.
However there are few good 2D CAD for Linux, for example DraftSight. Hopefully there is great CFD (OpenFoam) and FEA (Calculix and Code Aster).
GTCo8
“I tend to see the typical open source crowd as the unlikely intersection between hippie “free love” types and the living-in-a-concrete-bunker-in-Montana libertarians. Funny how the left and right tend to converge if you go far enough to either extreme. Peace, love, and Ron Paul.”
ROFL … When the “extremes” of your paradigm tend to converge on similar ideas, perhaps your paradigm is flawed.
You can’t really say there isn’t any CAD for *nix. Have a look at the following list.
http://www.tech-edv.co.at/05_LUnIx/80_CAD~2f3d/10_CAD~20Links/index.php
Matt wondered where people got the time to work on “free” software. Sometimes it is just something somebody wants to do. But frequently the good stuff comes out of the academic world. Calculix is an example of an FEA code that is developed that way. The nuclear industry in France uses an FEA system that is open source.
So it would make sense if some prof in the academic world got the bug to get something like this started. I suppose the Parametrics and the SolidWorks of the world keep the the academics gainfully employed which is why they located near MIT. It keeps them from doing something open source.
The other thing that keeps opensource out of the “free” world (at least the 3D) free world is a lack of open standard for communicating 3D history based geometry. This would really be the enabling event that would open the floodgates. Jeff Ray once stated in a user group meeting that he commissioned some of his people to lock themselves away for a time and come up with a SolidWorks killer. They came back with cloud computing. I think they missed it. An open standard capable of describing 3D parametric history based models would be a SolidWorks/Inventor/SE/PTC/UG/CATIA killer. Shoot, SW can’t even talk to itself when it comes to interoperability between releases. This is the real lock that 3D CAD companies have on customers.
@Devon Sowell
Whoa! Free = Poor Quality???
Ever use Windows? I wouldn’t call that quality software. Internet Explorer? Still not sure what standards that software follows. Looking at one SolidWorks oriented website I run the majority of hits from Microsoft based OS are from XP users. This suggests that VISTA and 7 just haven’t convinced people they are quality. And Mozilla based browsers trump IE in popularity.
I run all my office applications on Linux. I won’t say it never crashed, but it is a rarity. My server has been up 253 days. This includes major software upgrades all of which were done without rebooting. My office machine has been up 19 days.
So do I use any free apps that work on both Windows and Linux that I would consider quality software?
Firefox
NoScript
Table2Clipboard
AutoPager
Outwit
Downthemall
Skype
Echolink
Evolution
FreeMat
Gimp
OpenOffice
GoogleEarth
Java
Impact
Calculix
mySQL
In addition I have been known to run gnu apps on Windows because Windows doesn’t have some functionality I need.
As far as quality goes in the “Free” world, there is something there that SW users have asked for for years, transparency of the bug fix system. In the Linux/Free world that whole system is open and the chances of actually communicating with a developer are high. When was the last time you were able to check on the bugs in a proprietary software package before you implemented it? And when a bug does get fixed the system gets updated quickly.
The “Free” world is relatively free of that other nemesis to quality, marketing. There are in general no marketing filters as to what the software is or isn’t, can or can’t do. Just users and developers. This gets down to the real hindrance to more widespread implementation of “Free” software, user responsibility.
And then there is bloatware, the enemy of quality that is relatively absent in the Linux/Free world. As an example, there is a command line utility I use called ImageMagick. It comes with a base set of capabilities compiled in. I needed some other capabilities so I just recompiled it. Many people decry the arcane command line world. The fact is for something like this it simply amounts to typing in three commands, configure, make and make install. You only have to learn this procedure once, so once you “get it” it is a skill that doesn’t need to be relearned every release. It’s really no more difficult that learning the Boundary surface or Deform, perhaps easier. And if I happen to be doing something compute intensive I can jump out of the GUI, shut it down and run purely from the command prompt. Huge speedup, especially in the server world.
And since I live in both the Windows world and the Linux/Free world I have some experience of both and can compare them with an open mind.
Just my 2cents
As mentioned there is some pretty quality analysis software being created that’s open source. My gut feeling about CAD however is that the user interaction with the software is very large and this natural problem is holding any development back. Analysis software doesn’t require the same sort of interaction as CAD software does. It does have significantly more complicated mathematics that needs to be coded but the interaction with the user is still minimal. CAD requires a good user interface, with commands that require a lot of input from us humans, which takes a lot of coding time and they also have some hefty mathematics which of course also takes a lot of coding time, all in all there’s a large time demand behind developing a CAD system and a lot of it is not exactly the most exciting stuff.
There are lots of reasons that there’s no motivation for progress in open-source CAD. It’d be interesting to see what each poster here means by “open-source CAD”. An open-source clone of Solidworks or one of its competitors, or something different? If it was a modeler as competent as our current weapon-of-choice, we probably wouldn’t use it because the utility of the drafting, or FEA or CFD components of our WOC makes data transfer an added chore, so we’d need something extra to tempt us to switch, and that’s only for modeling. A convincing argument to use open-source needs the utilities to be developed at the same pace as the modeler. In addition, commercial support for WOCs gives us someone to blame or someone to advise us if things aren’t going swimmingly. Who would take up a competent open-source modeler? Users from the bottom end who’re moving up, or educational users. Who’s writing the open-source code? It probably won’t be someone from commercial CAD, although it might be a commercial CAD user, but it might be someone from an academic or theoretical background. Once the suite has fulfilled the writer’s needs, where’s the motivation to take it further, unless he or she mentors a protege or two, and they do the same? For myself, I’d need a competent modeler/assembler to attract me first. And neutral format exchange. And, I don’t know how to code. If the modeler came with explanations of how to build and run it, what each component and module is and how it interrelates and a couple of hands-on step-by-step examples of how to make it do something differently, I’d be inspired to try to become a useful contributor. I don’t know how to work Python, so “includes complete Python command line!” is meaningless to me, and no kind of incentive. Open-source has got to mean that the ability to contribute is disseminated as thoroughly as a viable result, and the recognition of your peers is conveyed if you are adding value. That’s what’ll make or break any project.
OK, you almost had me say yes with the “nice splash screen” option, since my SolidWorks splash screen has displayed the incorrect SolidWorks package/version for the last three or four releases. (My VAR says to just ignore that. Okey dokey, no reason for it to splash correctly, right? It could be anything.)
So I voted no. But that vote had nothing to do with open source, per se, but the limiting factor of being about as feature-rick as SW v1997. Why bother? I’ve got the features of v2011 and v2012, which are almost as good as those in v2007. 😉
I’ve used Firefox since it was an open-source infant. Why do I like it so much? The extensions. Loads of them. Custom-tweaked browser without any of the crapware I don’t want/need. Imagine if we could have a CAD-related equivalent of this where “partners” in the present day could create extensions of their own for integrating G-code into the core application, or a handy twitter integration for commenting on the quality of that last cup of joe. Now we’re talking!
Not all open-source projects require the lag in features/quality of proprietary applications. In fact, Firefox (once again) distinctly led the pack for a while, causing significant market-share loss to miserable Internet Explorer after it stagnated.
Speaking of stagnation, can we think of anything else that seems to have stagnated recently? Sort of makes the opportunities in open-source solutions that much more appealing—just like we had years ago in the browser arena.
And whatever it’s worth, my concrete bunker is located in southern Colorado.
I’ve seen some new CFD softwares based upon openFOAM lately and I don’t see any end in sight to this. It’s great because you don’t have to have a bunch of PHD’s on your staff to develop the solvers. What you do need to have a is a good understanding of how to access and use the API for OpenFOAM. This is how OpenFOAM makes their money. They offer training on how to use and access their API but your free to download and use their API in any fashion you choose. Keep your eye on symscape, they could ruin all commercial CFD. This same business model is coming for CAD.
http://www.symscape.com/product/comparison
@Matt
Sorry for my poor English.
Since I started using SolidWorks I have always searched for the free animation and rendering program. I had the opportunity to use Blender and OpenCASCADE back in 2003. OpenCASCADE is geometric kernel, and it has an application in which you see 3D geometric model with necessary code to get that model. Also you have a program for interactive modeling where you type commands and get a 3D model. In my opinion OpenCASCADE is way to go and it’s a pity that the authors of FreeCAD, HееksCAD and Wildcat-CAD does not unite in a common project.
There is also Linux live distribution CAELinux http://www.caelinux.com for CAE/FEA/CFD calculation that can be run from a DVD or USB flash. This Linux distribution has a 3D CAD modeler SALOME http://www.salome-platform.org/ but I’m not sure how much better than the above-mentioned programs.
Blender is primarily designed for animation and rendering with polygonal modeling, and as such is not good for CAD. Its most important features for me is the game engine, Python programming, ability to save 3D model with all animations in the executable file and Web Browser Player. All these capabilities can be used for interactive presentation of products such as now possible with 3DVIA Composer. Unfortunately, if we ignore problems about conversion/load models in Blender, the biggest problem is the performance when the part/assembly has a large number of polygons.
We all know that 3DVIA Composer has a better performance in displaying large assemblies even in comparison to SolidWorks. Perhaps this advantage lies in the use of Open Source libraries, namely SGL (А 3D Scene Graph Library) which is responsible for the 3D display.
Matt my conclusion would be that big companies like DS, uses open source libraries and they are quite useful for them, on the other hand I have a concern about software patents and Open Source software.
Mr. Hirschtick may now have some free time on his hands. Perhaps the CAD community could convince him to help spearhead a viable Open Source CAD project.
yeah he’d be ideal
@matt
Hi Matt,
I’m not having a shot at you or anyone else here and understand what I am “proposing” comes considerably from left field. It is quite some time since I wrote the detail bones of the idea so will see if I can dig it out.
But in essences you are correct the value is in the ownership and in no way am I suggesting people work for free*. A well organized co-operative is an “organization” owned by members and run by appointed qualified – paid – personnel. Co-Ops exist in many industries, are not without their faults, and can be very successful. They are also defined and “regulated” in Aust.; have no idea how that plays out in the USA etc.
There are several ways I can see a CAD Co-Op coming into being and being organized and as I indicated it is the first hurdle that would probably be the most difficult; that being the formulation and publication of the “prospectus”, the outline of that which would form the framework of what was to follow; followed by the “management/recording” of the interested parties details.
So were to start? From an existing software base or from scratch? Here is another stumbling block but lets assume a person(s) was to detail the form of the CAD Co-Op and publish the details to gather expressions of interest and there is none – concept dead.
However assuming there is an interest in the concept and that interest happens to be 1% of existing CAD users. How many would that be? 100000+? How many $s would the individuals in that initial group be interested to throw into the pot for the opportunity to own their own software, $10.00, $50.00 a $100.00, I don’t know but I would guess it would be somewhere within that range even knowing it may be lost. Taken at the smallest end it would create an opportunity to pursue the idea further. Consider, Autodesk has more than that number paying considerably more for 12 months subscription and a great number of those consider the money spent a waste.
Current subscribers to CAD are “locked in cask flow” for the vendors with users having no claim to ownership and no real voice to bring about changes they want, no ability to prevent the company taking their subscriptions and using them to completely change direction. A Co-Op varies this balance!
Marketing costs are down, dealerships are non-existent, subscriptions are more directly benefiting members and the Co-Ops direction is also user driven.
The CAD Co-Op would require a “manager” and “professional” software people forming the core group and, it would fall to these persons to achieve the goals set by the members. It would also be their task to co-ordinate the use of or “outside” programming assistance where and when needed. It is here also the members could be involved.
Assuming all members/owners are also users then each is going to have their likes/dislikes, ideas for improvement and future development and all are now going to have an ownership forum to express them. *Furthermore, as I have indicated previously, if the software has in-built programming similar to that which we have seen in AutoCAD then is absolutely no reason why members could not do as many AutoCAD users have done and submit their work to the Co-Op for free or reward. This would also open up the possibility of a great idea/function/solution or bug fix being submitted and or incorporated through a form of voting – by the members – who would also have the ability to reward the author. This latter ability would not necessarily exclude “outsiders”.
I have watched an architect and an architectural draughtman create very successful software used world wide and I have no doubt both those guys would have relished the idea if being able to develop their software within a business frame work which removed some of the “fund raising” issues they had to cope with and manage. Furthermore had they have done their work within a Co-Op framework their death would not have necessarily created the issues, for members, the death of one of these guys did for his customers. Consider also Think3 customers position and, in general, licencing?
So the question remains; is the idea workable or not? If not why not? If so how so and how game are “we” to discuss the issues in a manner which truly explores a completely new way of “owning” our CAD tools, so they remain relevant tools to our work and not a vehicle for another persons perceived business directions.
Each problem raised is going to have a solution – solving problems through design and discussion is what many of us do, is it not?
@R.Paul Waddington
RPW,
So what you’re proposing is that we get a bunch of people together who act essentially as a venture capital fund to fund the upstart CAD company?
It sounds like an interesting idea. How many people do you know who can code calls to a geometry kernel who would be willing to help us out on a promise of nothing in return? I mean, there are no sales, so there is no profit, right? I see the value in owning the actual software, but there would be a lot of owners, and in fact, no benefit to being an owner aside from being able to use it, since anyone can use the software, and there is no financial income related to ownership.
Maybe all that I do understand is why there isn’t more open source or co-op CAD software.
I’d like to hear you make a case for this, not just saying that the co=op thing is well understood. I’m not being snarky, I want to understand what would induce people who are already overworked, and maybe have commitments or families outside of professional activities to take on what would seem like essentially a second full time job that pays nothing, and isn’t even tax deductible.
@Mark Russell
Mark, I have raised the specter of co-operative CAD with Matt, and others, on previous occasions. But, as with other things, design/draughting guys are a very tricky mob 😉 when it come to looking after their own interests.
I believe there exist a very good reason to consider ‘owning your own’ CAD software and, the benefits are there for both large coprs’ and individuals. To me, because it a tool, CAD lends itself to being owned co-operatively with the biggest hurdle being the starting ‘seeds’ required.
Co-ops are a well defined and understood corporate entity so there is no difficulty in understanding how co-operative CAD should be managed. Look no further than what Alibre, and their linking of 100.000 persons together on a promise, to see how one, or more, of the seed issues would/could be solved.
The “biggest problem” is finding the first few guys with the courage to grasp the new concept, pooling their time to establish a document outlining the operation and publishing it as a way to gather prospective “owners”.
It is important to understand here; this is NOT “Alibre free” CAD it would be CAD each member of the co-operative would OWN!
@chad
I didn’t mean to slight any particular distro. I’ve used Ubuntu, but there are other popular ones like PCLinuxOS, Mint, Fedora, Slackware, etc…
I think that slide on Ricky’s site was intended to mean that any OS that supports a browser will be able to run cloud software. I don’t think Dassault is the type to allow anything to be controlled by open source software. Maybe I’m wrong about that, but they seem about as willing to be “open” as Apple. Dassault is notoriously clamped down. SolidWorks users don’t have a reliable way to get Catia geometry, even though we can open Solid Edge, Pro/E and AutoCAD files directly, and they make the Catia translators available for packages like Inventor. It’s a very “screw the user” set of actions.
I don’t know the last time you looked at FreeCAD, but it is rapidly become less incomplete. In their latest version (0.12, not sure if it’s official yet, but definitely in the daily builds) they have a first draft at a parametric sketcher (a-la SW, but not as stable yet) As far as being accessible, FreeCAD’s foundation of making python scripting a core component means that a very popular and generally regarded as easy to learn language can be used to extend and or automate the software even by those who don’t have the skills to dig into the C++ foundation.
SW ’97 functionality just isn’t good enough. OS CAD can’t be free enough to make that worthwhile today. Someone might think about doing some side work with 2003.
Devon, that’s got to be a bit irrational 🙂
Free software comes from all sorts of sources. Adobe, Apple, Microsoft, Autodesk, Siemens, Solidworks, Google etc all have free software that is used by millions.
If you are talking about Gimp, Blender, Meshlab, Audacity, Paint.net, Irfanview, Freemake etc I’ve never yet had any problems, some bugs, but about on par with commercial stuff. There are hundreds of really useful programs and utilities out there of a high standard. I would call some of them limited rather than poor quality.
Sure there is malware in some notorious apps and sure some do have pretty amateurish code but that’s really a different class.
Btw I believe DS earn some $ from pro support for Draftsight. I think the real point of it though was to be a spoiler/irritant for Autodesk so that probably appears in the books under marketing/advertising costs. I agree though DS should focus on improving their own 3d stuff.
RE: open source as a business model. Some companies seem to be able to make it work. What they do is supply the software for free, and charge for setup and configuration, customization if needed, and training & support. Such a company is Red Hat which sells Red Hat Linux Enterprise Linux, used mainly on servers. The open source community-based version of the operating system is called Fedora.
What was Red Hat revenue for last year? More than $900 million. How about that. 😉
@ Devon Sowell
Please don’t confuse free closed-source (commercial) software with open source software. Open source software is not simply free, its sources are free to download, inspect, modify and redistribute. This is a long proven system. Security vulnerabilities are often fixed quicker than in comparable close-source (commercial) software. The development protocol practically guarantees there will not be malware hidden in open source software. With source revision control, any such addition would be detected in no time. BTW, if the sources are free to download does not mean that anybody can upload changes to them – one has to be admitted in the team to do so. Open source development works as a meritocracy.
Did you know that the web server this blog is hosted on is most probably a Linux machine? Like about 80% of all servers in the Internet. All running open source software. Why? Because a Linux server well configured is rock-solid and suffers considerably less downtime compared to Windows.
Some clarification on Open CASCADE. It is not only a geometric kernel, but also a CAD development framework. It is used in many different products. I believe the Open CASCADE company offers its product with a dual license, an open source one and a commercial one with customer support. CASCADE was developed by Matra Datavision in the early 90s as a successor to Euclid. It was abandoned and open sourced in 2000 (I’m just summarizing from its Wikipedia entry).
I’ve been using Ubuntu Linux at home for the past 4 years. I looked for CAD apps running on Linux and test them. I started a blog two years ago to report on my findings but haven’t written in a long while. Although I’d like to see an OS parametric package on par with the current commercial modelers, I’m realistic, this probably won’t happen unless some big company throws a lot of money and resources toward that goal (like Sun Microsystems supported OpenOffice.org for a decade before being bought by Oracle). You all know better than me how complex a CAD system is. I’ll be happy to find one with enough basic functions for me to play with for personal projects.
I believe that FreeCAD is the one that has the most chances to succeed. The core development team (3 people only) is dedicated. Its founder has been at it for 10 years (part-time), and a few more people have joined the team lately. BTW Neil, they didn’t start from scratch, they’re using other available open source software and libraries (if I was a publicist I’d say “leveraging” :-P) such as Open CASCADE for its kernel, the Qt GUI library, Coin 3D a library for 3D scene representation, and so on. They created a Python API linked to almost all of the kernel’s capabilities. Python is an object-oriented programming language that’s supposedly easy to pick up (though my brain doesn’t seem to be wired for any programming). With it you can do a lot more than what’s possible through the GUI. You can program a whole new module.
Right now the team is putting the finishing touches to the upcoming v0.12 release. It’s a step up from the current stable release. There’s finally a usable constraint-based sketcher along with a Part Design module that allows creation of solid, parametric prismatic parts. One thing missing is external constraints – that will come in the next release, along with more solid modeling tools and possibly a preliminary assembly module. Currently the drawings creation module is very rudimentary. Surfacing tools will eventually be added, but it may take years if not more people join the effort.
Since I don’t have any programming skills, I’ve been contributing to the project by writing some documentation, translating the software and the documentation to French, helping newbies in the forums (such a program attracts people with no CAD experience), and giving feedback to the developers as an experienced CAD user.
Sorry for the long-winded post, stepping down the soapbox now!
Matt, I was disappointed when it wildcat cad died off, I was hoping to see it evolve more into the multiplatform package the originator was planning on. From reading the last comment in the forum it looks like he just ran out of time to keep up with it when he went for his PHD.
IMHO Free usually = poor quality. Most free software seems to have a Trojan Horse or some such nefarious malware hidden inside.
As a business model, free is a poor choice don’tcha think? It certainly wouldn’t work for me or my family. It is bewildering to me that DS SolidWorks boasts that 1million users have downloaded the free DraftSight. Congratulations on making no money DS SolidWorks. Duh.
Devon Sowell
It’s interesting Matt you didn’t mention Ubuntu one time in your post. I’ve gone through a few derivatives of the Linux (kernel) OS and Ubuntu is the first one that really stands out compared to the rest. Keep in mind that Ubuntu has a company (http://www.canonical.com/) backing it up this time and I think this is the big difference. The GUI has always been a week spot for Linux but this is changing. The key word here is “unity GUI” (http://unity.ubuntu.com/) for the cloud to interface with. If you have a unified GUI for your OS this also means your tablet, PC, iphone, android…. will run it. I think this is why the cloud push is so strong right now. In about 2-3 years Windows 8, Ubuntu… will run on the arm processor or PC. Open source will be required for the cloud to be successful because the interface has to work regardless of the platform it is running on. Look how many dwg editors you have competing against Autodesk because they won’t go open source with their dwg format. Look how many android OS (Linux kernel) versions you have because Apple will run only on their proprietary hardware. I would think some form of open source CAD is coming. http://www.rickyjordan.com/wp-content/uploads/2010/02/allOS.jpg
BTW, I noticed a name on that Wildcat repository that comes up in HeeksCAD-related sites, so it might be that some migration occurred.
FreeCAD is based on OpenCascade, and so are a couple of other open-sourcers: HeeksCAD, which also has a CNC plugin. It has some edge-blending capability, and some face-extrude direct-edit style stuff, but it’s basically a prismatic modeller. It can loft closed polylines but not curves. And NaroCAD, which is a direct-edit modeler, so far rough and unstable. From these programs, I reckon OpenCascade’s blending is about on a par with ACIS version 10 or 11. The best non-commercially-developed CAD program I’ve used is a marine design (parametric hulls!) and general surfacing editor called PolyCAD, written and developed single-handedly over years by an English guy called Marcus Bole. Doesn’t do solids or trimmed surfaces, but the forwards-and-backwards translation from nurb surfaces and meshes, and curves-to-polylines and back, is something to behold. Not open source, but he gives it away if you register. It’s the most polished and consistent one-man effort I’ve ever seen, and I’ve used it for surface development that’s gone into product design. Open source? It’s worth considering what happened to Blender. It was shareware, then bought up, and then a huge group of enthusiastic users donated 100,000 Euro to its commercial owners in 2002 to set it free, rather than see it abandoned. DS or Siemens would laugh at that, but Blender is much more capable now than it was back then, and keeps on getting better, although it’s still quirky. If someone managed to incorporate OpenCascade into Blender, who knows?
I am not sure open source is the answer for CAD. Commenting on Blender as an example of how the OS experience might manifest itself for CAD I would say this:
Despite having a large and globally spread community Blender relies on a relatively small number of dedicated people to do most of the lifting work.
Some coding is funded from donations, some comes via Dutch govt social grants, some from sales of merchandise, some from community and business sponsorship, specific bounty projects, donated code after charging to recover development costs, Google SOC etc etc, but the remainder is done on a voluntary part time or hobby level.
It definitely does require a number of full time highly skilled people to constitute a capable organization and make decent progress.
In recent times Blender has shifted from a band of enthusiastic volunteers to being more realistic about paying its contributors for their skill and living costs and being well organised and presented.
I think OS CAD would need to be nearly business like to succeed as well and it would be hard to justify asking people to work on the cheap just because their time was applied to OS…
There would need to be a reasonable number of paid full time employees coding, bug fixing , training users etc together in a common building. I think you would have to end up charging a decent subscription for it regardless just to make the mission happen and give stability to it.
In the end it may not look a lot different from a regular CAD vendor.
It should be noted that the code base of Blender came originally from a commercial venture that was bought up by the community when it went under. It didnt start from nothing. I dont think realistically you could start from nothing for CAD either, there is too much ground to make up from scratch and you have to provide something that is nearly as capable as what you might buy. Perhaps buy up the old defunct SW code or another? but this is a major fund raising undertaking, many millions anyway, which might be a hurdle particularly in these times.
Many Blender code contributors are university students doing their thesis, unattached young people with time to spare, or those with a relevant technical vocation who also have a strong interest in coding and computer art. That is the skill level is very high but it is obtained on the ‘cheap’ indirectly.
Participating in OS wont appeal to everyone, in fact the people who do often either have day jobs or future careers in the commercial sector and are transitioning or only sometimes engaged so the potential workforce is fairly small and often moving on.
Continuity might be a problem.
As Blender becomes bigger and better it attracts companies who use it commercially and are willing to write code especially for it that suits their purpose however not all want to share the results around. Because the code is open doesnt necessarily mean everyone benefits from everyone else.
Competent coding is not an amateur affair either there is a fair standard of expertise required and standards to be maintained.
While ideas for Python scripts can come from, and be written by anyone, the main feed of new stuff comes ex technical papers, inspired lone ‘geniuses’ and from the incorporation of other open source projects some of which are made open source by large corporations.
There isnt a lot of fundamental research happening rather it is a pick up and use/replicate operation.
Although there is a fairly good rapport between artists and coders there is still a gap between what the user wants/asks for and what arrives because coders may not be interested in or available to do that particular thing. In some ways this wouldnt be a lot different from dealing with SW coders but at least if you dont like the way something is or know of a bug you have the option of doing something about it yourself in a timely fashion.
Inevitably the community will devour new stuff and refine it by trying/doing which is one up on SW where you are pretty much stuck with what was prepared for you.
Another pitfall is that stuff is rarely documented as well as it should be through lack of interest or participants. Nothing different to SW really. Offsetting this however is an enthusiasm in the community to make video tutorials and share knowledge without commercial or nationalistic regard.
I think open source makes for a more friendly spirit among users but these are holistic artistic types without a lot of money to spend so I dont know if that would be the same among competitive and ‘professional’ conscious engineers.
Typically the Blender community finds it difficult to work in with the business mentality and usually avoids joint ventures and the like. They tend to be seen as the enemy and vice versa as alternative lifestylers.
There is also the difficulty of combining open source licensing with commercial code.
I dont think you could mix the two in regard of say translators, file import/export and the other bits and pieces you might need.
I’m not saying it is impossible , just pointing out the differences in culture and practical requirement. For OS CAD to work it would require a well sorted basis of operation, somewhat more regimented than might be obtainable.
There is a tendency too to have ever changing goal posts in that stuff is often hardly finished than someone has the urge to replace or update it.
This makes for quite haphazard development and a necessity for users to spend time keeping up with changes whereas SW is stable feature wise over a long period.
The good part about it is that despite all this the development rate is excellent considering the resources available because people really believe in and are interested in what they do on a personal level.
For many people the whole concept of open source spurs them on to want to share the best with others so there is a philosophical one-world, democratic underpinning to it. I dont know this would transfer to CAD.
I think participants in an OS CAD venture would have to subscribe to at least a different outlook than they have been used to and one which is against the grain of the industry.
Regardless of how good Blender is it always seems to battle for recognition, credibility and status. Possibly OS CAD would be seen as a poor mans CAD rather than a viable solution hampering its adoption.
Usually it isnt too long before someone picks up on cutting edge ideas and they appear in the program though. Its hard to deny it is a fairly good tool just lacking some polish.
Often OS is every bit as good as the best commercial implementation and sometimes even better being lean and uncompromised.
The thing about Blender is that users are instrumental in scouting for new ideas, pushing technical boundaries so as to express themselves artistically and ask for improvements directly because they see these things are very useful rather than being someone elses interpretation of what is important or marketable.
OS CAD is interesting to contemplate and you can find benefits in that approach but I am not sure it is practical because of the scale and complexity factors and so forth.
Ok so there is more to talk about but Ive written enough..sorry about the wall of words 🙂
Good topic, one I dont think we have kicked around properly before.
And before anyone laughs at my views, please see what a workers co-operative can become.
http://en.wikipedia.org/wiki/Mondragon_Corporation
Great post and rather insightful to your views on open-source. Once DS go broke, all their products become literally free! Sorry that’s the anarchist in me, hoping for a better, fairer world.