You thought you bought software – all you bought was a lie
Isn't code something worth paying for? Well, frankly, no
Comment At the heart of the computer industry are some very big lies, and some of them are especially iniquitous. One is about commercial software.
Free and open source software (FOSS) is at the root of a very big lie. FOSS itself isn't a lie. FOSS is real and it matters. The problem is that the most significant attribute of FOSS is a negative. It's all about what it is not. It's quite hard to explain things in terms of what they are not. People aren't used to it, and it can cause more confusion than it clears up.
So, instead, FOSS advocates talk about aspects which are easier to explain. Stuff like "source code," which is where the term "open source" came from. The problem is that in real life, the parts that are relatively easy to convey are most often completely irrelevant, at best unimportant, and at worst, not true at all.
So first, I want to talk about something equally important, but which may seem like a digression. Let's talk about convenience.
Anyone who chooses to use free and open source software on their desktop regularly gets asked why. Why bother? Isn't it more work? Isn't the pro-grade gear commercial? Isn't it worth buying the good stuff? Windows is the industry standard, isn't it simply less work to go with the flow?
Well, no. The software industry reboots more often than a ZX-81 with a wobbly RAM pack, but we're half a century into the microprocessor era now, and a large majority of software has been thoroughly commoditized. Anyone can do it. These days, it's all about branding.
The practical upshot of which is that most of the time, the commercial stuff isn't significantly better. No, it isn't less hassle. Mostly, it's more hassle, but if you're used to the nuisances you don't notice them. If the free software experience was really worse, most of us wouldn't do it.
If you're a bit of a non-conformist, perhaps you chose a Mac instead. Macs come with lots of great software thrown in for free, and they make it really easy to buy more. If you haven't got tech support at your beck and call, or if you're much too important to learn the fiddly bits, aren't you worth a Mac?
I like Macs. I've been using them since 1988. To the puzzlement, and sometimes irritation, of FOSS-inclined friends and colleagues, my home desktop is a Mac. Modern Macs are Unix boxes, just like PCs running Linux. The majority of 1990s Linux proponents I know, from back when it was hard, have (very quietly) switched to Macs.
The thing that puzzles Mac OS X-era owners is that I use almost none of the perfectly good software my iMac came bundled with. I don't use Apple's email client, or its browser, or its cloud storage, or its productivity apps. I put different, mostly FOSS apps on it instead.
Again, this all about convenience. For me, this has several benefits for me. It lets me run the same set of apps on macOS, and on Linux, and on Windows when I have to. I don't have to worry about moving apps between platforms or formats: I use the same set of apps on all three, so no conversion is necessary. If there's a bug or a vulnerability, I can get a new version from each app's creators, quickly, without waiting for a big vendor to patch or update its products.
This is a big deal, and it comes up more often than you'd think.
The more things change....
I regularly get asked, by both friends and acquaintances, and in my former life as a tech consultant, about switching office software. It happened, yet again, very recently, when an acquaintance of mine updated their computer. That in turn updated Microsoft Office, and that broke it in some way. As a result, they asked about free office suites.
But they had some stipulations: it had to open all their existing documents with perfect fidelity, and it had to have an email client that would import Outlook
.PST files perfectly.
I started to explain that no free office suite can do this. None of the significant ones even come with an email client or anything like one. That is the point of vendor lock-in. This is why many software vendors regularly change their file formats, but ensure that the new product can import the old product's file, often with a scary warning.
It's because it keeps you paying. You may be perfectly happy with your old version, but people will start sending you files from newer versions, and oft you won't be able to open them, so you end up having to update just for a quiet life.
If there were a single FAQ file for people wanting to switch away from proprietary software, this would be the answer:
No, you cannot have perfect fidelity.
Nothing free will do that. But asking why can't we have perfect compatibility is the wrong question. (Not because it's unanswerable. The answer is easy, but it's unsatisfying: it's in the interests of proprietary vendors to make perfect compatibility as hard as they can get away with, because it makes them more money.)
A better question is this:
If I have to sacrifice perfect compatibility, what do I get in return?
And the answer to that is good news: you get convenience. Put up with the slight hiccup of some wonky conversions, and you get unlimited free tools, forever, and they work on everything, and they will never lock you out or compel you to pay for an upgrade.
Free stuff, for the taking.
So what is this big lie?
The reason that it's not better to buy software is simple, but it's a lie. A lie at the heart of the entire computer industry, but nonetheless a lie that's very hard to see – "for the same reason that people in Trafalgar Square can't see England," to quote a good book.
It isn't better to buy commercial software because you can't buy software.
It is not possible for you to own paid-for, commercial software. You can't buy it. You probably think that you have bought lots, but you haven't. All you really bought is a lie.
Not because software can't be bought. It absolutely can, just not at retail. Large corporations buy and sell software to each other all the time, for millions and billions.
But ordinary people, users, customers, including corporate clients, do not and cannot buy software. You probably think you have, and that you own umpteen programs, but you don't. That's a lie by the commercial software industry.
All you can buy is licenses. Serial numbers or activation keys or maybe even hardware dongles. Strange abstract entities that only really exist in lawyers' minds, which claim to permit you to use someone else's software.
And they aren't worth the paper that they're no longer printed upon.
You don't own the software. You have no rights over it. The vendors don't even claim it works and, indeed, explicitly state that it might not and if it doesn't it's not their fault and they don't, and won't, promise to fix it.
You own, at most, a serial number. Congratulations. You paid $25 per letter for a really bad Scrabble hand, and it won't work with the next version of the app, or with your next computer either. Enjoy.
At worst, with software as a service, you don't even get a copy. You don't even get to run it on your own computer. You pay for the right to use someone else's computer, and if they go broke or get hacked or your internet goes down… tough. Sucks to be you.
So how can you own software?
There certainly are ways.
You can make a few hundred mill, and buy a software company.
You can write your own software. But it's really hard, especially as most modern commercial OSes don't come with software development tools any more. All that work that went into making computers easier to use didn't go into making them easier to program… partly because that would destroy the revenue stream. You don't even get Qbasic any more, and Hypercard is long gone.
You can hire some programmers to write the software you need just for you.
Of course, you can't check their work unless you learn their job, and they might go sell it to someone else too. If you lose those programmers, others probably won't be able to take over. Just as no real work has gone into making it easier for non-specialists to write software, precious little has gone into real genuine modularity, or maintainability, or robustness, or efficiency. Real software is about as recyclable as fast food packaging.
But if you commissioned it and paid someone to create it for you, and you keep the code, then you do own it.
This is one reason that FOSS advocates keep going on about source code. The majority of operating systems and mass-market software is compiled. It inherently has two parts, like a jelly and a mold. If you don't have the mold, you can't make more matching jelly, and you can't make one from the jelly. So if you only have the jelly, well, it won't last long and you can't maintain it, or replace the bits you ate or which went bad. Software, like jelly, is very perishable. It doesn't last and there's no fridge.
But if you have the mold, well, even if you don't know how to make jelly, you can hire a cook, give them the mold, and they can make you more identical jelly.
Source code is the jelly mold. It's no use on its own but you can use it to make something useful.
In most other ways, though, source code is useless.
Sadly, this means that the benefits that FOSS advocates talk about simply are not real. The ability to alter or customize software? By and large, fictional. You can't usefully inspect it, check it or verify it. Most software is written in famously opaque languages. Programmers can't read their own code a few weeks or months later, let alone anyone else's.
It's huge and hugely complicated and almost unreadable.
It's also vast.
A modern Linux distro contains hundreds of millions of lines of code.
It doesn't matter that the code is unreadable. Even if it was perfectly clear, there is way too much of it. A modern operating system is so unimaginably enormous that even if you were a genius, it would take centuries to read a whole OS. Nobody understands the entire things any more: human minds are too small, and lifespans far too short.
The skill of reading the stuff is rare, which makes those folks very well paid. Worse still, the task can't be parallelized. Nobody can afford to hire a million programmers and give them a hundred lines each. If there were anyone that could afford it, those millions of available programmers don't exist. And if they did exist, studying a few hundred lines each would not give them any meaningful overview.
Which leads us to another, smaller lie.
- Amazon lets you rent Ubuntu Pro. Yes, it's Linux on the virtual desktop
- How Citrix dropped the ball on Xen ... according to Citrix
- Late but lustrous, a fresh remix of Ubuntu emerges
- Removing an obsolete AMD fix makes Linux kernel 6 quicker
For the most part, computer source code isn't some big sensitive commercial property, a precious trade secret.
The real reason that commercial software companies won't open up their source code, even of obsolete products, is not secrecy. It's not that they're afraid of someone stealing their top secret genius-level algorithms. The good algorithms have been duplicated many times over.
Programmers who had a lot of formal education learned lots of algorithms, just like chess players learn opening moves. Programmers with less formal training but strong skills just reinvent them.
No, the real reason that companies rarely open up the source code of their obsolete products is much simpler.
It's simple embarrassment. Shame at its poor quality.
Because the code is a mess. If it's obsolete, there's no money in fixing it or even cleaning it up. There's also nobody available to do it because the people who know how to do it are busy working on the new stuff.
Another aspect is that big software projects are a little like international debt. Every country owes every other country huge amounts of money. Nobody has enough to pay theirs all off, so they just owe each other hundreds of billions, eternally.
Most companies pay each other for bits of each other's software to make it work together. That means they don't own the whole thing. It's a patchwork quilt. They're no longer completely sure which bits they wrote and which they borrowed.
And exactly like tidying it up before publishing it, to go through it and remove all the bits that are other people's would take decades and cost millions. There's no possible payout, but a small risk someone might use the result to compete with them, so they don't do it.
Commercial software is as much about quality and features as it is about locking customers in, so that it's too hard, or too expensive, for them to move.
The lies so far
- You can't buy software – because you can't own commercial software at all.
- The commercial stuff isn't guaranteed to be better anyway, or even to work at all.
- The free stuff isn't guaranteed either, meaning that in terms of measurable quality, they are equivalent.
- Even if you can get the source code, mostly, that doesn't mean you can customize it, or check it, or learn much from it.
So the real deal about free and open source software is this: since you can't really buy or own software at all, only big companies can, then the only software that isn't someone else's property is software that is nobody's property.
The one meaningful advantage to having the source code is just that you can make your own unlimited copies. If it's legal to get the source code, it's legal to use it to make more copies. So the only software that doesn't put you under someone else's control is software that isn't someone else's. Software that isn't a trade secret. Meaning software that is community property, open to everyone.
It's not about ownership at all. It never was. It's about control.
Which is why the term "open source" exists: it was a way to get this idea across to business people who don't understand source code and don't care about cost because it's not their own money they're spending.
Control is really about freedom. Which is why what we now call "open source" was originally called "free software," but unfortunately, that sounds like it's about money. It's not about money. So instead of "free," for now, let's say "open."
If you are not passionate about freedom and rights and ownership and all that, at least when it comes to your computer, then the practical value of openness, of open formats and open software, is convenience.
You pay the one-time non-monetary cost of converting your stuff into open formats, of switching to open rivals to commercial software, and storing it on open storage services, and possibly, if you want, switching to open OSes, and then you get back control.
Convenience in copying
Buy a new laptop? Just copy your OS onto it. No license, no activation, no keys. Copy it and it just works. Want two laptops, a big one for home and a small one for travelling? No problem: make two copies. Have the same copy on your desktop if you wish.
Convenience in formats
Have the same apps on your Windows desktop with the fancy 3D card for gaming, and your partner's Mac, and on your Linux laptop because it runs cooler and the battery lasts longer.
If they're all open apps, they run on anything.
Convenience in updating
If you run Linux or another open OS, all your apps and the OS can be updated at the same time, with one update tool and one command.
This may not sound big, but it's a big fail if you run FOSS on Windows or macOS. Some things update themselves, but then it's out of your control again.
Convenience in performance
Since nobody makes money from getting you to buy new versions, the trickle of new features is constant, gradual, and free.
And since the programs are being built and maintained by the people who use them, not for others' gain, they try to keep it quick, so it isn't such a performance hog and it doesn't mandate new hardware features and thus frequent "hardware refreshes."
So run Linux (or whatever) and you can run older, slower hardware and still enjoy decent performance… or if you wish, run newer but lower-performance, lower-spec hardware, and still get a decent experience, which is why ChromeBooks have sold so well in recent years.
This is a really huge point, and one that we will return to very soon, because of its massive implications even outside of the computer industry.
Yes, there are still prices to pay to switch, but at least they're not financial. This won't cost you any money, it will save you money.
You will have to put some effort into switching. You need to do some relearning. Not everything will work the way you're used to. Familiar product names from familiar vendors mostly won't be available any more – or if they are, you'll need to learn extra steps to use them. You'll have to get used to some new ways of working.
And you often won't get quite as many features and maybe not quite as much polish, because features and polish and shininess are what sell software upgrades. If nobody's making any profit when users upgrade, there's less incentive for fancy features and shine.
But on the flip side, while commercial vendors have a keen interest in concealing flaws and defects from you, suppliers of open stuff that is free of charge don't. So you will often find better documentation, better help and better support, more informative error messages, and friendlier, more welcoming communities of users who actively want to help you.
Because they're not in it for the money. Today, that means doing the bare minimum to ship a Minimum Viable Product™ that's Just Barely Good Enough™ to keep the company afloat.
Freedom is scary
So what I told my acquaintance when their copy of Microsoft Office self-destructed was:
You can't have perfect fidelity from any free office suite. You can't keep your Outlook .PST files. You will have to put up with imperfect conversions, but it's worth it.
Get LibreOffice. Or OnlyOffice if you prefer ribbons. Get Thunderbird. Spend some time: get used to them.
Get a free IMAP account with lots of space. Connect Outlook to it. Using Outlook, copy all your mails to the IMAP server. Sync your address book and calendar to online ones.
Then connect Thunderbird to the same accounts, and make sure you have all your data.
Then… stop using Outlook.
That is the real answer here.
You cannot have a perfect identical free replacement. That is how they keep you paying for new versions: familiarity. That is the lock on the door.
But you can just walk away.
As a wise man said, it's a long walk to freedom. If you're used to being in prison, you may get agoraphobia. Don't blame the outside for this.
You can have a free office suite.
No, it will not have perfect fidelity with MS documents, because that is what locked in means.
So stop doing what the free suites can't do.
Using FOSS doesn't even have to mean using Linux.
It's not even a 12-step program.
Step one: switch to FOSS apps. Stop using your proprietary ones. Get familiar with free replacements on your old OS.
Step two: switch to a FOSS OS. It will be more familiar because you're used to the apps.
The Reg's own Trevor Pott has sung the praises of Windows app installation automator Ninite before, more than once. If you're setting up a new PC, it's revolutionary: a day's work becomes a 10-minute job. ®