Software In Progress

Open source software can be fantastic. I run almost exclusively open software, and have for longer than I care to admit. And although I’m not a serious coder by an stretch, I fill out bug reports when I find them, and poke at edge cases to help the people who do the real work.

For 3D modeling, I’ve been bouncing back and forth between OpenSCAD and FreeCAD. OpenSCAD is basic, extensible, and extremely powerful in the way that a programming language is, and consequently it’s reliably bug-free. But it also isn’t exactly user friendly, unless you’re a user who likes to code, in which case it’s marvelous. FreeCAD is much more of a software tool than a programming language, and is a lot more ambitious than OpenSCAD. FreeCAD is also a program in a different stage of development, and given its very broad scope, it has got a lot of bugs.

I kept running into some really serious bugs in a particular function – thickness for what it’s worth – which is known to be glitchy in the FreeCAD community. Indeed, the last time I kicked the tires on thickness, it was almost entirely useless, and there’s been real progress in the past couple years. It works at least sometimes now, on super-simple geometries, and this promise lead me to find out where it still doesn’t work. So I went through the forums to see what I could do to help, and it struck me that some people, mostly those who come to FreeCAD from commercial programs that were essentially finished a decade ago, have different expectations about the state of the software than I do, and are a lot grumpier.

Open source software is working out its bugs in public. Most open source is software in development. It’s growing, and changing, and you can help it grow or just hang on for the ride. Some open-source userland projects are mature enough that they’re pretty much finished, but the vast majority of open-source projects are coding in public and software in progress.

It seems to me that people who expect software to be done already are frustrated by this, and that when we promote super-star open projects like Inkscape or Blender, which are essentially finished, we are doing a disservice to the vast majority of useful, but still in progress applications out there that can get the job done anyway, but might require some workarounds. It’s exactly these projects that need our help and our bug-hunting, but if you go into them with the “finished” mentality, you’re setting yourself up for frustration.

