Thanks, Ondsel - it was a worthy and welcome attempt. And you left FreeCAD much better off than when you found it. For that reason, Ondsel may be shutting down, but it is anything but a failure.
Sometimes I envy that although I am not a SWE. I work in a field that is so close with the open source and tech scene that we don't have to rely on commercial products like some other fields. It is hard to compete or gain enough interest in some fields of engineering to any open or free solutions.
Perhaps you mean proprietary. Ondsel is after all a commercial project.
The fact remains that proprietary software seem to be a license to print money, and with the ability to print money is the ability to entrench said software, such as heavy investment in software development.
This is a uphill battle for open source software, but it seems that open source software tend to keep improving in the long run.
>with the ability to print money is the ability to entrench said software, such as heavy investment in software development.
It seems like proprietary software has a big advantage when there's still lots of room for improvement, so that investment in further development pays off.
However, in some cases, there's little room for real improvement, and the thing becomes a "solved problem" for the most part. At this point, the proprietary companies then start enshittifying the software (look at Photoshop, now a cloud-based program) to try to extract more money from users, and to keep users on the upgrade treadmill. Part of this is probably from the way corporate politics work: when you're a manager with a team in place, you need something to keep that team busy, to justify your team's continued employment to upper management, so when you run out of useful improvements to make, you invent less-than-useful "improvements" (e.g., ugly new UIs).
This is where FOSS seems to be able to do well: it doesn't need to waste resources on useless improvements (we'll ignore GNOME for a moment as an exception), and can just focus on delivering the necessary functionality. Once that's done, it can just go into maintenance mode and people can move on to other projects. Until then, it can continue to improve and attract users to switch from the enshittifying proprietary stuff.
Wayland has its issues to be sure, but the X Window System was no longer suitable for modern systems; the justification for replacing it was quite sound.
GNOME I'll heartily agree on. But I've never liked GNOME myself (v1 seemed OK though) and have always criticized that project. I've always been a KDE fan, though admittedly they've had some similar problems and have handled some major changes rather poorly (esp. 4.0). Really, the desktop environments are one place where FOSS hasn't really done that well, frequently re-inventing the wheel for questionable reasons, or adopting questionable new design philosophies. At least there's a fair amount of competition in the space, so if one project rubs you the wrong way, you can try another; this proliferation of competitors also shows just how much disagreement there is in the community on this particular matter.
I really don't know enough about the audio stack changes; I can only guess that they found big problems with older solutions there which required major architectural changes, esp. for certain high-performance applications.
> this proliferation of competitors also shows just how much disagreement there is in the community on this particular matter
It is to be expected that there is a proliferation of different UIs if there is the possibility of making different UIs run on the same OS. The reason is that everybody has a different workflow, different aesthetic preferences, different ways of doing things (e.g.: leaning more toward keyboard, mouse, touchpad, touchscreen). The best thing I remember in this space were the dozen or so X11 windows managers of the 90s. The worst one is the single UIs for Windows and Macs. There are some ways to customize them but not as heavily as it is possible with Linux.
Wayland seems to restrict what's possible to customize but I might be wrong because I have no direct experience. I'm still of X11 because of an old NVIDIA card and frankly I could stay on X11 forever. I know that I'll have to switch sooner or later because of software compatibility. I'd hate to have to buy a new laptop only to be able to run Wayland. It's still good enough to work with me for my customers.
Rollout of Wayland has not been the smoothest and I think among its major issues is the slow pace of development - it took it 10+ years to become default and certain features present in X11 are still missing. Having said that, after I switched to KDE Plasma 6 with Wayland (on Intel and AMD graphics), I've noted a significant improvement in responsiveness and snappiness of the desktop. I know nothing of how Wayland works, but I assume this is the reason the replacement was needed in the first place. I had to replace my GPU from NVIDIA to AMD, but I don't regret it (all my deep learning compute is on the HPC cluster anyway).
Desktop managers have never decided if they want to copy Windows or MacOS, both of which are terrible GUIs that we're now stuck with, using paradigms from 1983/1984
Unfortunately, I've noticed that non-SW engineers frequently turn their noses up at open-source solutions, and really the entire concept of open-source software, and seem to prefer proprietary solutions, the more expensive the better. I've seen this in the software world too, with embedded systems engineers, though Linux, gcc, etc. has made huge inroads here, though it took decades, and mainly came from the Linux adherents pushing downwards into the embedded space from the desktop space, not from any interest by the existing engineers in the embedded space.
Just look, for instance, at FPGAs: almost all the tooling is proprietary, very expensive, and very buggy too. Or look at PCB design: Altium seems to be the standard here still, despite Kicad having made huge advances and by most accounts being as good or even better. It took decades (Kicad started in 1992) for the FOSS alternatives here to really catch on much, and only really because PCBs became cheap enough for hobbyists to design and construct their own (mainly because of Chinese PCB companies), and because CERN contributed some resources.
I'm not sure what the deal is with engineers hating collaboratively-developed and freely-available software, but it's a real thing in my experience. It's like someone told them that FOSS is "socialism" and they just reflexively dismiss or hate it.
I wonder whether it is a about quality control and completeness.
Pure Software has a lot slack when it comes to delivering incomplete or (in the FOSS world ) even partially incorrect releases. Many issues can be fixed after the fact (even in production) and you can inch closer to a better version as time come goes on.
Mechanical engineering oftentimes can't work that way. An "80% solution machine" usually doesn't work at all and iteration costs (outside of 3d prototyping) can be staggeringly high.
Example: My company produces heavy "things" (20tons+) that have tight tolerances in some places. If the design is off by 2mm because of a CAD bug or unexpected/unknown UI the part could be scrap or require an expensive (read manual) rework.
There go all your software savings.
So why management would love to reduce the staggeringly high costs it's not worth the risk until an alternative is very proven.
In many projects customers contractually require is to use a specific solution.
And even if the software doesn’t cost you in failed projects it can cost you in other ways.
The old meme from 10 years ago about: “Linux being free if your time is free” is largely false for personal usage, but in the corporate environment somebody will have to provide support and with the open source software this is going to be you.
People selling B2B software know that so they will usually price things in a way that it is just a bit cheaper to pay them rather then support and retrain staff.
It's because these tools are used to deliver high quality physical products on time and on budget with no scope or interest in messing around with software defects. These tools are treated like physical tools. It's worth paying for a high quality one which won't cause unexpected grief, by people who will provide immediate support because we pay them.
I think if there were good quality open source equivalents they would be considered, but they pose a huge risk, possibly even an existential risk, if they derail our development plans unexpectedly. Paying a lot of money for seriously good quality tools reduces that risk dramatically.
I've had a brief look at FreeCAD, and it's got a lot of potential. But when you compare it with SolidWorks, OnShape or SolidEdge, there's clearly a huge gap in usability and capability which needs closing before a lot of people will be able to consider it seriously. I'm sure it will eventually get there, like KiCAD did, but it will take many years and a lot of investment to get the usability, polish and featureset up to parity. It looks like Ondsel did a really good job to make some progress along that path.
> when you compare it with SolidWorks, OnShape or SolidEdge, there's clearly a huge gap in usability and capability
All 3 of these are using the same geometry kernel - siemens parasolid.
Most open source CAD software is using OCCT (cascade).
It’s the kernel that brings a lot of the capability. Check out “plasticity” (https://www.plasticity.xyz/ ) for an example of a single developers implementation of the parasolid kernel
I agree although I feel like one could easily make the exact same comments regarding compilers. I can't quite pin down why there would be many free (for various values of free) industry standard compilers but not cad programs.
I’m a software guy. I love FOSS. Much of the tooling that I use is FOSS, and oftentimes the software is as good if not better than the proprietary equivalent.
Until very recently, this was not the case in hardware world. In many cases it’s still not the case. You will meet all sorts of purists here that will tell you FreeCAD is good enough, for instance. Well, I tried using FreeCAD to build a hardware product. And eventually switched to proprietary software because FreeCAD could not satisfy my use case. I made a genuine effort to use the FOSS variant, but it was not usable for me.
I’m more inclined to listen in hardware when someone says the FOSS tools are not good enough after that experience.
I don't think it's simply "engineers hate open source". Most of the open source tools in the embedded space are just a bit crap. The reality is that good software needs many thousands of hours of development time. The embedded space is actually pretty small in development budget terms - so fewer engineers who might devote time - and also there's less overlap in skillset - electronic design engineers rarely have the software skills required to develop EDA software.
Most of the incredibly well used robust open source packages are sponsored by large tech companies. The embedded space just hasn't had that kind of sponsorship.
> electronic design engineers rarely have the software skills required to develop EDA software.
You could say that about many other fields too, but then why do we have great tools like Blender, Krita, Audacity, etc.? Artists and musicians have great software skills, but electronics engineers don't? There's always been a huge overlap between EE and CS degrees, with "computer engineering" degrees coming about as a merger of the two fields decades ago, so I find this statement hard to believe.
Just a guess, but it could be because the size of EE employers is bimodal. Either you're working for a startup that can't afford to sponsor open source development and would not benefit in time for it to change the chance of success, or you're working for a huge company, big enough to negotiate discounts from the vendors.
That's a very interesting question and I'm not really sure what the answer is in general but I can answer for myself.
I'm an EE. I can code. I think I'm pretty good at it. But there's a reason I didn't major in CS, I don't enjoy it all that much and I don't do it as a hobby either.
If you believe that those who contribute to FOSS is a small percentage, then I think for non-SW folks you're looking at a small percentage of a small percentage, which means sparingly few contributors which means sparingly few FOSS EDA tools.
Well, Blender, at least started as commercial software. It was only open sourced after the foundation was put together to hit the source code out of the bankruptcy.
Yes, but Blender at that point was very primitive, both from a features and usability standpoint.
What really drove Blender forward in its earlier years were the open movie projects, both as a way of raising funds for development and as a way of putting the software through its paces to find spots that need improvement. Ton Roosendal has been a superbly skillful project leader in other ways too, like finding the right technical areas and features to focus on, putting the needs of the artists/users first, knowing when to set aside his own vision in favor of what the community wants and not undertaking major rewrites until there is enough momentum behind the project to see them through.
That's a long way in the past though, and one of the fascinating things about the Blender project is the way that they have been able to break with their legacy in a way that other projects seem incapable of. Modern Blender is a very different experience to the early iterations.
I suspect it's the ways in which they are a bit crap. All software is a bit crap one way or another.
FreeCAD's UI is "a bit crap". The "workbench" metaphor is fine as a metaphor, but the specific way the workbenches are put together in FreeCAD is oriented more towards the way the functionality is implemented than what the user wants to do with it. You have no choice but to understand technical implementation details.
That's just one example, but that attitude to UI in FreeCAD is absolutely pervasive.
I think that's a general problem in the space. The user interfaces in general aren't designed, they're an outgrowth of the direct implementation of the underlying functionality.
Yes. You’ll have a hard time finding a full-time professional photographer that hasn’t tried Gimp, and an even harder time finding one that still uses it. That’s not even getting into graphic designers— Gimp’s typography tools are awful. Open source software that’s useable— more recent blender versions, Inkscape, Firefox, Signal— is the only stuff that’s caught on in large part because they deliberately enfranchise designers. As an experienced, art school trained designer with far more than enough full-time coding experience to implement my own designs, I still exclusively contribute code to FOSS projects as a developer. I’ve seen both sides of this and am perpetually dispirited by the dismissive, haughty, and frankly ignorant attitudes towards designers among many developers. FOSS interfaces are put together by and for people who a) have a working mental model of software functioning, so they reason about interfaces differently, b) know more about the code than the problem domain, c) are used to and pride themselves on learning complex systems based on a set of complex docs. Until changes, user-facing FOSS applications will be used by developers no matter how useful they would be to others.
The sad thing is that the current car-crash state of GIMP's UI is what, 15 years after they received the input of a professional HCI designer? In some ways it's improved a great deal in that timespan, and in others it got significantly worse. To this day it lectures you like some bratty kid playing Simon Says if you try to use File -> Save to save a TIFF image. (Complying with my instruction and then telling me why Export would have been better is fine. Recognising and understanding the instruction but refusing to comply with it is not fine.)
> a) have a working mental model of software functioning, so they reason about interfaces differently
You're 100% correct, they do reason about interfaces differently, and thus have wants and needs which are different from those of non-technical users. Those wants and needs are not met by mainstream software, but are met in some OSS software, so it should come as no surprise that such types want to defend that software against the incursion of those who want to make it just like the mainstream offerings!
Like you I have a slightly different perspective here, having been a hobbyist software developer for some years, but having worked in print and design as a day job.
But I still bemoan such things as the awful keyboard handling of the current GTK file dialog, when compared with the old GTK1.2 file dialog. The old one was truly hideous to look at, but handled filtering files by keystroke far better than any current file dialog.
>Most of the open source tools in the embedded space are just a bit crap.
Anyone who sincerely thinks GIMP can replace Photoshop or is otherwise good will never understand why professionals eschew open source software when there's work that needs doing.
It's interesting to compare Blender and Gimp on this axis. And to a certain degree Emacs and VS Code; or Gnome and KDE; or gcc and clang. It's easy for a certain sort of open source project to get so distracted by the point it is trying to prove that it forgets that it has to actually be good.
The only unfair comparison here is Emacs and VS Code, because their goals are a bit orthogonal. VS Code is meant to be easy but extendable code editor, while Emacs dropped the easy part at least 20 years ago.
That seems like a matter of taste. We switched from Altium to KiCad and I very much prefer it. We don't do any RF stuff, so there might be things that don't quite work in KiCad, but for what we do - power electronics - it works perfectly well.
Not what I've heard, and CERN seems to think it's good enough for their particle colliders.
>No open source tooling can even remotely compare in ASIC implementation flow or FPGA implementation.
Yes, FPGA tools are a very different matter. I do wonder if this is really lock-in from vendors more than any preference by users, but still, sufficiently motivated users could reverse-engineer things to try to make a single open-source toolset that works with all vendors' FPGAs. Of course, the feasibility of this is questionable, but we've seen really impressive reverse-engineering efforts in other places in FOSS. Just look at how futile it is for YouTube to try to prevent people from downloading their videos.
Large institutions like CERN run everything. But the advanced stuff is definitely not on KiCAD. It doesn't have support for the right simulation models.
"The CERN physics department is deploying the Cadence analog and digital end-to-end solutions as well as the Cadence verification and Allegro PCB solutions throughout the support of its CERN IT department."
This doesn't really explain any hostility towards open tools but it does explain much of the preference for certain well established commercial packages:
The commercial software vendors do a great job of marketing to engineering schools and students. Once you learn some software it's a lot of work to relearn. So if you get people accustomed to your proprietary ecosystem early in their schooling and during the start of the career, you have pretty much hooked them for life.
For non-SW engineers, like myself, software is a means, not an end, and FOSS or not FOSS is irrelevant.
To get a EDA tool to a useable condition, and debugged to the point where it is reliable enough to actually use, is just a ton of work. As someone who wants to design circuits, why should I do that work? How will it help me design more circuits? I understand why beginners and casual users don't like them because the EDA tools do have a huge learning curve, but once you're there, they are very productive.
For professional engineers the software license is not really a significant barrier. Compared to the cost of labor, materials and equipment it's basically a noop.
None of the points you make is universally true. FOSS means that there is less of a chance of the rug being pulled from under you in the form of subscription services nobody asked for. This has been a repeated annoyance with one certain company which did that recently for an ECAD tool and an MCAD tool. And, there are enough motivated people who do a ton of work to make FOSS software reliable enough. In fact, MCAD is an exception in that area. We have world class FOSS operating systems, 3D animations systems and development tools in an endless list. Even Blender, which was not very popular a decade ago, suddenly gained recognition. FOSS ECAD is on the way and it will happen some day for FOSS MCAD too. Finally the license cost. The cost of proprietary software - especially engineering and scientific software is exorbitant in countries with better purchase power parity. Much less would happen in those sectors in such places if it weren't for the large repository of FOSS software available to them.
I don’t think this is universally applicable. I think you can differentiate software by how important it is.
Some software is at the very core of your business. A CAD, a ECAD, some lab software or a video editing program. Realistically, if you cannot justify the expensive of that software for your business, you probably don’t have a business. Many of those apps require substantial R&D to get right, something you can only afford if you make real money by building it.
But there are other supporting applications that are not as close to your value add as your core apps, but they can still sleep you over real bad if the vendor goes bust or raises prices into the sky. That may be a teams chat app, a mail client, a wiki software. Most of those apps are essentially the infrastructure of any business nowadays and are relatively solved problems. In this area OSS really shines and reduces a lot of the vendor risk.
With respect to cad suites it's push from the top. That starts at education where sweet deals are made to force students to use one specific suite while it should not matter what you use.
If I have two solutions I don't expect to easily work, one is free and one comes with an expensive support contact, then I will weigh the cost of the support against the value of the whole project.
Often the support is worth it, because I can have a conversation with someone early in the process.
If I commit to open source then I either need to hire an expert (this does not get the same guarantee as a support contract) or live with much more uncertainty.
>I've noticed that non-SW engineers frequently turn their noses up at open-source solutions
The problem is that usually open source solutions are really, really rough around the edges from UX perspective - and it could be minor edge cases for programmer! - but for engineer they are a dealbreakers.
Look at it from the engineer PoV - they could learn industry standard CAD solution that works, has relatively good(depending who you ask and which version they started with) UI/UX .. and it's something they employer pays for.
I worked with civil engineers that tried multiple different 2D CAD software packages and frankly, all of them hate Autodesk as a company, but they still did pick AutoCAD. They did have different preferences for specific AutoCAD version though.
Honestly the core problem is that there's no pressure from clients on open source software to have a good UX, because there are no clients - just users and developers.
The other problem is that sometimes from the perspective of an experienced user, "good UX" means "works exactly like the piece of software I've been using on a daily basis for the last 15 years."
Even if a brand new UI is objectively better, to someone who's invested thousands of hours in becoming fluent, fast and efficient with an existing UI (however quirky or obtuse it might be) the new UI will be an impediment to productivity.
> Unfortunately, I've noticed that non-SW engineers frequently turn their noses up at open-source solutions, and really the entire concept of open-source software, and seem to prefer proprietary solutions, the more expensive the better.
Well if you're dealing with projects worth 7 figures (or more), it absolutely makes sense to go for a commercial project with SLAs on support. Last thing you want is to hit some showstopper bug, holding up people who earn 4-digit daily compensation, and been told to "figure stuff out yourself".
If you as the author of a FOSS project that isn't a household name already for historical reasons (like, say, OpenSSL or cURL) and you want it being used by anyone else than hobbyists and universities, you won't get around establishing some sort of corporate infrastructure to sell support contracts.
> Unfortunately, I've noticed that non-SW engineers frequently turn their noses up at open-source solutions, and really the entire concept of open-source software, and seem to prefer proprietary solutions, the more expensive the better.
Probably because if you complain about bugs or problems in open-source software, a legion of trolls comes to tell you "erm, it's open source, you can just implement it yourself" no matter how skilled the user is at programming.
Like, for example, the lead dev of Inkscape, who used to (not sure if he still does) go around on twitter looking up complaints about how slow Inkscape is on macOS and then complain about them being entitled.
No wonder they don't want to use it, then, if it's considered rude to even expect the software to work.
Yeah, this is a non-trivial effect. It affects FreeCAD too. Mostly contained to the forums, but if you ask a question it's wise to give people who actually know what they're talking about a couple of days to show up.
I think part of it is also the user knowing that they have no right to express frustration when the product is free. That's actually a mental burden. In a sense, people buy software partly so they feel they have the right to complain when it has issues. And honestly I think that's pretty reasonable
I've just started using FreeCAD after bouncing around Solidworks, Onshape and Fusion360. The changes in 1.0 are more than welcome! Thank you for your contributions!
It's sad that this is failing, and sadder still that I, an occasional CAD user, never heard of it even though I really wanted something like this (at least in theory).
Unfortunate but extremely predictable. The commercial market for CAD cares about CAD that actually works, not free software ideals. FreeCAD is simply not in the same league as commercial CAD like Solidworks, NX, Creo, etc. IMO it's not even in the same league as SolveSpace, at least last time I used it (which was admittedly some years ago).
Blender suffered the same sort of issues as FreeCAD does, but managed to get out of the slump.
It is often important to have a main player enforcing proper, unified UI/UX and fix the many small problems and bugs which drive users away.
Sadly it is usually an issue with long running and highly complex open source software that it gets really fragmented.
You see that in every function having its own button or workspace, inconsistent naming, functions which do the same but slightly different and things working differently depending on some context where they really should not.
Thanks to the people from Ondsel it felt like FreeCad would be on a similar route to Blender.
It was way more user friendly thankfully there has been major back porting.
So there has been a lot of progress especially with the upcoming 1.0. You should give one of the Release Candidates a try.
I use it for my 3D printing projects and it works pretty well.
The parent comment rephrased: 'oh it was a useless effort like any other effort to push open source in CAD'. (Not true btw, Blender is an institution in non-parametric design, the niche for open-source is just for parametric CAD).
How is open source supposed to break through to this 'market' as you call it? Should we just give up instead?
Thanks, Ondsel - it was a worthy and welcome attempt. And you left FreeCAD much better off than when you found it. For that reason, Ondsel may be shutting down, but it is anything but a failure.
Truly bummed about this one.
I’d been learning CAD with Ondsel, and have printed off half-a-dozen of my models to help around the house.
If this comment finds its way to the team, I just want to say thanks.
The topo naming fix and the assembly workbench were enormous contributions to the community that will be with us always.
But I really believed in Ondsel’s vision for an online repo for 3d models.
Sometimes I envy that although I am not a SWE. I work in a field that is so close with the open source and tech scene that we don't have to rely on commercial products like some other fields. It is hard to compete or gain enough interest in some fields of engineering to any open or free solutions.
Perhaps you mean proprietary. Ondsel is after all a commercial project.
The fact remains that proprietary software seem to be a license to print money, and with the ability to print money is the ability to entrench said software, such as heavy investment in software development.
This is a uphill battle for open source software, but it seems that open source software tend to keep improving in the long run.
>with the ability to print money is the ability to entrench said software, such as heavy investment in software development.
It seems like proprietary software has a big advantage when there's still lots of room for improvement, so that investment in further development pays off.
However, in some cases, there's little room for real improvement, and the thing becomes a "solved problem" for the most part. At this point, the proprietary companies then start enshittifying the software (look at Photoshop, now a cloud-based program) to try to extract more money from users, and to keep users on the upgrade treadmill. Part of this is probably from the way corporate politics work: when you're a manager with a team in place, you need something to keep that team busy, to justify your team's continued employment to upper management, so when you run out of useful improvements to make, you invent less-than-useful "improvements" (e.g., ugly new UIs).
This is where FOSS seems to be able to do well: it doesn't need to waste resources on useless improvements (we'll ignore GNOME for a moment as an exception), and can just focus on delivering the necessary functionality. Once that's done, it can just go into maintenance mode and people can move on to other projects. Until then, it can continue to improve and attract users to switch from the enshittifying proprietary stuff.
GNOME, several reboots of the audio stack, XWindows versus Wayland,...
FOSS only does well when it isn't the main source of income for contributors.
Wayland has its issues to be sure, but the X Window System was no longer suitable for modern systems; the justification for replacing it was quite sound.
GNOME I'll heartily agree on. But I've never liked GNOME myself (v1 seemed OK though) and have always criticized that project. I've always been a KDE fan, though admittedly they've had some similar problems and have handled some major changes rather poorly (esp. 4.0). Really, the desktop environments are one place where FOSS hasn't really done that well, frequently re-inventing the wheel for questionable reasons, or adopting questionable new design philosophies. At least there's a fair amount of competition in the space, so if one project rubs you the wrong way, you can try another; this proliferation of competitors also shows just how much disagreement there is in the community on this particular matter.
I really don't know enough about the audio stack changes; I can only guess that they found big problems with older solutions there which required major architectural changes, esp. for certain high-performance applications.
> this proliferation of competitors also shows just how much disagreement there is in the community on this particular matter
It is to be expected that there is a proliferation of different UIs if there is the possibility of making different UIs run on the same OS. The reason is that everybody has a different workflow, different aesthetic preferences, different ways of doing things (e.g.: leaning more toward keyboard, mouse, touchpad, touchscreen). The best thing I remember in this space were the dozen or so X11 windows managers of the 90s. The worst one is the single UIs for Windows and Macs. There are some ways to customize them but not as heavily as it is possible with Linux.
Wayland seems to restrict what's possible to customize but I might be wrong because I have no direct experience. I'm still of X11 because of an old NVIDIA card and frankly I could stay on X11 forever. I know that I'll have to switch sooner or later because of software compatibility. I'd hate to have to buy a new laptop only to be able to run Wayland. It's still good enough to work with me for my customers.
Rollout of Wayland has not been the smoothest and I think among its major issues is the slow pace of development - it took it 10+ years to become default and certain features present in X11 are still missing. Having said that, after I switched to KDE Plasma 6 with Wayland (on Intel and AMD graphics), I've noted a significant improvement in responsiveness and snappiness of the desktop. I know nothing of how Wayland works, but I assume this is the reason the replacement was needed in the first place. I had to replace my GPU from NVIDIA to AMD, but I don't regret it (all my deep learning compute is on the HPC cluster anyway).
> The worst one is the single UIs for Windows and Macs. There are some ways to customize them but not as heavily as it is possible with Linux.
Which is why Windows and Mac still get native UIs for many desktop products, while Linux if a product actually targets it, gets Electron.
Desktop managers have never decided if they want to copy Windows or MacOS, both of which are terrible GUIs that we're now stuck with, using paradigms from 1983/1984
Unfortunately, I've noticed that non-SW engineers frequently turn their noses up at open-source solutions, and really the entire concept of open-source software, and seem to prefer proprietary solutions, the more expensive the better. I've seen this in the software world too, with embedded systems engineers, though Linux, gcc, etc. has made huge inroads here, though it took decades, and mainly came from the Linux adherents pushing downwards into the embedded space from the desktop space, not from any interest by the existing engineers in the embedded space.
Just look, for instance, at FPGAs: almost all the tooling is proprietary, very expensive, and very buggy too. Or look at PCB design: Altium seems to be the standard here still, despite Kicad having made huge advances and by most accounts being as good or even better. It took decades (Kicad started in 1992) for the FOSS alternatives here to really catch on much, and only really because PCBs became cheap enough for hobbyists to design and construct their own (mainly because of Chinese PCB companies), and because CERN contributed some resources.
I'm not sure what the deal is with engineers hating collaboratively-developed and freely-available software, but it's a real thing in my experience. It's like someone told them that FOSS is "socialism" and they just reflexively dismiss or hate it.
I wonder whether it is a about quality control and completeness.
Pure Software has a lot slack when it comes to delivering incomplete or (in the FOSS world ) even partially incorrect releases. Many issues can be fixed after the fact (even in production) and you can inch closer to a better version as time come goes on.
Mechanical engineering oftentimes can't work that way. An "80% solution machine" usually doesn't work at all and iteration costs (outside of 3d prototyping) can be staggeringly high.
Example: My company produces heavy "things" (20tons+) that have tight tolerances in some places. If the design is off by 2mm because of a CAD bug or unexpected/unknown UI the part could be scrap or require an expensive (read manual) rework.
There go all your software savings.
So why management would love to reduce the staggeringly high costs it's not worth the risk until an alternative is very proven.
In many projects customers contractually require is to use a specific solution.
And even if the software doesn’t cost you in failed projects it can cost you in other ways.
The old meme from 10 years ago about: “Linux being free if your time is free” is largely false for personal usage, but in the corporate environment somebody will have to provide support and with the open source software this is going to be you.
People selling B2B software know that so they will usually price things in a way that it is just a bit cheaper to pay them rather then support and retrain staff.
It's because these tools are used to deliver high quality physical products on time and on budget with no scope or interest in messing around with software defects. These tools are treated like physical tools. It's worth paying for a high quality one which won't cause unexpected grief, by people who will provide immediate support because we pay them.
I think if there were good quality open source equivalents they would be considered, but they pose a huge risk, possibly even an existential risk, if they derail our development plans unexpectedly. Paying a lot of money for seriously good quality tools reduces that risk dramatically.
I've had a brief look at FreeCAD, and it's got a lot of potential. But when you compare it with SolidWorks, OnShape or SolidEdge, there's clearly a huge gap in usability and capability which needs closing before a lot of people will be able to consider it seriously. I'm sure it will eventually get there, like KiCAD did, but it will take many years and a lot of investment to get the usability, polish and featureset up to parity. It looks like Ondsel did a really good job to make some progress along that path.
> when you compare it with SolidWorks, OnShape or SolidEdge, there's clearly a huge gap in usability and capability
All 3 of these are using the same geometry kernel - siemens parasolid.
Most open source CAD software is using OCCT (cascade).
It’s the kernel that brings a lot of the capability. Check out “plasticity” (https://www.plasticity.xyz/ ) for an example of a single developers implementation of the parasolid kernel
I agree although I feel like one could easily make the exact same comments regarding compilers. I can't quite pin down why there would be many free (for various values of free) industry standard compilers but not cad programs.
I’m a software guy. I love FOSS. Much of the tooling that I use is FOSS, and oftentimes the software is as good if not better than the proprietary equivalent.
Until very recently, this was not the case in hardware world. In many cases it’s still not the case. You will meet all sorts of purists here that will tell you FreeCAD is good enough, for instance. Well, I tried using FreeCAD to build a hardware product. And eventually switched to proprietary software because FreeCAD could not satisfy my use case. I made a genuine effort to use the FOSS variant, but it was not usable for me.
I’m more inclined to listen in hardware when someone says the FOSS tools are not good enough after that experience.
I don't think it's simply "engineers hate open source". Most of the open source tools in the embedded space are just a bit crap. The reality is that good software needs many thousands of hours of development time. The embedded space is actually pretty small in development budget terms - so fewer engineers who might devote time - and also there's less overlap in skillset - electronic design engineers rarely have the software skills required to develop EDA software.
Most of the incredibly well used robust open source packages are sponsored by large tech companies. The embedded space just hasn't had that kind of sponsorship.
> electronic design engineers rarely have the software skills required to develop EDA software.
You could say that about many other fields too, but then why do we have great tools like Blender, Krita, Audacity, etc.? Artists and musicians have great software skills, but electronics engineers don't? There's always been a huge overlap between EE and CS degrees, with "computer engineering" degrees coming about as a merger of the two fields decades ago, so I find this statement hard to believe.
Just a guess, but it could be because the size of EE employers is bimodal. Either you're working for a startup that can't afford to sponsor open source development and would not benefit in time for it to change the chance of success, or you're working for a huge company, big enough to negotiate discounts from the vendors.
That's a very interesting question and I'm not really sure what the answer is in general but I can answer for myself.
I'm an EE. I can code. I think I'm pretty good at it. But there's a reason I didn't major in CS, I don't enjoy it all that much and I don't do it as a hobby either.
If you believe that those who contribute to FOSS is a small percentage, then I think for non-SW folks you're looking at a small percentage of a small percentage, which means sparingly few contributors which means sparingly few FOSS EDA tools.
Well, Blender, at least started as commercial software. It was only open sourced after the foundation was put together to hit the source code out of the bankruptcy.
Yes, but Blender at that point was very primitive, both from a features and usability standpoint. What really drove Blender forward in its earlier years were the open movie projects, both as a way of raising funds for development and as a way of putting the software through its paces to find spots that need improvement. Ton Roosendal has been a superbly skillful project leader in other ways too, like finding the right technical areas and features to focus on, putting the needs of the artists/users first, knowing when to set aside his own vision in favor of what the community wants and not undertaking major rewrites until there is enough momentum behind the project to see them through.
That's a long way in the past though, and one of the fascinating things about the Blender project is the way that they have been able to break with their legacy in a way that other projects seem incapable of. Modern Blender is a very different experience to the early iterations.
I suspect it's the ways in which they are a bit crap. All software is a bit crap one way or another.
FreeCAD's UI is "a bit crap". The "workbench" metaphor is fine as a metaphor, but the specific way the workbenches are put together in FreeCAD is oriented more towards the way the functionality is implemented than what the user wants to do with it. You have no choice but to understand technical implementation details.
That's just one example, but that attitude to UI in FreeCAD is absolutely pervasive.
I think that's a general problem in the space. The user interfaces in general aren't designed, they're an outgrowth of the direct implementation of the underlying functionality.
Yes. You’ll have a hard time finding a full-time professional photographer that hasn’t tried Gimp, and an even harder time finding one that still uses it. That’s not even getting into graphic designers— Gimp’s typography tools are awful. Open source software that’s useable— more recent blender versions, Inkscape, Firefox, Signal— is the only stuff that’s caught on in large part because they deliberately enfranchise designers. As an experienced, art school trained designer with far more than enough full-time coding experience to implement my own designs, I still exclusively contribute code to FOSS projects as a developer. I’ve seen both sides of this and am perpetually dispirited by the dismissive, haughty, and frankly ignorant attitudes towards designers among many developers. FOSS interfaces are put together by and for people who a) have a working mental model of software functioning, so they reason about interfaces differently, b) know more about the code than the problem domain, c) are used to and pride themselves on learning complex systems based on a set of complex docs. Until changes, user-facing FOSS applications will be used by developers no matter how useful they would be to others.
The sad thing is that the current car-crash state of GIMP's UI is what, 15 years after they received the input of a professional HCI designer? In some ways it's improved a great deal in that timespan, and in others it got significantly worse. To this day it lectures you like some bratty kid playing Simon Says if you try to use File -> Save to save a TIFF image. (Complying with my instruction and then telling me why Export would have been better is fine. Recognising and understanding the instruction but refusing to comply with it is not fine.)
> a) have a working mental model of software functioning, so they reason about interfaces differently
You're 100% correct, they do reason about interfaces differently, and thus have wants and needs which are different from those of non-technical users. Those wants and needs are not met by mainstream software, but are met in some OSS software, so it should come as no surprise that such types want to defend that software against the incursion of those who want to make it just like the mainstream offerings!
Like you I have a slightly different perspective here, having been a hobbyist software developer for some years, but having worked in print and design as a day job.
But I still bemoan such things as the awful keyboard handling of the current GTK file dialog, when compared with the old GTK1.2 file dialog. The old one was truly hideous to look at, but handled filtering files by keystroke far better than any current file dialog.
>Most of the open source tools in the embedded space are just a bit crap.
Anyone who sincerely thinks GIMP can replace Photoshop or is otherwise good will never understand why professionals eschew open source software when there's work that needs doing.
It's interesting to compare Blender and Gimp on this axis. And to a certain degree Emacs and VS Code; or Gnome and KDE; or gcc and clang. It's easy for a certain sort of open source project to get so distracted by the point it is trying to prove that it forgets that it has to actually be good.
The only unfair comparison here is Emacs and VS Code, because their goals are a bit orthogonal. VS Code is meant to be easy but extendable code editor, while Emacs dropped the easy part at least 20 years ago.
Eh, it's not that hard. Just completely different from anything else.
I agree, but it’s definitely not meant to be beginners friendly.
Then maybe they should help make gimp better... I'm no "professional" but it works just fine for what I want it to do. /shrug
> Altium seems to be the standard here still
Apple and NVIDIA are using Allegro (or customized versions thereof.)
> or even better
KiCad is faster, absolutely not better.
> very expensive
Vivado is free for a great number of devices (not just the "lite" version, either, depending on the board - U50, U55, etc.)
No open source tooling can even remotely compare in ASIC implementation flow or FPGA implementation.
> KiCad is faster, absolutely not better.
That seems like a matter of taste. We switched from Altium to KiCad and I very much prefer it. We don't do any RF stuff, so there might be things that don't quite work in KiCad, but for what we do - power electronics - it works perfectly well.
>KiCad is faster, absolutely not better.
Not what I've heard, and CERN seems to think it's good enough for their particle colliders.
>No open source tooling can even remotely compare in ASIC implementation flow or FPGA implementation.
Yes, FPGA tools are a very different matter. I do wonder if this is really lock-in from vendors more than any preference by users, but still, sufficiently motivated users could reverse-engineer things to try to make a single open-source toolset that works with all vendors' FPGAs. Of course, the feasibility of this is questionable, but we've seen really impressive reverse-engineering efforts in other places in FOSS. Just look at how futile it is for YouTube to try to prevent people from downloading their videos.
Large institutions like CERN run everything. But the advanced stuff is definitely not on KiCAD. It doesn't have support for the right simulation models.
https://www.eenewseurope.com/en/cern-selects-cadence-service...
"The CERN physics department is deploying the Cadence analog and digital end-to-end solutions as well as the Cadence verification and Allegro PCB solutions throughout the support of its CERN IT department."
Kicad isn't a simulator, it's a pcb designer.
Look at slide 32 and 33 https://archive.fosdem.org/2022/schedule/event/advanced_sim/...
This doesn't really explain any hostility towards open tools but it does explain much of the preference for certain well established commercial packages:
The commercial software vendors do a great job of marketing to engineering schools and students. Once you learn some software it's a lot of work to relearn. So if you get people accustomed to your proprietary ecosystem early in their schooling and during the start of the career, you have pretty much hooked them for life.
For non-SW engineers, like myself, software is a means, not an end, and FOSS or not FOSS is irrelevant.
To get a EDA tool to a useable condition, and debugged to the point where it is reliable enough to actually use, is just a ton of work. As someone who wants to design circuits, why should I do that work? How will it help me design more circuits? I understand why beginners and casual users don't like them because the EDA tools do have a huge learning curve, but once you're there, they are very productive.
For professional engineers the software license is not really a significant barrier. Compared to the cost of labor, materials and equipment it's basically a noop.
None of the points you make is universally true. FOSS means that there is less of a chance of the rug being pulled from under you in the form of subscription services nobody asked for. This has been a repeated annoyance with one certain company which did that recently for an ECAD tool and an MCAD tool. And, there are enough motivated people who do a ton of work to make FOSS software reliable enough. In fact, MCAD is an exception in that area. We have world class FOSS operating systems, 3D animations systems and development tools in an endless list. Even Blender, which was not very popular a decade ago, suddenly gained recognition. FOSS ECAD is on the way and it will happen some day for FOSS MCAD too. Finally the license cost. The cost of proprietary software - especially engineering and scientific software is exorbitant in countries with better purchase power parity. Much less would happen in those sectors in such places if it weren't for the large repository of FOSS software available to them.
> and FOSS or not FOSS is irrelevant.
I don’t think this is universally applicable. I think you can differentiate software by how important it is.
Some software is at the very core of your business. A CAD, a ECAD, some lab software or a video editing program. Realistically, if you cannot justify the expensive of that software for your business, you probably don’t have a business. Many of those apps require substantial R&D to get right, something you can only afford if you make real money by building it.
But there are other supporting applications that are not as close to your value add as your core apps, but they can still sleep you over real bad if the vendor goes bust or raises prices into the sky. That may be a teams chat app, a mail client, a wiki software. Most of those apps are essentially the infrastructure of any business nowadays and are relatively solved problems. In this area OSS really shines and reduces a lot of the vendor risk.
With respect to cad suites it's push from the top. That starts at education where sweet deals are made to force students to use one specific suite while it should not matter what you use.
If I have two solutions I don't expect to easily work, one is free and one comes with an expensive support contact, then I will weigh the cost of the support against the value of the whole project.
Often the support is worth it, because I can have a conversation with someone early in the process. If I commit to open source then I either need to hire an expert (this does not get the same guarantee as a support contract) or live with much more uncertainty.
>I've noticed that non-SW engineers frequently turn their noses up at open-source solutions
The problem is that usually open source solutions are really, really rough around the edges from UX perspective - and it could be minor edge cases for programmer! - but for engineer they are a dealbreakers.
Look at it from the engineer PoV - they could learn industry standard CAD solution that works, has relatively good(depending who you ask and which version they started with) UI/UX .. and it's something they employer pays for.
I worked with civil engineers that tried multiple different 2D CAD software packages and frankly, all of them hate Autodesk as a company, but they still did pick AutoCAD. They did have different preferences for specific AutoCAD version though.
Honestly the core problem is that there's no pressure from clients on open source software to have a good UX, because there are no clients - just users and developers.
The other problem is that sometimes from the perspective of an experienced user, "good UX" means "works exactly like the piece of software I've been using on a daily basis for the last 15 years."
Even if a brand new UI is objectively better, to someone who's invested thousands of hours in becoming fluent, fast and efficient with an existing UI (however quirky or obtuse it might be) the new UI will be an impediment to productivity.
> Unfortunately, I've noticed that non-SW engineers frequently turn their noses up at open-source solutions, and really the entire concept of open-source software, and seem to prefer proprietary solutions, the more expensive the better.
Well if you're dealing with projects worth 7 figures (or more), it absolutely makes sense to go for a commercial project with SLAs on support. Last thing you want is to hit some showstopper bug, holding up people who earn 4-digit daily compensation, and been told to "figure stuff out yourself".
If you as the author of a FOSS project that isn't a household name already for historical reasons (like, say, OpenSSL or cURL) and you want it being used by anyone else than hobbyists and universities, you won't get around establishing some sort of corporate infrastructure to sell support contracts.
> Unfortunately, I've noticed that non-SW engineers frequently turn their noses up at open-source solutions, and really the entire concept of open-source software, and seem to prefer proprietary solutions, the more expensive the better.
Probably because if you complain about bugs or problems in open-source software, a legion of trolls comes to tell you "erm, it's open source, you can just implement it yourself" no matter how skilled the user is at programming.
Like, for example, the lead dev of Inkscape, who used to (not sure if he still does) go around on twitter looking up complaints about how slow Inkscape is on macOS and then complain about them being entitled.
No wonder they don't want to use it, then, if it's considered rude to even expect the software to work.
Yeah, this is a non-trivial effect. It affects FreeCAD too. Mostly contained to the forums, but if you ask a question it's wise to give people who actually know what they're talking about a couple of days to show up.
I think part of it is also the user knowing that they have no right to express frustration when the product is free. That's actually a mental burden. In a sense, people buy software partly so they feel they have the right to complain when it has issues. And honestly I think that's pretty reasonable
In which fields can one rely on open source?
I've just started using FreeCAD after bouncing around Solidworks, Onshape and Fusion360. The changes in 1.0 are more than welcome! Thank you for your contributions!
It's sad that this is failing, and sadder still that I, an occasional CAD user, never heard of it even though I really wanted something like this (at least in theory).
Unfortunate but extremely predictable. The commercial market for CAD cares about CAD that actually works, not free software ideals. FreeCAD is simply not in the same league as commercial CAD like Solidworks, NX, Creo, etc. IMO it's not even in the same league as SolveSpace, at least last time I used it (which was admittedly some years ago).
It was absolutely worth a try.
Blender suffered the same sort of issues as FreeCAD does, but managed to get out of the slump.
It is often important to have a main player enforcing proper, unified UI/UX and fix the many small problems and bugs which drive users away. Sadly it is usually an issue with long running and highly complex open source software that it gets really fragmented. You see that in every function having its own button or workspace, inconsistent naming, functions which do the same but slightly different and things working differently depending on some context where they really should not.
Thanks to the people from Ondsel it felt like FreeCad would be on a similar route to Blender. It was way more user friendly thankfully there has been major back porting.
So there has been a lot of progress especially with the upcoming 1.0. You should give one of the Release Candidates a try. I use it for my 3D printing projects and it works pretty well.
The parent comment rephrased: 'oh it was a useless effort like any other effort to push open source in CAD'. (Not true btw, Blender is an institution in non-parametric design, the niche for open-source is just for parametric CAD).
How is open source supposed to break through to this 'market' as you call it? Should we just give up instead?
Dupe: https://news.ycombinator.com/item?id=42163141
Three points, zero comments. Not a dupe. Useless comment.