Before you can print any cool parts on a 3D printer, you need to design them using CAD software. There is a multitude of CAD software available, but they are not created equal, nor do they have the same licensing requirements.

As a retired computer systems engineer, I’m a big fan of open source software. Now I’ll admit that back in the 80’s & 90’s I was a big fan of Microsoft. That said, by the early 2000’s, I had switched over to running my home based business on open source software.

When using open source CAD software I can avoid the licensing agreements of just what I can do with my own designs. Another big plus is that’s it’s fee to use and modify anyway you see fit.

So after looking around, I’ve come down to two CAD packages. FreeCAD ( https://www.freecad.org/ ), and OpenSCAD ( https://openscad.org/ ). Both of these packages will do the design work I need, but in very different ways.


OpenSCAD is software for creating solid 3D CAD models. It is free software and available for Linux/UNIX, Windows and Mac OS X. It works something like a 3D-compiler that reads in a script file that describes the object and renders the 3D model from this script file. This gives you (the designer) full control over the modelling process and enables you to easily change any step in the modelling process or make designs that are defined by configurable parameters. With my programming experience, this might be the best option for me.

FreeCAD is a powerful open-source parametric 3D modeler. Being able to do parametric modeling allows you to easily modify your design by going back into your model history and changing its parameters. While this software looks to be very capable, it also looks like it has a steep learning curve.


Ultimately, my preference for open-source software isn’t just about the “free” price tag—it’s about digital sovereignty. As a systems engineer, I’ve seen proprietary platforms come and go, often taking the user’s data and workflows with them. Whether I ultimately choose the code-centric logic of OpenSCAD or the robust parametric power of FreeCAD, I am investing my time in tools that respect my ownership of the output.

Choosing between them is less about finding the “better” program and more about deciding which language I want to speak: the explicit, scripted logic of a compiler or the visual, constraint-based language of a traditional modeler. I’m still “testing the waters,” but it’s a privilege to know that whichever path I take, the source code—and the future of my designs—remains firmly in my hands. The learning curve may be steep, but in the world of open source, you’re never climbing alone; you’re climbing on the shoulders of a global community.