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.
Every time I have a personal project and want to make a simple CAD drawing of a building or a simple model, as I would using AutoCAD at work, I go through the same song and dance. I look around at the options online, my jaw hangs open at the cost of any commercial CAD subscription/licence, then I get frustrated by a glaring lack of functionality or useability while trying some free/open source solution, and resort to a 30 day trial or MSPaint/paper.
Some of the comments already mention how blender's existence is predicated upon it filling a niche in certain senses, instead of trying to achieve feature parity with an entrenched giant. That makes sense, and it's unfortunate, as this space could use an open source option with Blender's polish. In my own industry, mining, I am certain some commercial interests would happily make their product an extension/plugin for a polished FreeCAD (or other), were it at that point.
Blender is often used as an example of open source polish, but I think too many people focus on how it exists today and not how it evolved. Blender got its start as a commercial tool that a pool of people raised €100,000 to pay to make it open source. And for years Blender's UI was criticized as being too difficult and too different from tools like Maya. It's a marvelous tool today because a dedicated group of people donated their time to improving it or were sponsored by others willing to contribute monetarily.
FreeCAD isn't as refined as Blender, but it also hasn't had the same level of support. I've found the maker community particularly critical, often in uncostructive ways, around OSS CAD tools like FreeCAD or SolveSpace. It's hard to compete with commercial offerings that have full time designers working on them. To get there we need volunteers to work on the project and/or folks willing to fund development. Ondsel demonstrated how well that could work for FreeCAD. But, the maker community has largely been unwilling to contribute either in terms of cash or time. And many take to publicly bashing the tools, which doesn't exactly entice those volunteering to go out of their way to help.
We could have the Blender equivalent of an OSS CAD package, but people are going to need to step up and contribute. I appreciate that you often have a time sensitive task and going with a commercial tool is more expedient. That's fine, of course, but that also isn't going to help advance any of these OSS tools. Just also be aware that you're at risk of losing your design as well since commercial licensing can change on a whim (e.g., Fusion 360 preventing STEP export for free accounts -- this decision ended up being reversed, but should be concerning).
I have a similar problem, but for electrical diagrams. I want to draw out diagrams for each of the circuits in my house and none of the free options are good enough.
I wanted to make diagrams for an embedded system circuit I made and ended up using PowerPoint. All of the free options seem to be focused exclusively on PCB design and not making nice graphics. Fritzing which is what a lot of people recommend is now a paid for application.
Alibre (1) seems pretty popular with makers (good cnc support?). Not OSS but its a one time $200 purchase - sorta surprising you can still buy software these days :-P Alibre is more of a professional tool like Fusion 360, so there is some learning curve.
There's also Fusion 360 that's free for personal use. SolidWorks is better and worth $50 / year if you use it a few times, but for a one-off project, Fusion 360 is pretty good.
I've had multiples of my students get into legal trouble over the years from using these. Just understand that almost all of these professional level software packages phone home even after being cracked, so you basically have to airgap your computer if you use them. It's a major reason why I steer them towards open source CAD packages, and towards the pro level CAD packages with usable free hobby licensing.
These are the kinds of projects I would love for philanthropic billionaires to get behind rather than political garbage. It’s something that can serve everyone everywhere
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.
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.
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.
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.
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.
> 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.
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.
I'm a hobbyist and over the last month have been improving my 3D modeling chops. Because it's a hobby, the cost of the tools hasn't been an issue. I started with Ondsel, and it looks like a really good tool. I went through a couple of hours of a tutorial, and it looked pretty good.
But then a friend reminded me of the Fusion 360 hobbyist plans, and I decided to give it a try, just to see. It blew my socks off! It's just a lot more refined. The first 12 minute tutorial took me further than I'd gone in the ~2 hours I did with Ondsel.
FreeCAD is an amazing piece of software to be available for free. But in the end Fusion just operated a little more smoothly in lots of little ways. I have really limited time to do 3D modeling, so it's pretty valuable to me to get more done quickly.
One temporary thing that's making FreeCAD a bit hard to get started with is that there's not much content out there for learning 1.0, and sifting through out of date content to find it took some work. That'll improve as time goes on.
Almost all the tooling in FPGAs is proprietary because the vendors don't provide the information needed to develop open source tools around them. They'll also often obsfucate the bitstreams to make the reverse engineering process more difficult. Progress is being made but it is a slow and painstaking process.
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.
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.
> 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.
In the case of FPGAs it doesn't really matter that the proprietary tools are buggy. What matters is the features and utility they have. Open-source FPGA design is still extremely, extremely far behind the proprietary alternatives in many dimensions (power support, integration tools, many aspects of simulation and test, general tools like floorplanners, and so on.) That isn't because people aren't trying either. It's just really hard and has limited talent pool.
I've spent a lot of time at this point with both toolkits. I use the open source tooling extensively for my own designs. But you tell some grizzled RTL person there's no power analyzer or native SDC support or that UTM was only recently supported in some simulator, and they're going to laugh at you. They've been doing that stuff for 20 years. I know this because I've done it several times (though other people find particular things, like free RTL verification tools, much appreciated.)
I think FOSS/software people paint some very rose-tinted picture in their mind where the mere availability of something for $0 would make it an obvious choice, even at only 10% of the functionality. But that's not how people see it in reality. Many people, including engineers, think of it the other way: if it's so good, why is it $0 and how do I know it will keep being developed? They've made their peace with the fact that the $5000 tool will exist practically for as long as they need, get the job done, and be supported.
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.
I'd frame it as: people who want to get stuff done and who can't or don't want to have to fight or troubleshoot their software or the system it runs on will often have to choose non-open-source options.
Some examples, from my perspective of being an enthusiastic and reasonably tech-savvy hobbyist:
* Linux is almost always a huge pain to get running well. In contrast, MacOS almost always just works, and while Windows can be a bit more janky, it very rarely needs countless hours spent on e.g. Ubuntu forums or Stackoverflow trying random fixes until one does (or doesn't) work. Of course there are reasons for this, but it is true. (Will next year be the year of Linux on the desktop?)
* Python is something I fundamentally love and use frequently, but I'm not the first to notice the terrible UX when it comes to managing different versions of Python itself, and its packages. Note that virtually every Python-based project on Gibhub (which is lots, thanks to ML) comes with a different set of instructions to get it running, usually based on a different distribution or package manager, thanks to an n+1 problem-solving approach [0] from the Python community. You can often run into huge issues simply installing a single popular package (looking at you, OpenCV).
* FreeCAD... I'm an enthusiastic mid-level CADder, and have used several different commercial packages without a problem. FreeCAD is just awful currently - fundamental issues/incompatibilities betewen the different modules within the base system, a terrible ugly UI, an unncecssarily steep learning curve (even for someone well-versed in CAD). And of course the answers to (some of) these problems are suited to the limux hacker - "oh just install so-and-so's fork instead". Really? And you're surprised it doesn't take off with the hobbyist community?
* Dearpygui.. a lovely, performant GUI for Python, but with such terrible documentation that for anything beyond the (sparse) examples, you have to resort to asking questions on Discord. (They are reponsive and friendly, though.)
* GIMP - powerful... and just crappy to use.
My basic premise is that most open-source products are designed and coded by hardcore programmers/Linux experts, who are great coders but either don't care about or don't have skills in optimising UI/UX/usability. Maybe it's the much-derided product managers (i.e. not hardcore programmers/Linux experts) who bring usability to a project. Maybe open source needs to work on attracting non-coders to its projects, and be open to listening to their criticism?
and FreeCAD seemed simultaneously the most ambitious, and the most promising --- hopefully v1.0 will pay off on that, and result in a tool which can be used widely --- but it will eventually need some sort of commercial support. Ondsel seemed a good fit for that, and it's unfortunate that they didn't make it.
Notable other options include:
- Solvespace --- a venerable and simple tool, it is barebones to the extent that many folks won't be able to accept it
- BRL-CAD --- _the_ venerable choice, but the interface is so old school and programming-like, most folks won't even consider it
- OpenSCAD --- 3D modeling for programmers --- the great thing about it is, anything which one can describe mathematically can be modeled --- the awful thing about it is, what one can model is limited by one's mathematical knowledge. A further concern is that DXFs from it are just polylines, no arcs --- I've been working to address that using OpenPythonSCAD at: https://github.com/WillAdams/gcodepreview
LibreCAD is workable for 2D, though I only use it for file conversion.
The other notable options are OnShape (free for public designs), Alibre (quite affordable), Solidworks for Makers (for values which include non-commercial usage watermarking).
OpenSCAD is my go-to. It's self-contained and AI coding tools know the syntax well enough to help you move fast. Unfortunately I keep hitting a complexity ceiling.
If it doesn't like how I'm describing something, it crashes. I have to load an older version of my .scad and try a new approach. This usually happens 70% of the way into a complex project, which is quite discouraging.
The Python ecosystem has CadQuery[0] and a few other tools built around the Open Cascade kernel[1] which is quite good in my limited experience. CadQuery is positioned as an OpenSCAD alternative [2], and I really want it to be. Unfortunately the user experience isn't there yet.
Making an object with CadQuery is writing a Python program. Which means you need a Python environment and dev setup. CQ-editor [3] is nice, but needs a Python environment first. I think CadQuery would be much more viable OpenSCAD alternative if it was packaged into a standalone CQ-editor application and published via homebrew, etc.
I'm also interest in Zoo [4](fka KittyCAD). They're trying to create a modelling tool that combines model-by-code and model-by-mouse. With some AI layered on top. They have an interesting architecture where they stream geometry to your local device from the cloud. Should be great for performance, but ties you to the cloud.
If you want 3D in Python with OpenSCAD syntax try: https://pythonscad.org/ --- I've been using it, and the developer has been amazing at fixing bugs and churning out features.
The KittyCAD stuff seems almost perfect --- will definitely be looking more closely at it
This is a huge shame. Ondsel brought much-needed focus to the freecad development process.
I hope that with them gone the project doesn't revert to the mindset of "everyone gets their own fiefdom (workbench) to manage" that's resulted in instabilities and fractured user experience in the past.
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).
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!
I learned freecad some years but never really liked it. Fast forward to version 1.0, it feels like a huge improvement and I think k I will try to use it again for smaller projects.
The biggest improvement IMO was the partial sketch thing, which I can't even find among the release notes...
It is! It is totally usable for my hobby projects that I overkilled with Fusion360. Btw Fusion 360 crashes as often as FreeCAD 1.0 for me, despite its holier-than-thou maker.
Some of the comments already mention how blender's existence is predicated upon it filling a niche in certain senses, instead of trying to achieve feature parity with an entrenched giant. That makes sense, and it's unfortunate, as this space could use an open source option with Blender's polish. In my own industry, mining, I am certain some commercial interests would happily make their product an extension/plugin for a polished FreeCAD (or other), were it at that point.
FreeCAD isn't as refined as Blender, but it also hasn't had the same level of support. I've found the maker community particularly critical, often in uncostructive ways, around OSS CAD tools like FreeCAD or SolveSpace. It's hard to compete with commercial offerings that have full time designers working on them. To get there we need volunteers to work on the project and/or folks willing to fund development. Ondsel demonstrated how well that could work for FreeCAD. But, the maker community has largely been unwilling to contribute either in terms of cash or time. And many take to publicly bashing the tools, which doesn't exactly entice those volunteering to go out of their way to help.
We could have the Blender equivalent of an OSS CAD package, but people are going to need to step up and contribute. I appreciate that you often have a time sensitive task and going with a commercial tool is more expedient. That's fine, of course, but that also isn't going to help advance any of these OSS tools. Just also be aware that you're at risk of losing your design as well since commercial licensing can change on a whim (e.g., Fusion 360 preventing STEP export for free accounts -- this decision ended up being reversed, but should be concerning).
I'm the author and I'm trying to get it into makers tool kit:
https://sites.google.com/view/gatorcam/home
Deleted Comment
I wanted to make diagrams for an embedded system circuit I made and ended up using PowerPoint. All of the free options seem to be focused exclusively on PCB design and not making nice graphics. Fritzing which is what a lot of people recommend is now a paid for application.
50$ a year sound perfectly reasonable to me.
1. https://www.alibre.com/
It's available to people making less than $2k/yr from projects.
If you make more than $2k/yr, you need to pay standard prices, which start at $2.8k/yr.
Dead Comment
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
But then a friend reminded me of the Fusion 360 hobbyist plans, and I decided to give it a try, just to see. It blew my socks off! It's just a lot more refined. The first 12 minute tutorial took me further than I'd gone in the ~2 hours I did with Ondsel.
FreeCAD is an amazing piece of software to be available for free. But in the end Fusion just operated a little more smoothly in lots of little ways. I have really limited time to do 3D modeling, so it's pretty valuable to me to get more done quickly.
One temporary thing that's making FreeCAD a bit hard to get started with is that there's not much content out there for learning 1.0, and sifting through out of date content to find it took some work. That'll improve as time goes on.
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.
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.
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.
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.
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.
I've spent a lot of time at this point with both toolkits. I use the open source tooling extensively for my own designs. But you tell some grizzled RTL person there's no power analyzer or native SDC support or that UTM was only recently supported in some simulator, and they're going to laugh at you. They've been doing that stuff for 20 years. I know this because I've done it several times (though other people find particular things, like free RTL verification tools, much appreciated.)
I think FOSS/software people paint some very rose-tinted picture in their mind where the mere availability of something for $0 would make it an obvious choice, even at only 10% of the functionality. But that's not how people see it in reality. Many people, including engineers, think of it the other way: if it's so good, why is it $0 and how do I know it will keep being developed? They've made their peace with the fact that the $5000 tool will exist practically for as long as they need, get the job done, and be supported.
Deleted Comment
I'd frame it as: people who want to get stuff done and who can't or don't want to have to fight or troubleshoot their software or the system it runs on will often have to choose non-open-source options.
Some examples, from my perspective of being an enthusiastic and reasonably tech-savvy hobbyist:
* Linux is almost always a huge pain to get running well. In contrast, MacOS almost always just works, and while Windows can be a bit more janky, it very rarely needs countless hours spent on e.g. Ubuntu forums or Stackoverflow trying random fixes until one does (or doesn't) work. Of course there are reasons for this, but it is true. (Will next year be the year of Linux on the desktop?)
* Python is something I fundamentally love and use frequently, but I'm not the first to notice the terrible UX when it comes to managing different versions of Python itself, and its packages. Note that virtually every Python-based project on Gibhub (which is lots, thanks to ML) comes with a different set of instructions to get it running, usually based on a different distribution or package manager, thanks to an n+1 problem-solving approach [0] from the Python community. You can often run into huge issues simply installing a single popular package (looking at you, OpenCV).
* FreeCAD... I'm an enthusiastic mid-level CADder, and have used several different commercial packages without a problem. FreeCAD is just awful currently - fundamental issues/incompatibilities betewen the different modules within the base system, a terrible ugly UI, an unncecssarily steep learning curve (even for someone well-versed in CAD). And of course the answers to (some of) these problems are suited to the limux hacker - "oh just install so-and-so's fork instead". Really? And you're surprised it doesn't take off with the hobbyist community?
* Dearpygui.. a lovely, performant GUI for Python, but with such terrible documentation that for anything beyond the (sparse) examples, you have to resort to asking questions on Discord. (They are reponsive and friendly, though.)
* GIMP - powerful... and just crappy to use.
My basic premise is that most open-source products are designed and coded by hardcore programmers/Linux experts, who are great coders but either don't care about or don't have skills in optimising UI/UX/usability. Maybe it's the much-derided product managers (i.e. not hardcore programmers/Linux experts) who bring usability to a project. Maybe open source needs to work on attracting non-coders to its projects, and be open to listening to their criticism?
[0] https://xkcd.com/927/
- Particle Physics
- Astrophysics
- Genomics
- Quantum Chemistry
- Molecular Chemistry
- Robotics
- Geospatial analysis
- Epidemiology
- Medical imaging
https://web.archive.org/web/20211126210706/https://wiki.shap...
(trying to get that back into shape at: https://old.reddit.com/r/shapeoko/wiki/cad ob. discl., I work for Carbide 3D)
and FreeCAD seemed simultaneously the most ambitious, and the most promising --- hopefully v1.0 will pay off on that, and result in a tool which can be used widely --- but it will eventually need some sort of commercial support. Ondsel seemed a good fit for that, and it's unfortunate that they didn't make it.
Notable other options include:
- Solvespace --- a venerable and simple tool, it is barebones to the extent that many folks won't be able to accept it
- Dune 3D --- this is an incredibly elegant and usable tool, which I hope FreeCAD will look to in terms of UI, previously discussed here previously: https://news.ycombinator.com/item?id=37979758 and https://news.ycombinator.com/item?id=40228068
- BRL-CAD --- _the_ venerable choice, but the interface is so old school and programming-like, most folks won't even consider it
- OpenSCAD --- 3D modeling for programmers --- the great thing about it is, anything which one can describe mathematically can be modeled --- the awful thing about it is, what one can model is limited by one's mathematical knowledge. A further concern is that DXFs from it are just polylines, no arcs --- I've been working to address that using OpenPythonSCAD at: https://github.com/WillAdams/gcodepreview
LibreCAD is workable for 2D, though I only use it for file conversion.
The other notable options are OnShape (free for public designs), Alibre (quite affordable), Solidworks for Makers (for values which include non-commercial usage watermarking).
If it doesn't like how I'm describing something, it crashes. I have to load an older version of my .scad and try a new approach. This usually happens 70% of the way into a complex project, which is quite discouraging.
The Python ecosystem has CadQuery[0] and a few other tools built around the Open Cascade kernel[1] which is quite good in my limited experience. CadQuery is positioned as an OpenSCAD alternative [2], and I really want it to be. Unfortunately the user experience isn't there yet.
Making an object with CadQuery is writing a Python program. Which means you need a Python environment and dev setup. CQ-editor [3] is nice, but needs a Python environment first. I think CadQuery would be much more viable OpenSCAD alternative if it was packaged into a standalone CQ-editor application and published via homebrew, etc.
I'm also interest in Zoo [4](fka KittyCAD). They're trying to create a modelling tool that combines model-by-code and model-by-mouse. With some AI layered on top. They have an interesting architecture where they stream geometry to your local device from the cloud. Should be great for performance, but ties you to the cloud.
[0] https://github.com/CadQuery/cadquery
[1] https://en.wikipedia.org/wiki/Open_Cascade_Technology
[2] https://cadquery.readthedocs.io/en/latest/intro.html#why-cad...
[3] https://github.com/CadQuery/CQ-editor
[4] https://zoo.dev/
The KittyCAD stuff seems almost perfect --- will definitely be looking more closely at it
I hope that with them gone the project doesn't revert to the mindset of "everyone gets their own fiefdom (workbench) to manage" that's resulted in instabilities and fractured user experience in the past.
The biggest improvement IMO was the partial sketch thing, which I can't even find among the release notes...
https://wiki.freecad.org/Release_notes_1.0
I was sceptic first, but 1.0 turned out had some major improveme