Some Thoughts on Free Software
My technological needs are mainly served by Apple devices. I use a MacBook Pro and an iPhone just about every day for my professional and personal computing needs.
However, for years I’ve considered abandoning my Apple devices and instead using devices that exclusively run free and/or open source software. I’ve spent more time than I care to admit considering what kind of hardware I would buy and what software I’d have to use to do my work. And I’ve done that because I’ve had a sneaking suspicion that the free software crowd is basically right: it’s really creepy to depend so entirely on a device that is at the same time so deeply personal and, ultimately, under someone else’s control.
Because, let’s face it, if you’re using a computing device whose operating system was written by someone other than yourself, then they have more control over your computer than you do. I can’t see how that is even debatable.
And this brings out a number of very important points about software, and about the FLOSS community, that I have only recently begun to grasp.
First, a very basic point: the physical objects we use for our computing needs require software to be of any use to us. Software turns my iPhone from a useless piece of glass and metal into a telephone one minute, a day planner the next, a calculator next… and on and on. So these devices are general purpose tools that depend on software to become a million different specific purpose tools. But that’s what they are: tools. They help us do stuff.
We’ve been using tools since forever, so no big deal. An iPhone is just another tool, right? Well, yes… and no.
Software turns an expensive paper weight into a specific and useful tool, and that tool is similar to our physical tools in at least one respect: all software depends on humans to keep it well maintained. It’s no good finding software that you love and that does exactly what you want if the guy who wrote it has moved on and isn’t interested in supporting it anymore. You, the consumer, must care just as much about who is supporting your software, and what their long-term plans are for it, as you care about its features. Businesses have been thinking like this for years, but consumers need to understand it also.
Investing time and money into software that is not actively being supported by a human being is dumb. It’s like having someone give you a Bugatti Veyron as a gift when you’re living on $50,000/year. You may get to enjoy a sweet ride for a while, but, regardless of how awesome the car is, it’s going to need maintenance the minute you start driving it. You probably can’t afford tires on the thing, let alone the bill for an actual fix-up.
Differences between software tools and physical tools:
- When a software “mechanic” fixes something on a particular model car, every particular copy of that car can be fixed.
- You can go to any mechanic you trust to fix your vehicle. You can even fix it yourself. With proprietary software, you must go to the vendor who sold you the software. There are many manufacturers who are working to make physical tools more like software tools, however. This is the case with the John Deere “right to repair” situation. This situation is really only possible if the phsical device is also running software.
- The car company cannot cripple the car in order to force you to buy another one. Sure, if I take my car in for an oil change, the mechanic could decide to pour his cup of coffee into my gas tank. He could decide to smash my windows or slash my tires. But he would never do that because his livelihood depends on great service. Software vendors do this all the time.
- You can know what your car is doing by observation and experimentation. You don’t have to simply trust what the car manufacturer says the car is doing. With software, it is nearly impossible to know what the device is doing unless 1) you have access to the code and 2) you can read the code with understanding. Instead, you must trust the human beings who wrote it and delivered it to you.
- Software “manufacturers” have a much greater ability to make changes to your car than car manufacturers do. To use the analogy of a car, software makers could decide to repaint your car a different color. They could decide to change how the doors open. They could decide even decide that most of their customers really need a plane… and so if you want the repair you need on the muffler, you also have to accept that your “car” now has wings. Why is this? it’s because the software manufacturer is thinking about their own needs and trying to serve many people other than you. (But that’s what all companies do…)
- But the point is that although your needs may have aligned with a company’s offering at one point, you cannot guarantee that will continue to be true. For a physical car, that doesn’t matter because you can use the car for as long as you can keep it running - and there are many options for that. Not so with software.
- So how do upgrades compare?
- Software, just like any other tool, gives you special abilities that you did not have without it. With basic tools, however, it is easy to switch from one to another without any trouble. Even something as complex to build as a car has a basic purpose: get from point A to point B. And when you finally switch from your old car to your new car, there isn’t anything aside from emotional attachment that you leave behind with your old car.
- In the software world, however, the abilities we are given are much more particular, and so it may be more painful to switch because you have to adopt a new technique for doing the same job with new software. That’s hard. But the kicker is:
- DATA. Moving your data from one piece of software to another can be very hard or even impossible.
This comparison of cars and software merge in the case of the Volkswagon emissions scandal.
So what does this all mean?
- Authority and trust are so important. Why do microsoft and Apple and FB have so much authority?