The Red Herring of Open Source CAD

emm0sh
3 min readNov 25, 2023

--

TLDR; don’t FOSS CAD, you’d just be making more of the problem. FOSS the backend, and let’s get ourselves out of the real problem (it is bad).

I’ve seen rumblings of Open Source CAD being an unlock for the manufacturing sector. The argument I’ve seen is that restrictive licensing is the main culprit.

I want to say definitively, this is not the case.

You can pick up a free version of any hardcore CAD package within minutes today. You can have startup licensing free for years. Autodesk has incredibly powerful offerings for as low as $80/month. Solidworks currently has a sale for 4$/month for light commercial use.

The issue is not licensing. The issue is that it is unusable and it has been that way for three decades.

Parametric is a Problem

At some point, we were told that to parameterize a model was a good thing. As bizarre as this may sound today, it’s absolutely not the case. There are very limited use cases where making complex, parameter driven models is ideal in engineering design. In the other 95% of cases, it creates highly contextual, resource heavy, and fragile assemblies.

Every manageable, robust and complex assembly I have ever seen in the wild has specifically gone against what the CAD supplier tells you to do, and has not used assembly constraints, parameters, or any dependencies that propagate throughout a model’s history more than a part or two.

Anecdotally, this entire parade float was not modeled using parametric CAD. Despite containing hundreds of parts, half a dozen animatronic assemblies broken into tens of kits, it was done without a single parameter driving the assembly.

This was done for the reasons I listed above, plus the fact that designing something for scalability when it doesn’t need to scale is a waste of time. Software engineers already know this — if your thing can survive scaling by a factor of ten, you’ve over-engineered the system.

For most engineering cases this is true. If you truly think you’re in the 5% where you do need to modify and drive parameters, you end up having to start over from scratch anyways, so why bother?

This brings us to the main reason why CAD is holding manufacturing back:

It is Unusable

Because we went down this path of parameterization, the softwares available today assume this is the correct and only path for modeling complex assemblies.

This leads us to the current state of affairs — we have antiquated software using bad architecture decisions made thirty or more years ago, constantly adding features users don’t want into a UI that has actually gotten worse over time, making it more and more unusable to the laymen.

Open source alone will not fix this. We need a paradigm shift in how we think about modeling, user experience, and the data pipeline.

So, What now?

The real unlock is usability, and everything that comes before and after it. If you really want to revolutionize manufacturing with changes in the way we model parts and assemblies, you need to make it usable by engineers, machinists, analysts, sourcing, etcetera. Once you do that, you remove one of the biggest sources of friction in conveying complex information.

This has nothing to do with Open Source — it has everything to do with democratizing a tool that used to be accessible to three year olds (pencil and paper) but is now controlled by organizations purposely obfuscating the tools so they can upsell you on PLM. FOSS sounds like it would fix this, but I would point you to the current state of Linux on desktops if you really think FOSS is the magic bullet.

Path Forward

Open source the things holding back software companies or individuals from building good offerings. If you can make the backend stuff FOSS and decent (looking at you, Open Cascade) it will let developers do the good work of building software that people want. Imagine what the web would look like if it never got js, npm, node, etcetera.

Once you build FOSS backends, it opens up software engineers to start from scratch and make something we (manufacturing) would actually want.

--

--