Naar de inhoud

The FreeCAD plague: when nobody listens, I build my own

This is the English reading version of the Dutch news item De FreeCAD-plaag: als niemand luistert, doe ik het zelf maar.

Every few months there is another FreeCAD developer who is fed up with waiting and makes their own version of FreeCAD: first realthunder’s LinkStage3 fork, then Ondsel’s commercial product, and now AstoCAD and FreeCAD-Nxt.

There is a comic that already explained this

The xkcd comic Standards described it back in 2011: how standards multiply.

Put FreeCAD in that picture and nothing changes about the joke.

Everyone building a layer on top

realthunder’s LinkStage3 fork began as an attempt to solve the topological naming problem. Ondsel built a commercial product around FreeCAD and stopped in November 2024. AstoCAD is a soft fork on top of the newest FreeCAD, by Pierre-Louis Boyer, who wrote the Assembly workbench. And FreeCAD-Nxt replaces the interface as an addon, by obelisk79, who sits on the board of the FreeCAD Project Association.

Why: the queue

Look at the project’s own figures: 496 pull requests open, alongside 3,496 open issues. Nearly four thousand things waiting. Send something in there and you join the back of that queue.

A fork or an addon solves exactly that: you do not have to wait until someone reviews your work. The maker of FreeCAD-Nxt says himself why he does not work in the core: Modifying the core codebase of FreeCAD for UI/UX enhancements is challenging due to its two-decade legacy.

What merging costs

First, what LinkStage3 was. It was a fork that tackled almost everything in FreeCAD, from the interface to the modelling, and so popular that many users ran it instead of FreeCAD itself. For me it was the reason to start with FreeCAD. And of that fork, the majority never made it into the main project.

What did arrive cost more work and money than making it did. The FPA’s annual report states how that solution only landed after an organising effort by Ondsel and then a continuous effort led and sponsored by the FPA. In 2024, 82,350 dollars in grants went to developers, and the largest block in it was one subject: merging realthunder’s work, together about a quarter of that budget.

Ondsel delivered the Assembly workbench and then stopped. That workbench is now standard in FreeCAD, but it is not finished: completing it is still on the maker’s roadmap, and connections between parts break as soon as you change something or reopen the file. Almost two years after the end of Ondsel, work is still going on there.

What should happen

FreeCAD has drowned in its own size. In the main project’s workbench folder, next to PartDesign and Sketcher, sit Draft, Robot, ReverseEngineering, Inspection and Plot. Separate tools with their own audience, sharing the same queue in the same repository.

What the project needs is a split: the kernel with PartDesign and Sketcher as the core, and the rest as separate packages you install when you need them. Then the core is small enough to oversee.

And time is pressing. While FreeCAD is stuck in that queue, programs are coming up that do not have that history. SolidCraft is built in pure Rust, has desktop, browser and headless versions with its MCP server built in; on GitHub it stands at nearly nine thousand stars. CADRS is still small, but built the same way. Whoever starts today can get the interface, the features and the link to an AI model right in one go, without dragging twenty years of workbenches along.

My verdict: the plague is not that forking happens. These are the most productive developers the project has, and they build alongside FreeCAD because working in FreeCAD itself is too slow. The plague is the system around it: a queue of nearly four thousand open items, where the work from forks disappears and where merging costs years and a lot of money. And those newer programs suffer none of that inheritance. It is about time the project woke up and split FreeCAD. Until that day, everyone who wants to change something builds their own layer, and FreeCAD pays twice for the same work.

The figures come from the FreeCAD repository and the workbench folder. SolidCraft is on GitHub and CADRS on GitHub. AstoCAD is at astocad.com, FreeCAD-Nxt on GitHub, and about LinkStage3 Ondsel wrote. The end of Ondsel is in the documentation with Lens. The report about breaking connections is in the issue tracker, the topological naming problem on FreeCAD’s wiki, the annual report at the FPA.

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *