Open Source: It’s The Little Things

I use open source software almost exclusively; at least on the desktop — the phone is another matter, sadly. And I do a lot of stuff with and on computers. Folks outside of the free software scene are still a little surprised when small programs are free to use and modify, but they’re downright skeptical when it comes to the big works of professional software. It’s one thing to write xeyes, but how about something to rival Photoshop, or Altium?

Of course, we all know the answer — mostly. None of the “big” software packages work exactly the same as their closed-source counterparts, often missing a few features here and gaining a few there, or following a different workflow. That’s OK, different closed-source programs work differently as well. I’m not here to argue that GIMP is better than Photoshop, but rather to point out what I really love about open software: it caters to the little guys and gals, the niche users, and the specialists. Or rather, it lets them cater to themselves.

I just started learning FreeCAD for a CNC milling project, and it’s awesome. I’ve used Fusion 360, and although FreeCAD isn’t “the same” as Fusion 360, it has most of the features that I need. But it’s the quirky features that set it apart.

The central workflow is to pick a “workbench” where specific tasks are carried out, and then you take your part to each bench, operate on it, and then move to the next one you need. But the critical bit here is that a good number of the workbenches are contributed to the open project by people who have had particular niche needs. For me, for instance, I’ve done most of my 3D modelling for 3D printing using OpenSCAD, which is kinda niche, but also the language that underpins Thingiverse’s customizer functionality. Does Fusion 360 seamlessly import my OpenSCAD work? Nope. Does FreeCAD? Yup, because some other nerd was in my shoes.

And then I started thinking of the other big free projects. Inkscape has plugins that let you create Gcode to drive CNC mills or strange plotters. Why? Because nerds love eggbots. GIMP has plugins for every imaginable image transformation — things that 99% of graphic artists will never use, and so Adobe has no incentive to incorporate.

Open source lets you scratch your own itch, and share your solution with others. The features of for-pay, closed-source software are driven by the masses: “is this a feature that enough of our customers want?” The features of open-source software are driven by the freaky ideas of nerds just like me. Vive la différence!

108 thoughts on “Open Source: It’s The Little Things

    1. Unlike the direction commercial software is heading, open-source software does not force you to connect to the internet to verify your licence is valid and current.

      And even if it did, being open you could recompile it so it doesn’t.

  1. The thing with open source is that someone needs to maintain your niche use case. Just because someone did the groundwork of supporting OpenSCAD in FreeCAD doesn’t mean that the same someone will stick around to maintain it so the next time a change requires it to be refactored the regular maintainers will need to do the work.

    So the maintainers of the project will have to face a similar choice as the commercial software developers. Not “will adding this feature add enough value to the product to be worth the expense of developing it?” but rather “will adding this feature be worth the extra work required to maintain it in the future?”.

    With external contributions you also need to consider the quality of the code. Is it a well written piece of code that will be easy to maintain or is it a hobbled together plate of spaghetti that will cause major headaches the next time someone needs to touch it?

    1. You can change the question, and instead of asking “will adding this feature be worth the extra work required to maintain it in the future?” ask yourself “is the breaking change that we want to introduce in this latest refactoring really worth breaking all the contributed code?”. The “move fast and break things” model only works when you are fighting on the commercial market to attain and hold a monopoly — it’s a form of attack on anyone who tries to use your software in ways you didn’t approve. It doesn’t work that well when you actually want to collaborate.

      1. You don’t need to “move fast and break things” to need to refactor from time to time. Maybe some new functionality requires more data to be passed along somewhere or an API-change to simplify a few things has been planned for the 3.0 release for a while now but the contribution was made for 2.6.

        Breaking changes is a thing in open source as well. That’s why we have major versions in semver.

        1. When something comes up like a new and only partially compatible version of a software language your product is built on, you have a choice of going to the new and maintaining compatibility with 3rd party additions, or going with the new and breaking a ton of stuff, some of which will never be redone for the new version because the people that wrote it aren’t involved anymore, or may even be dead and didn’t release source code.

          The Calibre ebook conversion and managing software recently moved from Python 2 to Python 3. Broke nearly every plugin but the author gave plenty of warning so all the essentials were ready for Calibre 5. Still were a few laggards who haven’t yet got theirs 100% for Calibre 5, so people who depend on those (raises hand) are still sticking with the final 4.x release.

        2. Firefox plugin Copper for CoAP protocol got stale when all the plugins needed to be Rusty. No CoAP from FF any more.

          The original Copper author(s) got already the results they needed so they aren’t spending the effort and why should they.

          Nobody else has jumped over the chasm, as it is not the smallest. Most people needing CoAP seem to code for smaller systems and are not up to FF plugin.

    1. Uh, I’ve been using CAM features in FreeCAD nearly every day this month. It’s called the “Path” workbench and supports like a dozen different GCODE formats, has adaptive and helical pathing, 3D milling, toolbit shapes, and a voxel-based cut simulator.

      1. I’m currently working on my first OpenJSCad project after previously designing a few things in OpenScad and memorizing most of the OpenScad manual.

        I can see where someone without a programming background might find OpenScad a bit less intimidating. But who is going to chose a code based CAD package without a programming background? I find OpenScad’s limitations to be annoying and look forward to getting to know OpenJSCad better.

  2. Just this week, procmail threw me a curve, refusing to run in a directory with permissions it didn’t like. Without discussing all the aspects of that, I had a pleasant solution available. Download the source and comment out the fussy check. A nice options to have and it worked great. In a closed source world I would have been painted into a corner.

    OpenSCAD is fantastic. I tried FreeCAD, but just telling it to put a 1/4 inch hole in a certain location was not something I could do in a straightforward way (never mind it’s metric hangups). But it is nice to have options. And likely if I ever find a few days to invest in the FreeCAD learning curve I will find ways to make it do what I want.

    Don’t get me started on gimp versus photoshop though.

      1. Seriously.

        It’s more like taking apart the dash and removing the check engine light entirely.

        While I fully admit we don’t have all the details, I can’t imagine how recompiling a program from scratch is simpler than adjusting some directory permissions.

  3. FreeCAD is great software, and they are at the leading edge with their wokr on CAM/gcode generation.
    They also have been great at interracting with other Open-Source projects (like our Smoothieware project, that receieves/executes the Gcode). Though to be fair to Fusion360 they have also been pretty good at doing that, just not as good.

    Really great people/community. They are going places.

    1. Maybe I’m not the right demographic for it – the last time I tried FreeCAD was when it was still very early and very buggy to the point that it would just crash on you, so I couldn’t even get started. I just downloaded it now, and from a first blush I can’t make head or tails of it. The whole user interface seems to be actively trying to prevent you from doing anything with it and nothing is self-explanatory. If there is any workflow, you certainly have to go through some sort of a tutorial to figure it out. Everything looks vaguely familiar, and yet literally nothing does what you’d expect it to do.

      Where do I even start? By careful experiment and guesswork, I managed to create a “part”, and switched on some mode where I got to create a cube, but there doesn’t seem to be any simple way to change the size of the cube, or to even know what dimensions and scales I’m working in… I would have expected to enter some sort of a drafting mode where I get to draw a 2D shape on a grid and then extrude it out to 3D, but nothing of the sort seems to be available.

      It’s a curious experience to run across a program that you should know by experience, yet it is perfectly obtuse and just short of being violent towards its user (though not quite as bad as Blender with unlabeled buttons that you’re just supposed to know), and still there appears to be people who find it “Great” and “Awesome”.

      1. On further experimentation, I found a “Start part” option, which presents me with a dialog that says “Create body”. I click on that, and something flashes briefly on the left side of the screen. Nothing more happens. I abandon the attempt.

        I also found a “Draft” option from the menu, which sounds something closer to what I would expect. Now I have the buttons to draw basic shapes, but selecting any one of them and trying to draw a shape results in nothing. An item for the shape appears on the part hierarchy tree on the left, but nothing else appears on the screen.

        Experimenting even further, I discover that the plane where the shapes are drawn defaults to the X-Y plane, whereas the viewport defaults to the X-Z plane, so I have been drawing random shapes to random locations with no way to see what I’m doing. At this point I’m just about ready to pour a glass of whisky before I continue…

        1. Changing the viewport to the X-Y plane, I get a familiar grid and manage to draw an rectangle on the screen. Great, now I’m getting somewhere. However, as I progress I notice that there doesn’t seem to be any obvious way to dimension the rectangle. It snaps to the grid, but I want to be able to change the dimensions of it. I click around, I press the left and then the right mouse button, but I simply get a list of a myriad options where nothing seems to be relevant to the case. Trying to click and drag on the drawing results in nothing – it seems I can only select parts of the geometry, not actually do anything with it.

          How do I constrain this shape? Is it constrained already, and how? Where is my origin point? What are the dimensions? I seem to have options for line width in pixels at the top, but I don’t care about pixels – I want to know how many millimeters wide this thing is. How does it relate to the origin? Where are the parameters? Why can’t I interact with anything?

          There are some dimensional measurements at the bottom right of the screen, but what do these refer to? The overall envelope? Why is this information provided and what does it refer to? I poured and consumed three fingers of scotch…

          1. I managed to create a measurement. It looks like the box I drew is 13.7 mm tall, which doesn’t match with the information at the bottom right of the screen. I was expecting to create a constraint that sets the size of the box, but instead I just got a line that shows what I had already drawn, that I cannot interact with in any way, in a font that is rendered so tiny it cannot be read without zooming in.

            I deduced that the dimensions reported at the lower right are the viewport size in millimeters. I have poured another three fingers of scotch.

          2. I have managed to scale the rectangle to twice its original width, by clicking on one line and selecting “Scale” on the left side menu. It initially read “0”, which I changed to “1”, and when that had no effect I changed it to “2” on the X scale, which resulted in the box growing twice the width on the screen.

            As a result, my Part hierarchy now appears to contain 31 objects named Body and Body001 through Body030. At this point, I think I’ll just concentrate on drinking and watching This Old Tony on youtube, and leave FreeCAD to those who actually know how to use it.

          1. Anything you do for yourself is easy, because you already know it. Explaining it to others is a job in its own right – but if you do manage to explain it to someone, they get into your head and then it’s perfectly obvious to them; and then they will have trouble explaining it to a third person.

            At that point, you get a sort of cabal where the insiders look at the outsiders and think ,”How are they not getting this? Just RTFM!!” In other words, an idiot is someone who doesn’t know what you just learned five minutes ago.

            There’s a great difference in creating software that you would use, because however you happen to make it automatically becomes intuitive and obvious to you – as compared to making software that other people would use without understanding what’s going on under the hood. The latter requires employing some clear paradigm and a simile that is familiar, like “Ok, we’re starting from the drafting table so the first thing the user sees is the grid.” This is where most FOSS programs fail, because they’re starting from the programmer’s point of view, whose task is to just add functionality to make it do stuff, and however they happen to lay the program out is automatically correct for them because they already know it.

        1. Besides, actually following one of the tutorials got me to the point where I need to “Press Create body.”, which is what I tried previously but it didn’t actually do anything (the program bugged out).

          So, back in the trash bin.

          1. Did you use some super old version out of the distro’s repo.
            I’ve had no problems with it at all in ages, and find your apparent inability to figure out something as simple as doing a sketch rather odd.

            Its a little unusual in layout sure, but it works, its pretty self-explainitory for the simple stuff… Doing more complex things I can see the need for help, and doing cad properly needs proper thinking about and understanding how the tool works, which you will get screwed by with any CAD package if you don’t rtfm…

          2. I grabbed what the website gave me for 64 bit Windows. If they’re distributing broken releases, that’s not my problem.

            And I deliberately gave it a go without looking at any instructions to see if it was anywhere near as intuitive as the other programs – and I did get to a point where I could do some sketching, but as I found out it pretty much did nothing how one would expect, didn’t display any relevant information about what you’re doing, and wasn’t working at all how one would approach the task with most other CAD programs.

            Of course if you go through the trouble of learning the idiosyncrasies, one can do CAD by defining geometries in brainf*** if they please – but a CAD software should be, if not trying to hold your hand, at least unobtrusive.

            The closest comparison I might make for the user experience would be CATIA, which is a good example of a software that dates back to the 70’s with the same impenetrable guru attitude towards the user: “you know it, or you don’t know it, and that’s the way we like it”, and I’m glad that I haven’t had to touch it since I left school.

          3. Hmm I don’t really use windoze, though did try free cad on it a while ago and it worked fine, so I expect it probably will work fine again soon.

            Intiutive is all about what you know – Having started trying to CAD with freecad (well openScad, but that is a completely different style) I found it no trouble at all to figure out how to get basic stuff working, I had no expectation of this tool to look like the one in , follow the same logic etc (though back then I’d not have called it well featured)…

            The only odd bit I recall was figuring out the workbenches, which I like as a sorting method for the tools you need personally, and which doesn’t take long in the initial looking around the GUI to try that box…

            Autodesk stuff looks nonsensical to me, as its different to my expectations, nothing wrong with the program functionally that I’m aware of – it just doesn’t approach everything the way I’m familiar with so its obvious ‘garbage’ – At least judging things by your methodology…

          4. Update: I tried again, and traced my steps.

            From the start screen, I did the obvious thing and clicked “Create new…”. This brought me to an empty view port with few buttons at the top. The hierarchy tree on the left lists “Application” with a sub-entry called “Unnamed”. The buttons that are not greyed out offer me to record a macro, change the view direction, and there’s a yellow button that looks like stacked boxes, that says “Create a new part and make it active”.

            Alright, that is what I want to do. I click the button and the hierarchy tree gets a new entry “Part” with a sub entry “Origin”. Looks simple so far, this more or less what I expect to see, but now I hit a rut. What next? There’s no indication on how to proceed from here. There are no buttons to do anything related to sketching a part.

            I see an arrow up top that says “Start”. I press that and get a list of workspaces. Working down the list from the top lands me on “Part Design”. Now I see some drawing tools appear, and the hierarchy tree on the left changes to a “Tasks” view containing a box titled “Start Part” and an item that says “Create body”. I click on “Create body”. The dialog flashes briefly but nothing else happens. I click it again, same flash, nothing else.

            At this point I’m at a loss again. I go back to the workspaces menu and pick the “Draft” option. Now I see a bunch of buttons that look more like the sort I would expect to use if I were to draw a part. There’s no drafting grid in view though. At a stroke of luck, I press the viewport box and find that by selecting the “Top” view, I get a drawing grid. Success! Now we’re getting somewhere.

            However, now the problems start. Trying to draw a box, I get a box and nothing else. It seems that I have created a flat “object” with the option to move, rotate, scale… etc. on the Tasks list on the left. This is not what I was expecting. Also, where are the constraint tools? Clicking on the box I just drew does nothing, clicking on the left menus allows me to move the box around, but while I’m playing with the object, the view grid turns diagonal and I can’t find a way to change it back… at this point I decide this isn’t working at all, and give up.

          5. Starting the whole thing over (and having read the tutorials this time), I find that you DO NOT press the “Create new part…” button (why is it there?), but instead you have to go straight to the Part Designer workbench, click the “Create Body” button, and this time around instead of a flash you get a new button that says “Create Sketch”. Pressing that, you get a dialog that selects the working plane, and having done that the program enters the Sketcher workspace with all the buttons available for use instead of being greyed out, as would be the case if you were to enter the Sketcher workspace directly from the start screen.

            So the trick was to disregard how the program appears to be functioning, and instead go right into one of the sub-menus to start some sort of automated configuration wizard that sets the environment up for you and then throws you into the workspace you were looking for.

            This is what I’m talking about when I say the program is obtuse and deliberately difficult.

          6. I’ve had basically the same experience trying to use fusion, unable to find what I want, its just familiarity really, I’m sure that are some bits in both FreeCad and Fusion that could be better from a UI point of view – though changing them would probably create uproar because everything isn’t where it was… Much like I can’t find anything Photoshop now, having used Gimp for too long, and the latest Photoshop being a very different version..

            Really not sure what you talking about or lost on with the new part button at all, you are just not making sense to me there.

            The workbench you almost certainly want is ‘Part Design’ by the sounds of it. But it is for you to figure out what tools it is you are actually after..

          7. >Intiutive is all about what you know

            On the contrary, intuitive is about giving you the correct nudges and cues to follow naturally without having to reason explicitly about why you are doing something.

            If you’re walking through a maze and see an arrow on the wall pointing left, the intuition is to follow the arrow. The non-intuitive thing that demands knowledge is to have the arrow pointing in the wrong direction, so that those who already know the maze will know to pick the other way, and those who are newcomers will be lost.

          8. >you are just not making sense to me there.

            When you follow the program to first create a new file, you end up in a workbench titled “Start”, which contains a button to “Create a new part…”. When you click this button, the subsequent attempt to use the Part Designer workbench to create a new body and a sketch will fail silently. It won’t do anything. The program doesn’t work.

            In other words, if you follow what the program is giving you, you will fail. There is a trap: follow the arrow and you get lost. You have to ignore the cues from the user interface and do what the tutorial says to succeed.

          9. Reading further into it, a “Body” in FreeCAD appears to be what in other CAD suites would be called a part, and a “Part” is what in other programs would be called an assembly:

            FreeCAD Wiki: “Do not confuse the PartDesign Body with the Std Part. The first one is a specific object used in the Workbench PartDesign Workbench, intended to model a single contiguous solid by means of PartDesign Features. On the other hand, the Std Part is not used for modelling, just to arrange different objects in space, with the intention to create assemblies.”

            So where the user interface says “Create a new part…”, what it actually means is creating a new assembly, which is supposed to be a collection of 3D primitives and previously made Bodies. This is why the Part Design workbench fails – it’s supposed to be operating on Bodies, not on Parts, which begs for the question: why is it called “Part Design” in the first place?

          10. On the intuitive thing, if every arrow on the wall in your life has been follow it to succeed, of course you will. But if you are coming from a place where that arrow is a lie, or more realistically always points to the emergency exit not the toilet you won’t follow it when desperate for the bathroom…

            Intuitive is about what you know – its your personal frame of reference. All those jokes that only make sense to native German speakers, those that lived through event y, those that have watched Monty Python etc – you assume based on what you know.

            I’ll be the first to say the few times I try to use a Mac for anything I am lost entirely, give me a windoze system and I remember enough cmd and how it used to be to get by despite all the stupid GUI changes that split control panel and settings menu across multiple locations.

            I really don’t see this lie of yours at all, that start box just doesn’t offer me anything but clearly and logically labelled workbenches… I assume that’s a windoze version peculiarity…

          11. > that start box just doesn’t offer me anything

            In version 0.18 build 4 when you have create a new document, you get to a new screen with everything blank and no tools to use. There is a yellow box button with a tooltip that says “Create new part and make it active.” Seeing that this is the only sensible option you have, it’s obvious you should click on that. The same yellow button is also available when you go to Part Design, and when you click on that, the “Create Body” option stops working because Part Design works on bodies, not on parts. You should have created a body instead.

            If you’re naive to the program, you would assume that a “part” means a part, and the Part Design workspace is for manipulating parts, so you should obviously create a “Part”. The program is misleading you.

        2. >if you are coming from a place where that arrow is a lie

          And here we come to the software, which is supposed to be helpful instead of actively lying to you, or having no rule or rhyme that one could follow, breaking its own conventions and paradigms. One would assume that the creator of the software is at least trying to be helpful.

          Of course intuition is about knowing things and applying knowledge, such as knowing what an arrow is in the first place. Yet what one calls intuitive is a situation which by itself leads to the right solution, knowing the essential concepts and the intent of your work. You trust the work to guide the worker.

          It’s intuitive for a bird to fly, because their wings and muscles are the shape that enables flight. They still have to learn it, but they are guided into it by the structure of the situation. Likewise, a software that is supposed to “fly” should be constructed like a “bird”, not like a DIY hang glider kit with some of the screws missing.

      2. You’re not the only one regarding Blender. I was lucky enough to get a student discount full version of Maya (15 or so years ago, still a couple hundred dollars with discount) and happily used it for years. So intuitive and a great workflow.
        I absolutely hate opening up and working in Blender, even with all the UI and workflow improvements, but the other companies have priced themselves out of the hobbyist market, so what choice is there?

    1. Out of curiosity, what has the software you’re using more than FreeCAD?
      I’m using daily SolidWorks, I didn’t played much with FreeCAD, but other than the UI and the weird (should I say different) mouse interaction (opposed to SW), I feel we’re pretty close to the point where paying for SW isn’t really justifiable anymore!

      We are doing somewhat basic shape + drawings, so maybe that’s why I feel so, but I’m curious about you’re take on that!

      1. Probably at least the 5 axis part. FreeCAD’s CAM for 3-axis mills is not perfect, but mostly usable. AFAIK 5-axis support is very much alpha quality, and wouldn’t work for real professional use yet.

      2. The list of what FreeCad does have would be much shorter. We do complex organic shapes, dual lead tapered threads, assemblies, FEA, forming operations, revision management, etc. On the machining side, 5 axis, dynamic milling, surfacing, machine simulation and collision detection. Soon looking to add Swiss turning; only a small handful of the $20k/seat options handle that properly.

  4. “I use open source software almost exclusively; at least on the desktop — the phone is another matter, sadly.”

    Why would it be sadly when there’s open source for phones. It’s just not attached to Google which some see as a plus.

    1. because the compromise slope is much, much harsher, especially if you want horizontal service integration. it’s possible, but you’re going to have to jump through a lot more hoops and a lot more contortions to get your daily utility.
      just a a for-example, tumblr? the mobile website is janky and the app is closed source. it ends up being six of one, half dozen of the other

    2. When you get outside of the Google’s walled garden, some very essential things begin to fail; like having access to your bank’s mobile application, mobile pay, public transport passes, digital student passes etc. “trust applications”. You can’t install the apps outside of Google Play.

      I don’t use mobile pay exactly because my bank uses Google Pay, and I don’t want Google to have any access to my purchase information. The way it works, you pay Google and they create a temporary bank account which actually pays the vendor, so not only do they collect all your information, they obfuscate the information from the businesses by “anonymizing” the transfer, so the businesses then have to buy the information from Google to know what sort of people are coming to their stores. This information is important because it allows them to predict thing like future demand and understand what products their clientele are interested in so they can stock the right stuff . By squeezing is as a middle man, Google is essentially chaining the road and demanding a toll – making money out of artificial scarcity. This makes it more expensive for them to do business, and that in turn makes things more expensive to you.

      Even if you don’t like businesses collecting information, using Google Pay does not help because you’re simply giving them the same information.

      1. “Google is essentially chaining the road and demanding a toll – making money out of artificial scarcity. ”

        That reminded me of the story about a parking lot attendant for a municipal zoo.
        When the zoo first opened, a uniformed man waited at the entrance to the parking lot and collected parking fees. He was out there rain/shine hot/cold holidays, etc. They built a kiosk for him to work out of during inclement weather. He worked for years, no one ever noticed him taking a vacation. He eventually retired from the position. A few weeks later the zoo officials called the municipality and informed them that the municipality had not posted a replacement to collect parking fees. The municipality checked into it, and they had no record of any employee assigned to collect parking fees at that location. They assumed he was a zoo employee…

        Come to think of it, no one knew where he lived or even what his last name was…
        And neither the zoo or municipality had record of any parking fees being deposited into their treasuries.

        B^)

        1. https://web.archive.org/web/20100305182426/http://www.thisisbristol.co.uk/news/Urban-myth-Bristol-Zoo-parking-attendant/article-1073841-detail/article.html

          “A version of the story did appear in the Evening Post two years ago – in a feature on urban myths published to coincide with April Fools’ Day. Parking attendant Cliff Smith, 58, who was on duty at the Clifton Down car park yesterday, said: “I’ve worked here for about five years and it was about two years ago that this email started to circulate. It was around April time, which might explain things, but we didn’t really take much notice of it.”

          It was an April’s Fools story that got out of hand.

          1. There are places in the world where this does happen, although in those cases it’s more of a “you pay a parking fee and we’ll make sure nothing happens to your car while you’re gone” vibe.
            I’ve been places in the US where the local tour guides say “if anyone tells you there’s a fee to park here, that isn’t true” but don’t go as far as telling you to not pay it.

      2. Same as they did with search queries or referrers of links reaching your site. “Privacy” was the official reason, although Google still has all that information and you can view it if you make an account with them. Well, the basic information, for more you need to pay…

        It used to be free for every website owner, to see how people reached their site (direct incoming link, so hardly a privacy issue.)

        Google is really the middle man everywhere due to their market power. It’s a big problem.

        (Other search engines do the same and agree, but it wasn’t like that before.)

        1. Google is also trying to pilot the same thing for any URL address in emails, where they’ll silently replace any address with a click-through link in the name of “security”. The trouble is that this will break things like email account confirmations, because the actual confirmation would then come from Google’s server, so they haven’t been able to turn it on for all Gmail users.

          1. I don’t like how Gmail won’t allow any executable files as attachments, and automatically assumes any password protected archive file, or archive file in a format it can’t understand is “a virus”. I tried once changing the .exe extension to something else, putting the file in a password protected RAR inside a password protected ZIP, and Gmail still rejected it as an executable attachment.

            So if you need to send someone something like a utility tool made specifically to kill a certain malware, you ain’t sending it via Gmail. If that’s the only email the recipient has, then you get to try something like an anonymous file sharing site.

        2. Also, back when I was still using Google search (DDG now), I had a plugin that strips the click-trough address into its original form so I could see the correct URL from the tool-tip popup. If anything, the google tracking link is actually a security hazard because it obfuscates where you’re going with a long string of nonsense.

  5. When I was R&D Manager in Seattle for a Software company in the 80’s, I always had the view that the database product we produced should be free to the little guy. The pricing was such that only business users for the most part could afford the runtime and site licenses anyways. This would have the effect of pushing other company’s products out of the way from the employee side. Give it to the developers, create forums, and let them help with improvements and upgrades.

    Which of course was met with skepticism by just about everyone. My idea was that if you could get the individual to use a product at home, that it was highly likely that they would want and recommend it’s use at work. That has worked at other job positions, and clearly not unheard of today. But back then it was a new approach by companies that were in it just for the short term profits, and since most went out of business every two years, it was shortsighted to say the least.

    1. Before Windows, WordPerfect dominates the word processing market here in the Netherlands. Because it was not copy-protected and fitted on two 3 1/2 inch disks, everybody and their uncle had a “free” copy. Business, government and education all switched to WP. Not having to (re)train new employees or students saved them a lot of money. And WordPerfect made a lot of money.

          1. … and some of the same disease that afflicted visicalc, dBase, lotus 1-2-3 etc… “We’re the standard, whatever WE do, customers will follow, like rats after the piper.”

      1. Adobe did the same thing with Photoshop for years and years – they let people use the pirated versions because it would mean lots of people knew how to use Photoshop and didn’t even look at the alternatives. Businesses would pay tens of thousands for a single license so they couldn’t give a toss anyhow.

        Competitors like Corel etc. couldn’t produce the same quality because they didn’t have the industry experience – having a customer base with people who are doing serious digital photo editing and production in a professional capacity – so they couldn’t catch up because nobody would take their software seriously and actually use it. Only amateurs would buy it, and they wouldn’t know s*** about what they’re doing anyways so anything goes. GIMP, Paint Shop Pro, etc. are at best bad copies and at worst cargo-cult mockeries because they don’t employ the industry proven practices and theory, or consider what people are trying to accomplish with their tools. Photoshop wasn’t so much designed as evolved in close contact with industry professionals who knew what they were doing from actually doing it with film and physical media: they knew the processes and the theory, and wanted the same thing out of the program.

        Now that Adobe has changed to a subscription business model, asking north of $400 a year for Photoshop and killing off the piracy scene, people who used to use Photoshop got mighty angry and started looking for alternatives – such as Affinity who are now selling a single license for under $50 and actually getting pretty close to the features and functionality of Photoshop by listening to their customers. It’s slow going, but it’s getting there.

        1. To understand the difference in the target market for a thing like GIMP vs. Photoshop….

          Photoshop: “Okay, can we do a sort of color temperature cast on this image? I’m looking for a warm filter here, but more 81A than 85A…”

          GIMP: “Lens flare! We can do a lens flare! How cool are we! Photoshop has a lens flare filter so we’re just as good as Photoshop!”

          1. I tried the Windows port of GIMP a couple of times. Dunno about what’s current but on the releases I tried, the menu system all cascaded off a single menu item labeled Menu and it was all super disorganized, I assume thanks to contributors adding their stuff where ever they wanted rather than having someone in charge of sorting and grouping stuff in a logical manner. I tried the GIMPshop addon, which made it sort of comprehensible.

          2. It’s super disorganized in the way it works anyways, like, what’s the paradigm here? What are you trying to “emulate” with how this whole thing operates? What is a selection, what is a layer? What does the picture frame represent etc.

            It’s kinda like the difference in desktop paradigms between a Windows PC and a Mac. On windows, a window is a program and its documents exist inside the program window. On a Mac, the entire screen is the active program, and all the windows are its documents. That’s the theory. As a general rule, to not confuse the users and mess with their workflow, you should stick to the system paradigm.

            GIMP doesn’t even try. It started out as its own thing when it had the entire desktop environment to itself – it was the desktop environment to begin with – and they never changed it when it went on to become just another program you use on a Windows-like desktop. There’s a paradigm clash, which is fixed somewhat by the GIMPshop modification, but it doesn’t get it quite right. That said, the desktop environments in things like Ubuntu are just a mess of different paradigms anyhow – they try to be Mac and Windows at the same time – and sometimes your programs won’t show up at all because they don’t interact with the DE in any ways.

      2. Sorry, I’m not following the point here. Wordperfect was not open source. It was a commercial product that was ubiquitous in the 1980s as Word was in the 90s.

        Quite pricey IIRC.

        1. The users don’t actually give a toss if it’s open source, as long as they’re not paying any money for it. The point was that it was practically free for personal use, and the company knew and didn’t mind – which got them very popular, which gained them the dominant market position.

          Microsoft got in the game and stole the market using the EEE strategy – but also using the same piracy strategy. Everyone and their mom had a pirated copy of Word and Excel if they couldn’t get one for free through some affiliate program or side license from work. Back in the day when internet wasn’t as ubiquitous, this was the only winning strategy as you could not make effective copy protection (phone home) at every point.

    2. RARlab does that with WinRAR. The “40 day trial” never expires. They make money off businesses that insist they must only use paid software, and insist on actually paying. LGR recently posted a video on YouTube where he bought a single computer license for the latest WinRAR version then tried the key file on previous versions. The same file works all the way back to version 3.

      1. +1, absolutely. It was a hard thing for software companies to understand this model overall. The licensing/not owning thing was another tidbit to get used too, although I never heard of Microsoft actually revoking a license to an individual, they essentially do that on a large scale by obsolescing a product or bricking one with an update that other plug-in’s wouldn’t work with. Costly for small business.

        That paid software thing is a real issue in business. During 2001-05 I was an IT Manager for another company – manufacturing this time. The laws by that point would allow someone to get reward for reporting software piracy, and they could come in and seize all of the computers for an audit, basically putting you out of business if down for too long – a tool for a competitor, or a disgruntled employee. I had to keep an inventory of all software on all machines in the company – with the paid licenses, although they had some inventory software that did part of the work, it didn’t work well since it was just coming out around then. Even old Windows 98 was still on some of the machines in the plant – I needed to prove they were purchased with the original physical license. Expired trial versions were illegal.

        Shareware was another issue, you had to prove it was legal, and given much of that class by then were products that had minimal function and stripped down versions of bigger software or were really old versions, it was difficult to keep straight, so we didn’t allow it on any of the computers at all. Even Opensource, even if you had code for it, was questionable if you couldn’t prove it was authentic to an auditor. So not a thing we got involved with – too risky.

        1. Microsoft did try to “unlicense” a bunch of pirated Windows XP operating systems by sending in an update that made the screen background black, but they blacked out basically half of Asia by doing so and got a huge PR disaster out of it. That’s why they didn’t even try to shut down all the license keys that were circulating around, and instead chose to just let them through to Windows Update and work as normal. The end result of blocking them would have been half a billion Windows machines with no security updates and a botnet explosion.

          1. I hadn’t heard that. That’s funny as hell, but makes sense. I still use XP under VMWare for images since a lot of things that would make utility disks – UBCD, Reatogo, Hirens, and PeBuilder all have websites that no longer exist for their reference/bin support library downloads. So it’s Vitualbox and Vmware now.

            Such a shame, on the bright side I keep a reference image for that XP which I can reload when something gets corrupted, same with Win7, I keep a partition image and restore a base image before I upgrade patches/resave with TrueImage – every 3 months or so, and that has worked well keeping bad stuff out long term. Lucky those companies allow private users to use their software free, same little guy model we have been talking about.

            I know I used a registry hack on Win 7 to extend the update patches for another year. They gave commercial users a longer period to migrate. I never did go to Win 10, I thought like other MS software it would be bloated and buggy. And a lot of my older software wouldn’t run under it likely.

  6. I am really liking FreeCad for the little projects I am doing and it seems to work really well… It isn’t cloud software either which I appreciate. Design part, output as a dxf, hand off file to my son who has the laser and 3d printers and I get a part back. Working on a custom backplate for my replica PDP 11/70 front panel ( from Obsolescence Guaranteed ) currently.

    1. Being slow and crappy is the norm…that is how you know it is working. Has been that way since 2011 at least.

      If it ever loads fast that is how you know it isn’t loading the info you want :)

  7. I think the most important thing about open source is the data files. If I have an OpenSCAD file I can give it to you and you can use it without me imposing any obligation on you to buy some software or sign up for whatever crippling license terms. The same goes for my future self.

    We are lucky that the same is now true for Microsoft Office files, through Libre Office (and to some extent Google Office, although that’s a slippery slope), despite Microsoft doing their damnedest to put obstacles in the way. However, anyone who has used Visio is going to have a hard time getting access to their data without a copy of Visio.

    So it is with Fusion 360. Not only is it not free, but only Fusion 360 can read the files. So if you want to keep using the data that you created you’d better be willing to do what they want you to do.

    1. At least they can open the files created and saved with them. I’ve seen a few programs that could not open some formats they could save to, so the user would have to save in some other format (often the program’s own special one) then when it’d come to sending it off to someone else with different software, export to that save only format.

      One time I tried doing an HTML file in Word Perfect 3.5 for Windows. All looked good, saved it, opened in a browser, looked good. Then when I re-opened it in WP to do some editing, it was hash. I tried redoing it but same thing. The stupid software could not correctly read the HTML files it saved.

      I use old Caligari trueSpace 6.6 for 3D modeling for 3D printing. Since the STL file standard has never changed, it’s fine for that. But if VRML had really become a big thing it would be pretty useless because the silly thing can save to both VRML 1 and 2, but it cannot open VRML 2 files.

      Wayyyy back in the DOS era, I tried a graphics program out and tossed it when I found it couldn’t re-open the picture I’d just spent a bunch of time making.

      Just three of the ones I’ve run into with such a “feature”. What ever possesses programmers to do this?

  8. I don’t understand Fusion 360 thinking. If they made a Hobby version without FEA and limited to say 50 files at $100 per year. They could make 100 million dollars for 1 million users a year easy. Instead they rather make it $1000 per year for 100,000 users.

    1. Fewer users = fewer customer support calls and relatively more income per call. In any case cheap software is used to hurt competitors and lure customers. Once they establish a following then the prices go up. Draftsight, for example, was to undercut AutoCad. It was free, but no longer.

    2. Though if you did have FEA for the hobby version, and knew a little bit about how to use it, you could save yourself so much trouble – like in picking the tubes for the guide rails of your DIY gantry mill. The analysis would show you instantly that they will sag too much and bind your gantry.

      As it is, lots of people don’t know the theory behind how materials work, so they develope weird notions about the geometry and make the same mistakes over and over as they’re trying to fly by the seat of their pants.

      1. I wouldn’t pay $240 a year for a program I would only really use a few times in a year. I don’t have that many personal projects that need CAD/CAM/FEA and the other stuff, and for just drawing a 3D model for design, you can do it far simpler with some free program. Heck, I can draw parts on paper – and I often do.

        I mean, that’s $20 a month. That’s like paying a movie ticket every time you open it. It’s completely ridiculous.

  9. Here we go again…
    If OpenSCAD is so awesome, why can’t you reference created features? Hell, you can’t even get a size of a bounding box of a model. And there is no support for functional programming… you can’t pass a function or a module as an argument…
    If FreeCAD is so usable, why can’t you create multiple instances of your ‘parametric’ body or part with different values for parameters? (No you really can’t. It’s unsupported on a core level. Only just recently FC got support for some kind of reuse at all.. i.e. App::Link.)
    And SolveSpace can’t even loft which is like one of the most basic operations ever.

    Open source mechanical engineering CAD scene is very sad.

    1. > can’t even loft

      Lofting is something that is far more useful for visualization than mechanical design, because lofted features are too complex to manufacture (cost-effectively) most of the time. It can be used to emulate the folding of a fabric and things like that – decorative stuff – such as a cowling for a lamp.

      But when you’re doing things like designing the profile of a turned shaft, you don’t do it by lofting the feature; you draw the profile and then revolve it, because the definition of the profile is what’s important for the manufacturer. Lofting is the quick-and-dirty way to get a model that looks the part – but you’ll go through additional trouble to turn that into a technical drawing that details exactly how to make it.

      1. That said, lofting has a function in sheet metal design where you can define complex shapes in simple ways by having a couple reference geometries like a circle and a square, and drawing surfaces between them – but again you have to be careful about how to manufacture it, because you can easily define geometries that are simply impossible to make by any standard means. You’re quickly left with a part that requires intricate wooden forms and old men in blue overalls banging away at it with small hammers for a week to form the metal.

        It’s usually better to start from the sheet and define the required folds, than starting from the target (lofted) geometry and trying to define how to flatten it out into a sheet.

      2. To make things clear – lofting can refer to two things:

        1) A traditional working technique where you tension a flexible material like a sheet of plywood over a form to create complex curves, such as a boat hull, or a tensioned canvas over an airplane wing.

        2) Making 3D models to create mathematical surfaces between two or more simple geometries that act as “checkpoints” for where the surface has to end up.

        Lofting tools can be used to model the first kind of operation, but beginners are more likely to use it to create impossible to manufacture arbitrary shapes that can only be accomplished by 3D printing, or sometimes by casting.

        1. I use freecad’s loft all the time for exactly this: 3d print, cast in aluminum. It makes for lovely intake manifolds with nearly perfect (modulo surface finish) transitions from carb/throttle body to intake port, stuff that would be ruinously expensive to CNC.

        2. Maybe loft wasn’t a good example but SolveSpace also can’t sweep/extrude along a path even when the extruded 2d geometry is not changing (starting and end cross section is the same).

  10. The open source “alternative” to commercial software situation kinda reminds me of the r/gaming meme.
    We went to the mall and I want to buy , but mom said we have <game X) at home. It turns out that it was .
    Note: Sometimes is not even a game.

    The problem with any projects is that it needs a vision or some “dictators” to watch over the direction. e.g. Linus or Jobs. Without that, they are just a bunch of programmers each want to do their own thing and sometimes without an overall vision of where they are going. In some case, they also need proper UI design BEFORE coding the rest of the program as a good UI is not something that can placed onto of a scipts as an afterthought.

  11. It has been a bit since I looked at OpenSCAD or FreeCAD, but they don’t quite meet my needs even at a hobbyist level. OpenSCAD is laggy with any decently complex design. FreeCAD is missing the ability to do assemblies. Combine that with Fusion360’s integration with EagleCAD, and I’m going to stick here until the open source stuff is able to catch up. The only thing that is coming close to making me look again is the 2 layer limit on the hobby level EagleCAD.

    1. I agree with you on OpenSCAD and FreeCAD. I use OpenSCAD for small designs where the design being code makes my life easier – e.g. I made a 3D printed custom switch plate, which can have an arbitrary number of holes for switches. That was easier in OpenSCAD than Fusion360. But for most everything else, I use F360.

      I do a moderate amount of PCB design. I started with Eagle, but have moved to KiCAD. It’s pretty good. When I use KiCAD PCBs in 3D designs, I use the KiCAD StepUp plugin in FreeCAD to export a STEP for the board, then import into F360. It’s an extra step over the EagleCAD/F360 integration, but it works fine.

      1. Or the right place.

        The big, paid packages are great for what they do, and what they do is handle the most common use cases, and invent clever new features that keep their licenses selling. What they don’t do is often exactly what _I_ want them to do.

        The idea that “the open source stuff needs to catch up” is wrong-headed. Different tools, for different audiences, for different purposes. There are definitely flexibilty/convenience tradeoffs. You can choose which side of that you want to be on. Hooray!

      2. The Hackaday community is Open-Source-friendly, but it’s definitely not Open-Source-exclusive… the articles, the projects on .io, the people, all of that has a mix of both Open-Source and proprietary stuff. I sure wish there was more OS stuf *anywhere* and everywhere, but you can’t really say somebody is in the worng place just because they prefer closed stuff. Especially when the Open-Source stuff is *much* less feature-rich than the proprietary stuff, which is the case with CAD software currently (and it’s also true for PCB design stuff, though somewhat less, with Kicad being pretty advanced at this point, and making fast progress).

        I love FreeCAD, but it’s feature set just doesn’t compare to Fusion… I work with people who run companies that wouldn’t function/exist without fusion: they wouldn’t be able to do the things they do with FreeCAD… at all.

        I wish that would change, but pretending it isn’t so isn’t helpful.

  12. I’ve only fiddled with FreeCad a bit, about a year ago, but it impressed me. I had no stability issues, though I was using it on a relatively fresh Debian image. I wouldn’t put too much weight on stability issues on Windows, I’ve had to format my PC to get Siemens software to work before (yes, after following all direction on their forums and talking with their tech support). I use Catia (well, now 3DExperience, but same diff) and Solidworks for my day job, and found FreeCad easy to pick up, and somewhere between the other two in terms of ease of use.

    Its workbenches seemed well thought-out, though the proliferation of assembly workbenches and which was better at what was a little vexing. The inability to assign a material in one place was another gripe. CFD also wasn’t well integrated at that point, though there seemed to be some work nearing a good place going on in the community.

    Now, I’ve never owned a personal mill or lathe (and have only ever used manual ones with DROs for quick standin parts), and have only ever shopped my parts out, but usually those go out in a solid model format anyways, so I don’t particularly care about its machine motion generation capabilities, which from reading this comments section is either cutting-edge or horrible. When I do find an excuse to get a part machined, I imagine it will be just as easy to send them a solid part exported from FreeCad as it would be from SolidWorks.

  13. I love freecad I have been using it for years but I did find it a bit tricky at first to get used to. There is a great series on YouTube by a user called “MangoJelly solutions” that I follow which really helps. He even teaches macro programming on there which I really need to get into as I have a large number of ideas for useful macros. One thing that I found that really helped me is to get to know the draft and sketcher workbenches and how to use them together as this is the key to moving and resizing objects in freecad.

  14. As with much software, FreeCAD has a massive “How do I…” problem. For example, the dimensions have been added to Elliot’s drawing using the “Draft” workbench, while Google and most tutorials leads one to either “TechDraw” or the obsolete “Drawing” workbench.

    A slightly lesser problem is that of orienting and positioning the active plane on which sketches or, in the case of Draft, dimensions and annotations will appear.

    But the less said about FreeCAD’s Topological Naming Problem the better. Thankfully, most unmotivated users give up before getting that far.

Leave a Reply to Adam DeMuriCancel 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.