Naar de inhoud

De FreeCAD-plaag: als niemand luistert, doe ik het zelf maar

De FreeCAD-plaag: als niemand luistert, doe ik het zelf maar

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

Om de paar maanden is er weer een FreeCAD-ontwikkelaar die het beu is om te wachten en zijn eigen FreeCAD-versie maakt: eerst de LinkStage3-fork van realthunder, dan het commerciële product van Ondsel, en nu AstoCAD en FreeCAD-Nxt.

Er is een strip die dit al uitlegde

De strip Standards van xkcd beschreef het al in 2011: hoe standaarden zich vermenigvuldigen.

Zet FreeCAD in dat plaatje en er verandert niets aan de grap.

Wie er allemaal een laag bouwt

De LinkStage3-fork van realthunder begon als poging om het topological naming problem op te lossen. Ondsel bouwde een commercieel product rond FreeCAD en stopte in november 2024. AstoCAD is een soft-fork bovenop de nieuwste FreeCAD, van Pierre-Louis Boyer, die de Assembly-workbench schreef. En FreeCAD-Nxt vervangt de interface als addon, van obelisk79, die in het bestuur van de FreeCAD Project Association zit.

Waarom: de wachtrij

Kijk naar de cijfers van het project zelf: 496 pull requests open, naast 3.496 openstaande issues. Bijna vierduizend dingen die wachten. Wie daar iets instuurt, sluit achteraan in die rij.

Een fork of een addon lost precies dat op: je hoeft niet te wachten tot iemand je werk nakijkt. De maker van FreeCAD-Nxt zegt zelf waarom hij niet in de kern werkt: Modifying the core codebase of FreeCAD for UI/UX enhancements is challenging due to its two-decade legacy.

Wat samenvoegen kost

Eerst even wat LinkStage3 was. Het was een fork die bijna alles aan FreeCAD aanpakte, van de interface tot het modelleren, en zo populair dat veel gebruikers hem draaiden in plaats van FreeCAD zelf. Voor mij was hij de reden om met FreeCAD te beginnen. En juist van die fork heeft het merendeel het hoofdproject nooit gehaald.

Wat er wél kwam, heeft meer werk en geld gekost dan het maken zelf. In het jaarverslag van de FPA staat hoe die oplossing pas landde na een organiserende inspanning van Ondsel en daarna a continuous effort led and sponsored by the FPA. In 2024 ging 82.350 dollar aan grants naar ontwikkelaars, en het grootste blok daarin was één onderwerp: het samenvoegen van het werk van realthunder, samen ongeveer een kwart van dat budget.

Ondsel leverde de Assembly-workbench en stopte daarna. Die workbench zit nu standaard in FreeCAD, maar af is die niet: het compleet maken staat bij de maker nog op de roadmap, en verbindingen tussen onderdelen breken zodra je iets aanpast of het bestand opnieuw opent. Bijna twee jaar na het einde van Ondsel wordt daar dus nog steeds aan gewerkt.

Wat er zou moeten gebeuren

FreeCAD is verzopen in zijn eigen omvang. In de map met workbenches van het hoofdproject staan naast Part, PartDesign en Sketcher ook Draft, Robot, ReverseEngineering, Inspection en Plot. Losse gereedschappen met een eigen publiek, die in dezelfde repository dezelfde wachtrij delen.

Wat het project nodig heeft is een splitsing: de kernel met Part, PartDesign en Sketcher als kern, en de rest als losse pakketten die je installeert wanneer je ze nodig hebt. Dan is de kern klein genoeg om te overzien.

En de tijd dringt. Terwijl FreeCAD in die wachtrij vastloopt, komen er programma’s op die die geschiedenis niet hebben. SolidCraft is in pure Rust gebouwd, heeft desktop-, browser- en headless-versies en zijn MCP-server zit erin; op GitHub staat het op bijna negenduizend sterren. CADRS is nog klein, maar net zo opgebouwd. Wie vandaag begint, kan de interface, de functies en de koppeling met een AI-model in één keer goed neerzetten, zonder twintig jaar aan workbenches mee te slepen.

Mijn oordeel: de plaag is niet dat er geforkt wordt. Dit zijn de meest productieve ontwikkelaars die het project heeft, en ze bouwen naast FreeCAD omdat werken in FreeCAD zelf te langzaam gaat. De plaag is het systeem eromheen: een wachtrij van bijna vierduizend openstaande zaken, waar het werk uit forks in verdwijnt en waar samenvoegen jaren en veel geld kost. En die nieuwere programma’s hebben geen last van die erfenis. Het zou tijd worden dat het project wakker wordt en FreeCAD opsplitst. Tot die dag bouwt iedereen die iets wil veranderen zijn eigen laag, en betaalt FreeCAD twee keer voor hetzelfde werk.

De cijfers komen uit de repository van FreeCAD en de map met workbenches. SolidCraft staat op GitHub en CADRS op GitHub. AstoCAD staat op astocad.com, FreeCAD-Nxt op GitHub, en over LinkStage3 schreef Ondsel. Het einde van Ondsel staat in de documentatie bij Lens. De melding over brekende verbindingen staat in de issue-tracker, het topological naming problem op de wiki van FreeCAD, het jaarverslag bij de FPA.

2 reacties

Laat een reactie achter

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