12th September 2016
A few years ago I was chatting with a motorbike mechanic in a cafe. When I told him I was into electronics and programming he responded:
“I hate electronics. Any part of a motorbike I can tell you how
it works, except the electronics. Turn the key and the
ignition light comes on; I don't know why...”
So why does the ignition light come on when you turn the key? Well in a modern fuel-injected motorbike it will be controlled by a computer; the ECU - Electronic Control Unit.
It's lamentable that the guy in the motorbike shop doesn't even understand how a motorbike works. If he doesn't understand it, who does?
Sorry, no. A programmer cannot understand how the ECU works because it runs proprietary software; all the code is kept secret. In fact there is possibly no-one in the entire of England who knows how that code works. Even the government regulators don't see it.
Well it's a question of whether we as a society are happy entrusting our lives to computers which we don't know how they work. Of course a machine like a motorcycle or car is likely to be dangerous if it malfunctions. If that happens... whose fault is it?
Vehicle owner:“What's an ECU?”
Mechanic who did the last MOT:“I have no access to the code on the ECU.”
Government regulator:“We have no access to the code on the ECU.”
Car manufacturer:“The programming of the ECU was outsourced to a Chinese firm who has just gone bankrupt.”
If you use proprietary software then you are putting complete trust in the company that wrote it. Trust ill-placed since they have already betrayed you by keeping the code secret in the first place.
I really think the software on our computers, be they in our cars, phones, laptops, or anything else; ought to be Free Software. This means software that gives users access to the code and copyright permissions to read, modify and re-distribute it.
Happily; the software community has written huge amounts of Free Software. We have GNU/Linux distributions such as Debian for desktops and laptops, Android builds such as Lineage OS for phones, and plenty programs and apps for both.
And here in Europe we have the European Free Software Foundation to advocate and protect our software freedoms.
Read my blog post how to use Free Software to get started!
Is it important to use 100% Free Software, and nothing proprietary at all? Well on this matter I disagree with many of my friends in the Free Software community.
I think it would be great to use 100% Free Software. Really, it would be great. But I think it's both impractical and... meaningless.
Most computers need at least some proprietary drivers, firmware, BIOS or microcode. That's because these bits of software are hardware-specific and the software community doesn't have the resources to write Free Software replacements for every single bit of hardware specific proprietary software on every single computer that's every released... and the hardware manufacturers don't have much market incentive to provide Free Software drivers.
If I was using 100% Free Software, there would still be bits of software that I could never understand. Some programs are just too big to understand, such as Firefox or LibreOffice. Both are Free Software, but contain millions of lines of code. And some programs implement clever mathematical algorithms e.g. RSA, which is infamously complicated. I would need to study mathematics for years to understand RSA.
Plus the design of the computer chips that the software runs on is obscure as well...
I think people will always use technology that they don't understand. But software creates a particularly bad problem because, when the code is kept secret, it means we have machines that almost no-one understands. And these machines are becoming an everyday part of our lives.
If you think it's important for us (individually or as a society) to be in control of our technology, you can use Free Software.
I think the best thing to do, if you like Free Software, is just to use as much Free Software as you can. Whilst it's important to know which bits of software you are using are not free, you don't have to go 100%.
I don't know what to do about motor-vehicles since there doesn't seem to be any Free Software to put on them. Some BMW cars run some Free Software apparently. Otherwise I guess it's best to just get a cheap or old vehicle since they have less total software on them.
Old is free-est because if you go old-enough it has no computer at all.
If it's cheap then it's probably less computerised... if not then at least you didn't spend as much money on the proprietary software.
Obviously the biggest laugh would be to have a vehicle that's cheap AND old!