63 thoughts on “Software In Progress

  1. Software testing against a functional description is an very important step in creating a functional end product!

    That was done by a separate department separated from the programmers that received the error reports whith what was the issue and with a suggestion for a patch.

    The test was done after a software review was done.

    1. But that’s exactly the thing. Most open-source applications don’t have that kind of structure, and don’t have the resources to do things that way if they wanted to. If you think it’s hard to find volunteer coders to work on a project (and, it is), it’s even HARDER to find volunteer QA testers, volunteer documentation writers, volunteer project leads.

      For all but the largest and best-supported (in terms of money/person power/resources) projects, there’s nobody to test against a functional spec because there is no functional spec, because there’s nobody to write the functional spec. Devs are too busy coding and swatting what bugs they can. With luck the project will have some automated testing, to ensure that the code compiles and runs as expected, but the depth and quality of even that testing varies greatly. Ultimately end-users end up doing the functional testing by way of using the software, which has varying results depending how they use it.

      (For example, one project I maintain got a bug report just last week, that I ultimately tracked down to a code change where a function was removed, but a call to that function got left in. The shocking this is, that change was in August 2023! Somehow nobody hit that bug, or at least nobody reported it, for over 18 months. But at least it was an easy 2-line fix, once we knew about it.)

      1. Automated testing is time consuming but reasonable for a solo dev, if you manage time well and are willing to drop other priorities to make time for testing.

        A lot of FOSS devs like trying to make things lightweight, reinventing wheels, trying out new languages and tools, etc, so there’s no time for testing.

        To me automated tests are more important than pretty much any other aspect of code quality. Without the tests, I just assume the code is bad no matter how simple.

        I like to look at functions, imagine every way I could have done it wrong, and write the tests even if I can clearly see the bug I’m imagining isn’t there… Often the test will show me exactly the bug I imagined!

        1. Automated testing also only gets you so far. For a library of functions, it’s great, and usually not too difficult to set up. But for GUI applications it can be extremely difficult and/or expensive, depending what environment you work in. Ditto if your software uses the network, or local resources like databases. Mocking can help a lot with that, but mocking increases the complexity and time-sink of writing tests significantly.

          That project I mentioned with the 18-month-old bug is an extension for GNOME Shell written in JS, which also acts as a network daemon communicating with remote devices. So there’s a GUI component that’s practically untestable (in an automated fashion) because you’d have to test it in a GNOME Shell instance, and the network side requires EXTENSIVE and complex mocking to test.

          We’re using Jasmine as the test framework, and I don’t mind admitting I haven’t the first clue how it works. I’ve wrapped my brain around gTest, Catch2, Pytest, even jUnit, but Jasmine makes absolutely no sense to me.

  2. I am not a developer too, but using Linux in different flavor since a proper gui has been included. Cao is the last thing to force me keeping a windows solution. Freecad and opensacd are in the position of pro-engeneer or catia v4 from the 1995 (!) . Yes, 30 years ago. Thanks but a big no for me. Like going back to horse for the daily commute to work.
    In contrary, Kicad, since a long time, has been able to compete with their proprietary opponents. I’ve thrown eagle and it expensive license under the bus at the first use of kicad, even if some basic fonction needed wasn’t even implemented: Easy to use, easy to adapt to your workflow, easy to install and maintain…
    Linus Torvalds said we will go nowhere with the actual way of doing it in the open-source world , and explained in details why.

    1. Maybe, but for us hobbyists, FreeCad works fine. I can sketch out a panel with relative ease, export to dxf and laser cut. Simple 3D parts for printing are easy. Ie. it works well enough for me for the little I need/use it. And it just gets better. Not a hard core user building a Boeing 777 jet with it. I spend more time on programming as that is my area of expertise.

      1. Two years ago, I wrote a book that made heavy use of Freecad for mechanical illustrations and the results were “professional” by any reasonable definition of the word.

        I don’t understand the perpetual disapproval Freecad gets. Is it equal to some kilobuck commercial package? No. But like you, I think it works fine for what I need it to do.

        Examples: (Warning. Possible shameless self-promotion)

        https://hpfriedrichs.com/mybooks/mmm/bks-mmm-gallery1.htm

        1. “The output is fine,” is a very incomplete review of a software package. It’s a perfect example of survivorship bias. Many, many complaints about FreeCAD relate to never even getting the desired output in the first place because some aspect of the user interface is utterly inscrutable, or a bug prevents progress.

        2. That’s exactly my point! FreeCAD is like 80% there, and that last 20% makes people crazy who expect 100%. It’s about user expectations.

          If it were only 20% functional, it wouldn’t draw the same crowd of users, and correspondingly, none of the heat. Or at least, that’s what I’m thinking through…

          I’m with you, for the record. I love FreeCAD, I use it, and I’m fine with working around some of the rough edges. It’s the only free FEM around at the moment, and the CAM side of things is functional, if clunky.

          1. That seems a fair summary of Freecad: sometimes clunky and buggy, but if you fight your way through the bugs it can get about 80% of what you could do with a commercial CAD package accomplished. Billing it as a workable alternative to a commercial package sets the wrong expectations.

  3. Can’t disagree with with any of this.

    My gripe with FreeCAD is all the different workbenches.

    When things to side-ways, it’s hard not to wonder if talent isn’t wasted on seldom used “look what else we can kinda do” workbenches, while the core has bugs and deficiencies.

    Better to do one thing well, THEN add to it.

    It is mostly usable. Every couple of years I give it an honest “go”. Haven’t stayed so far, but also haven’t tried the latest version.

    Still, Thank you to all those working on the project.

    1. For CAD work you need exactly two workbenches: Part Design and Assembly. If you need something special like generating a gear or stuff like that you load that workbench and that’s it.

      It’s really not complicated.

      1. And the part workbench (because, you know, mirror and symmetric isn’t in the PD WB) and the Tech draw workbench (because you need to export your drawing to PDF for the factory to make it), and sometimes, the Sketcher WB because, you want to add text to your model (this probably the most confusing one, at least for my logic)…

        In the end, you’ll use them all. That’s not that bad, BTW, you just need to learn it, like Gimp or Blender. It’s not as intuitive as Fusion360 or Onshape, but, IMHO, as efficient now.

      2. Except many of the tutorials tell you to use the Part workbench instead of Part Design. Then you find out several features later that the tool you want to use in Part Design doesn’t work if your design was born in Part, for reasons someone who wants to just make parts has no logical response to care about. At least the latest release has the sense to hide the Part workbench unless you really go looking for it

    2. But is it likely that the person who wants a point cloud workbench would instead spend their time perfecting the helix operation? Open source development is often about what the developer wants to do, and then it is a question on whether to take in the work or whether to leave it as 3rd party extension.

  4. We definitely need to be more honest with ourselves and others about the state of projects. Especially when we recommend them to others!

    I think a lot of open source projects are over-sold by (well-meaning) OSS evangelists (usually NOT those working on the project!), who often don’t actually understand what real-world uses entail, or that someone else might want a feature they don’t, or fail to recognise that some OSS projects have poor or non-standard UX and docs.

    And then when someone finds an issue with an OSS project having a bug or lacking a feature, they’re far too often told “it’s OSS you can fix it yourself”. Even as a dev, that’s rarely a helpful answer, and the majority of people aren’t devs. (Again, this doesn’t usually come from those working on the projects; though they do often ask you to signup to [platform] to file a bug report, in a specific format – which for many people is still too complicated.

    I use a solid mix of OSS and commercial software. Some OSS is solid; some is flaky; some it’s easy to extend or fix, but much is too convoluted to learn how the source code works.

    I think keeping OSS to the Linux principle of “do one thing and do it well” helps a lot, but we definitely need to be more honest about the state of many OSS projects. And also consider how we view it compared to a “beta” feature from a company – which we usually crap on them for!

    1. Wikipedia defines that as “Version 1.0 is used as a major milestone, indicating that the software has at least all major features plus functions the developers wanted to get into that version, and is considered reliable enough for general release.”

      And FreeCAD 1.0 meets that in my opinion. It is not perfect, but no software is, and 1.0 does not mean end of progress.

    2. @Cory: I think you’re right on this one. The leap from 0.21 (or whatever it was) to 1.0 was a bit of a stretch, IMO. When some of the front-panel tools in the main workbench are glitchy, it’s not 1.0. In their defense, the workflow improvements into 1.0 are truly huge, but I agree with you that it’s not feature-complete, which is a reasonable expectation of “1.0”.

      But the complaints from perfection-expecters way predate the 1.0 version. Maybe they are stronger now? I dunno. But FreeCAD has been basically usable for five years now, say. And that threshold of “basically usable” is the killer.

    3. What’s all this hate on FreeCAD?

      I think people tend to forget that the first ‘proper’ release of Windows was Windows 3.11, and from what I’ve heard, Windows 1 was truly excrement. Version 1 of FreeCAD is actually pretty decent and useable.

      I could say the same thing too about many other commercial programs (eg: AutoCAD was absolutely atrocious when first released – and for many releases after that).

      Perhaps remind yourself that ‘version 1’ of commercial software VERY often lags WAY behind the quality and functionality of FreeCAD v1.

    1. Simplicity and limits on what can be added to it, means that it now works properly, and will likely keep working.

      There is a point with more complex programs, with unlimited, open ended requirements and wishes, that a small team cannot make them work properly. This is not a skill problem, it is a consequence of complexity.
      Buggy features are added faster that existing bugs can be fixed.

    2. The more I use OpenSCAD, the more convinced I am that someone just got enamored with functional programming, and now wants to inflict it on everybody they meet, and anybody who uses it will learn (sooner or later) the fundamental limitations of functional programming, compared with procedural programming. I am now considering switching to Python-based CadQuery. Anybody out there who can talk me down from this?

  5. I think we are all OK to say that freecad or opens openscad could be used to make professional work or hobbyist work.
    I would go further : with a parametric design, one or the other could be way more integrated in a full automatised production line than soliworks. Do it with catia and be ready to spend thousands of dollars, if not hundred thousand, for a basic setup.
    But, In my position, when, at work, I need to design a gangway bracket missing to pass an inspection, I can’t just spend half a day doing that. Same, at home. If drawing something to be lasercut or milled need more time than doing it by hand directly, i don’t see the point.

    Solidworks works flawlessly, fast and accurate ( No hassle of open geometric line like nearly all garbage from autodesk, fusion is better than anything from them but not enough to any seriious work). I would never buy another SW license due to their new business plan with monthly fees, but the actual Solidworks answers to all my needs, at work, at home for every thing from 3d printing to building a house. And the last license I have bought, was when 3ds belonged to dassault system, one if not the worst french company you can give money to.

    On small business or hobbyist grade, catia is just not reachable, speaking of price. It would certainly be my choice without that. Catia have seen their user count go crazy when they adopted the solidworks gui (and poor copyright protection…).

    I want so hard something like freecad with a correct gui, drawing with a mouse! Not a keyboard like 30 years ago! Like the transition from catia v4 to v5, freecad or openscad with a good enough gui, i think their user base could be skyrocketing.

    I can’t do it, and be sure if I could, I would never talk about this.

    1. I still use an installation of SketchUp Pro v. 8.0 on a virtual Windows 7 for a number of my projects. I like being able to go from 2D drawings to 3D objects without having to go through Blender or Wingz. It was a nicely-designed piece of software, and if there was still a stand-alone version of SketchUP I would probably be using it. FreeCAD seems clunky to me in comparison.

      I have fantasized about improving FreeCAD on my own. However, the requirements documents suck, and I’m not willing to spend the time to parse the design. IMO, the problem is not just with the implementation of the project, it is with the conceptual vision and requirements analysis. IMO, a standard requirements document that conformed to the ideas of Thomas Gelb Might result in a better product, easy to improve, and faster, more consistent development.

      I have the same complaint with many OSS projects: There are lots of good coders, but few real Thinkers/Designers who can work together. Maybe AI will get the emphasis on thinking first.

    2. “Solidworks works flawlessly”

      I seem to recall that one of the major releases of $olidworks corrupted files it saved, trashing your work. Only workaround was to create your own backups.
      I forget the actual release, maybe v 2018?

      And since every release creates files not compatible with ANY earlier release, that was the day I stopped using solidworks for good – even if they gave it away for free. In my book, that is an unforgivable bug.

  6. FreeCad might retain a lot more users if someone were to hide the unreliable features by default, with an “enable preview features” checkbox for people who are okay with the compromises. And do the same for those features that experienced users know are deprecated, because they’re just minefields for new users.

    My first attempt to use FreeCad ended with frustration, which was only compounded when I sought help and was told “nobody uses X workbench anymore, you should start over with Y workbench because the mirror feature works properly on that one.”

    My second attempt ended when I was almost ready to print a prototype, and the app started crashing after every 2 or 3 edits. I don’t know which feature pushed it over the edge, as I just ran out of patience at that point.

    That said, I still love the idea of FreeCad, and I’ve been meaning to try it again now that 1.0 is out.

    1. I use FreeCad now, only when I need to translate something from one CAD file type to another. For example, while OpenSCAD can generate STL files for 3D printing, it’s not so great at generating a toolpath for a CNC router, in order to build projects that require both tools. I don’t even remember what I had to do to make this happen in FreeCad, but I know I’ve got a record of the process.

  7. This goes back to a fundamental problem of all software design: solving the right problem.

    The most elegant hash function in the world won’t put numbers in order. It solves the problem of selecting a specific item efficiently, but doesn’t solve the problem of sorting a list. If I have a list to sort, I don’t care about your collision strategy.

    So why are you using FreeCAD: “To Support Open Source” or “to model a part that will fix my washing machine”?

    Being tolerant of bugs, misfeatures, and weak spots in the Open development cycle is good FOSS citizenship. But does it fix your washing machine?

    1. Well, using any particular open source application “to support open source” is just foolish. You leave out what’s probably the most common use: “to avoid having to pay monthly fees for something I might need twice a year”. Software as it’s done today will in the future (hopefully) be compared with fitness club memberships.

    2. “Being tolerant of bugs, misfeatures, and weak spots in the Open development cycle is good FOSS citizenship. But does it fix your washing machine?”

      Yeah. It does both. It was actually fixing our exterior window roller blinds that got me checking up on “thickness” again. Parts got made first, then I jumped down the rabbit hole of trying to figure out what the problem was. (Granted, that time spent didn’t help any washing machines.)

    1. I had to look up BRL-CAD, but it seems to be an open source military project:

      “For years, BRL-CAD has been the primary tri-service solid modeling CAD system used by the U.S. military to model weapons systems for vulnerability and lethality analyses” is the first line of their github page.

      In that context, your mention of Stalin with Stallman seems almost freudian.

      But as long as it’s good for lethality analysis, and can guarantee that I won’t kill myself with my stupid devices, I’m down with that!

    1. Hmm. I’m considering trying to move from OpenSCAD to CadQuery, due to OpenSCAD’s infuriating lack of flow control structures. Are you’re saying that in a good way (i.e., if you like FreeCad but want to make parametric models), or a bad way (i.e., if you want a complicated and inconsistent workflow, but want to expand that into a similarly dysfunctional way of making parametric models)? Yes, this is a serious question.

  8. Instead of openscad I’d probably opt for cadquery or build123d which are python based.
    There’s also some jupyter cadquery plugins for vscode which I think will allow you to preview the design in realtime as well.
    build123d is sort of a redesign of cadquery to avoid some of the dependencies since you didn’t used to be able to install cadquery via pip (although that’s been fixed now), it also organises things a bit differently as well.

    For FreeCad 1.0 was a major step up, such as the auto dimensions or a lot of fixes they added to the topological naming problem.
    For Assemblies if you want something similar to solidworks then there’s Assembly3 which is available as an addon

    1. Lack of Autodimension fonction is a deal breaker By itself. Adding it is a huge step. It’s one of the few features which justify the use of cad software vs hand drawing, even for the simplest design,
      Thanks to point that out

  9. Recently i just build a embedded system without using arduino idle or arduino board . using python, linux and C. Only around 100kb after complying, to operate SD card , boot code from SD card to operate other function, like sensor and motor protocol. I check the code on laptop, then open COm port to receive data then using python to plot a graph as real time .

    However the code base for protocol is crazy, i use ras pi as reference. Then i write my own code about Uart, usb db and etc.(for better path it s belong to protocol design subject) it cost me 4 months . the modified code is more flexible than the code provided by producer , with some function created to interact with CMSIS, and ArM libs .

    Wheb looking on arduino code on git hub , i got stunned by the scale of the software behind arduino platform, it most of it is unnecessary , unless provide more UI/UX and flexible hardware solution. However even OS already provide hardware flexibility ,so in fact this feature is just a part of arduino culture .

    About complier, shouldn’t care because of each producer have their own complier, base on their architecture , i think the best user can do is multi thread despite than make for own a complier

    1. Arduino IDE has grown beyond its original boundaries, and this continues to be a problem. By introducing board “core” packages, which abstract whatever hardware you’re trying to build for into something that can be treated the same as an Arduino Uno, you end up with people writing core and board code for a given microcontroller in they very specific hardware configuration in which they use it. Yes, I realize that the architecture for generating core packages for a given architecture allow for setting parameters to account for things like different clock speeds and pin multiplexing, but the reality is that there are dozens of different specifc “boards” listed under STM32, and dozens of boards for ESP32, and so on.
      But people continue to use Arduino IDE because if you actually want your firmware to be user modifiable, this is the platform a huge community learned on, and fear a huge learning curve. If someone likes your gizmo, but would just like to tweak the user interface to their liking, they will be much happier if your github listing as a gizmo.ino file in it. Because otherwise, it’s likely you’re going to have to install a whole new set of libraries and architecture-specific build tools even to get the unmodified code to build, before you even think about how to modify it.

      Which could be the subject of another open-ended Hackaday article.

  10. I give FreeCAD a try every now and then to see if it’s workable, because I like the idea of it. Especially now that they claim 1.0 is a “finished product”.

    I opened an STL file, and tried using their Measure tool to learn the size of various features such as openings, edges, etc. It’s broken, I couldn’t do it. I had to give up. Nothing works.

    I hadn’t touched Blender in like 8 years, and only briefly then. I installed the latest Blender. I opened up the same STL. I was extracting measurements between points within a minute, despite being a clueless newby user.

    The worst is the smarmy attitude from devs and their representatives who try to claim that this is some kind of user learning issue, rather than any bugs in their software. They didn’t offer any advice on how to make STL measuring work.

    1. I feel your pain. BUT, what you might consider is that STL is the real problem here. FreeCad, like most CAD systems, is based on geometric primitives – cylinders, spheres, rectangular solids, and so on. But no matter what software you use when you generate an STL file, all of that information is discarded and replaced with a mesh of triangles. Which is fine if you want to 3D print it, but there is no way to reliably translate this back, any more than there is a way to determine from the pixels in a JPEG file the height of the person in the picture, so the most you can hope to be able to do is rotate it into another orientation or scale it to a different size, or move individual points that are the vertices of those triangles. So it’s great that you were able to do what you needed in Blender (IF it gave you accurate dimensions), but blaming FreeCad for not fixing the limitations of STL files seems a little off the mark.

      1. You haven’t give up to read the comment after “opening an stl and use measuring tool”??? Because I have…it’s like opening a postscript file for printer and expect it behave like an excel sheet…. you can milk a cow with a gun and go hunting with a bucket, but their is some obvious ways to do things…

      2. This is exactly what I’m talking about. Every other CAD software manages to handle these issues with STL and give the user the ability to at least extract numerical data or trace over the point cloud if needed. FreeCAD just breaks. It’s not even clickable.

      3. This isn’t an issue with other packages as far as I’m aware with something Fusion 360 you can import an STL and, while I don’t remember if you can set the scale at import, most STLs are likely to follow some sane scale like each value corresponding to a mm or inch.

        Even if the units aren’t accurate the relative scale would be correct too. So if you could measure a known side, you can easily adjust the scale appropriately and use it.

    2. Handling STLs in freecad is difficult — it’s not really meant for that — and I don’t think you can do measurements on meshes? (Someone will correct me for sure.)

      So go into the Part workbench and convert mesh to object. Then you can do whatever with it, but it’ll have a billion triangles.

      The easiest way forward from here is usually to re-model it natively, importing geometry from the STL as you go. I actually just saw this video that covers it very well: https://www.youtube.com/watch?v=4kQ2nATx8so Skip to about halfway through.

      This is different from the “finished” problem, though. This is a workflow that needs streamlining, rather than a bug in the features that are supposed to exist.

      1. Excuses excuses excuses, for software coded so bad it’s obnoxious. Weird work arounds, or justifications, or user blaming doesn’t change the fact that many other CAD packages can simply DO it without complaint, intuitively.

        1. Yes right, others handle it, and could be useful if you have only the stl files, but in any others cases, it’s just a bad pratice. Using the stl file, The software need to calculate the dimensions you want : time consuming and accuracy limited by design of the stl file. The original file from the cad software has the original data. Efficiency at best.
          Even if the accuracy would be enough for a lot of job, I try to avoid bad pratice.

      2. This is exactly the problem being complained about.
        Drafter: The measuring tool doesn’t work on STL files.
        Freecad proponent: Don’t you know? STL objects can’t be measured.

        The program could at least warn the user, or better yet, when you select the measuring tool and an object defined by an STL file, the interface could highlight individual triangles in the mesh and measure the distance between them. Not ideal but at least it communicated what is going on.

        The programmer has to think of parts as a data structure. A casual drafter thinks of the part as a solid object. An experienced drafter thinks of the part as a set of machining operations. Neither is thinking of the programmer’s data when they select a command to perform on a part.

        Ideally the programmer would anticipate the drafter would try any operation that looks like it would work on a physical part and code a way to make it happen. If that’s too hard, the programmer can at least warn the drafter the operation isn’t going to work. Expecting the drafter to think of the underlying data structure and know if the operation can work is not realistic unless the data is a near perfect match to the physical operation, which is not the case for STLs. And this expectation is not going to win any friends among people using Freecad as a means to an end.

  11. OpenSCAD is decent enough for making simple geometries with some level of parametrisation. But that is it. Freecad is more often than not broken, or simply incapable of consistently doing what is demanded by professionals.

    BRL-CAD is powerful, reliable and consistent in its output. It has a steep learning curve though. However if you are after FOSS CAD, then it is the only production quality CAD package there is.

    Only just learned about Cadquery, I will be giving that a go when I get the time.

  12. I don’t see promoting finished, polished FOSS products as a problem – the issue comes when proponents fail to distinguish a software package that has just reached the point it can produce useful results if you can put up with the bugs from a finish and polished product.

    The claim that Freecad is a viable alternative to commercial CAD packages is a good example. No, it’s at the state you can use it if you have no budget. But if you plow ahead expecting it to do what you’re done in a commercial CAD package, you’ll leave a trail of broken models, nonworking features, and frustration in your wake. If your CAD work is bringing in enough money to cover buying a commercial CAD package, that is often a sound investment to cut down the time you spend on each design.

    And if Freecad is like Pro-E in the 1990s, OpenSCAD looks like POVRay in the 1990s – a workable and stable rendering engine in need of a modeling interface.

    1. I’d like to add that with something like Fusion 360, despite all the garbage it’s pulled, being free for personal projects, FreeCAD has a more direct competitor that has a lot of the enterprise grade qualities FreeCAD lacks.

  13. Promoting high tier pro-grade FOSS projects should never be looked at as a problem (unless you are at a funeral, you weirdo).

    The issues arise closer to the vague border of coming into their own. When people are evangelizing for software that is close but still in reality incredibly far off from being as good and natural to use as other options.

    I don’t think anyone should be shocked or upset at people who are reasonably frustrated. It’s like any of a thousand analogies where something desirable is close but just out of reach. It’s natural those users will be frustrated by it and the only thing that can assuage it is tempering expectations and asking for help properly via asling if they could help code or donate to the org/starting a bounty not just dropping “its FOSS so you can fix it yourself”.

    Also accepting critical comments and criticism when reasonable. Some (definitely not all but some) devs get belligerent and become a problem for their own project.

    1. It is understandable devs get belligerent when the majority of what they get is criticism, and in a great many cases, they don’t get paid for what they do. In my experience, people only complain – positive feedback for a job well done is rare to non-existent.

      How would you react if your boss said to you one day… “well, everything you’ve done over the last six months is useless and unusable”. You’d probably be pretty pissed, but at least you’d be able to console yourself with “well, at least I got paid for it” (unless you contracted for a useful and usable product).

      If I’d paid for CAD software – and applications/companies that have you hand-over all your rights to your work does NOT classify as free software – I’d want what-ever-it-was (the more expensive the more-so) to damn well work properly. Take the ‘file save’ “feature” of $olidworks 2018 (?) that trashed your design files. For software that costs multi-thousands, that is an unforgivable bug.

      FreeCAD is FREE. And just like Fusion, or $olidworks, or what-ever, you don’t have to use it if you don’t want to. Unlike the others though, it doesn’t cost me cash or IP to find that out.

      1. There is a line between reasonably frustrated and belligenence.

        The wording of your comment veers into the belligerent side. “You don’t have to use it if you don’t want to” comes from ego and not realizing the criticism is because people want to use it and want to like it.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.