Naar de inhoud

Why open-source CAD rarely looks like the commercial packages

This is the English reading version of the Dutch news item Waarom open-source CAD zelden op de commerciële pakketten lijkt.

Open-source software used to be made by the developer who needed it himself. What is being added lately is made out of frustration: someone wants what a commercial package does, but then free of charge. That explains why those new programs do look like the packages everyone knows, and the older generation does not.

It was never forbidden

For a long time I thought you were not allowed to make a free clone of Adobe. That is not true. In 2012 the Court of Justice ruled in the case of SAS Institute against World Programming that the functionality of a program, the programming language and the file formats are not covered by copyright, and that you may observe, study and test a program to understand the ideas behind it.

What is protected: the code as it is written, the name of the product, and the look of it as far as it creates confusion about who made it. Individual ideas can fall under a patent. So you may copy a program that does the same thing, as long as you do not take over the code and do not pretend you are the original. The law was never the problem.

The ribbon as an example

Take the ribbon, the bar with tabs that Microsoft introduced in 2007 and that is now in most CAD programs. In FreeCAD it is still not there by default, while it has been possible for years: there are addons that prove it (FreeCAD-Ribbon, ModernUI, NeoRibbon), LibreOffice has had a ribbon since 5.3, and according to the forum Microsoft’s patent on the ribbon has lapsed. It was not the toolkit either: those addons run on FreeCAD’s own building blocks.

There is a counterargument, but it does not hold. A piece by Ondsel says it is not about the ribbon: whoever complains about it is really complaining about consistency and discoverability. Don Norman says in The Design of Everyday Things: “Violate conventions and you are marked as an outsider. A rude outsider, at that.” To him conventions are cultural constraints: you learn them from your surroundings, and so also from the programs you already use. A design should therefore be what the user expects, not what is logical. The ribbon is such an expectation, and consistency and discoverability come on top of it.

What holds it back is in the discussion itself: it is a big rebuild, it meets resistance, and a maintainer wrote in 2024 that it will not happen soon. That is not a technical problem but a choice about where the development is heading.

Who is actually asking for it?

A developer who does not sell his software has no customers in the sense of buyers. He has donors, and they are customers just as much: they pay, so they may expect to be listened to. It is just that they are often not seen that way. That is the core of my argument: projects that live on donations throw away their own chances by not treating their donors as customers.

What is changing now

The new wave starts elsewhere. Take SolidCraft: open source, parametric, in Rust, with a ribbon at the top with the tabs Solid, Surface, Mesh, Sheet Metal, Plastic and Utilities, the model tree on the left and the timeline at the bottom. That is the layout of Fusion 360, down to the tab names. Where the older generation started with what was technically interesting, this one starts with the program people already know, but then free of charge.

My verdict: as a UI developer I have always said that FreeCAD is not a market leader and therefore should not innovate in the interface. Users expect what they know from the leaders, even if that is not the best design. That is why the themes of FreeCAD are now dull grey and white tints instead of purple: that is what a professional program looks like, and I added that, I did not invent it. As long as developers do not see their donors as customers, and do not accept that they should not develop the interface themselves, those old open-source programs will keep looking strange, and that plays straight into the hands of the vibecoded programs that do get this right.

I read the explanation about copyright on functionality at Licenseware; the case SAS Institute against World Programming is from the Court of Justice, and the directive is 2009/24/EC. The Norman quote is from The Design of Everyday Things, revised edition, in the chapter about conventions. About the ribbon in FreeCAD: the thread on the developers forum, the discussion on GitHub, the addons on the wiki and the piece by Ondsel. SolidCraft is at solidcraft.io, the layout can be seen on the project’s example page.

Laat een reactie achter

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