About nine months ago I switched from Microsoft Windows to Gentoo Linux. I wasn’t unhappy with Windows, but Linux is very handy when you’re designing a web site, and I got sick of rebooting all the time to switch from one to the other. So I decided to suck it up and go all the way.
This turned out to be a lot like moving to another country, both in the sense that I didn’t know where anything was or understand the local language, and because I realized things about the place I’d left. So here’s what I learned.
(Note: There are several different types of Linux, and they each do some things better than the others. Not all my comments apply to all Linux distributions. But I’m still going to just say “Linux.”)
- Linux is a religion.
When you first hear about Linux, it’s from slightly creepy people
whose eyes shine with a born-again fervor while they rattle on about
all kinds of things you don’t understand. I have become one of those
people. There really needs to be some kind of warning sticker on the
CD: “May cause you to blog about the philosophies of operating systems.”
I mention this up front because it helps to explain everything else.
- Windows thinks you’re an idiot;
Linux thinks you’re a genius.
What I love about Windows is that no matter what it asks you to do,
you can choose the default and it works. You can
actually install software by inserting the CD, closing your eyes, and
hitting ENTER over and over again. You have no idea what you’re doing,
but you don’t care.
Linux, on the other hand, wouldn’t dare to assume it knows what you want. There’s hardly a default setting on anything, anywhere. Naturally you will want to do some in-depth reading about horizontal frequency rates before leaping into anything as advanced as displaying a picture on the screen, right? The first time you do anything in Linux, you come away with an education.
Each approach is handy at different times. It’s very handy being treated as an idiot, until you want to do something smart. Then it’s annoying.
- Windows plays soccer; Linux plays rugby.
(sorry, to me
is football), whenever
one player makes the slightest contact with another, he collapses to
ground, writhing in agony and clutching at his ankle. Everyone
gathers around and looks very worried until the referee holds up
a yellow card and then—amazing!—the player springs up again,
completely cured. So too Windows: as soon as anything
goes wrong with any program, the whole thing collapses in a
screaming heap, and requires a reboot. Linux, on the other
hand, shrugs off application failures like a rugby player
ignores broken fingers. Programs crash, but Linux keeps
- Linux marketing sucks.
Microsoft is a corporation with an overriding
financial interest in persuading people to buy Windows. The people
who make Linux, on the other hand, are mostly volunteers who simply
love building good code. So while there are plenty of Microsoft
advertisements and salespeople and lobbyists to tell the government
that you can’t trust Linux, there is practically nobody on the other side.
It’s always a bit creepy when you have
a big corporation up against a non-profit or non-entity; you end
up being told that sugared drinks are better for you than water,
you wouldn’t dare breast-feed your baby when good old manufactured
formula is available, and there’s no such thing as global warming.
Linux people don’t merely lack the funding
to match Microsoft’s marketing; they also don’t really want to.
attitude is that they have built a magnificent operating system
and if you can’t see that, well, that’s your problem.
So Microsoft’s aim is to sell operating systems while Linux people
focus on building them.
- Windows lets you, Linux unleashes you.
Occasionally I see the phrase “lets you” in discussions of Windows
software—as in, “This software lets you press C to get a preview.”
The idea that you are not allowed to do anything
to your computer unless it “lets you” is, I realized, very
Microsoftian. Because in Linux, you can do whatever the hell you want to
pretty much any piece of code: improve it, change it, or break it.
Not that you need to, because everything is incredibly customizable
already, but you can. If you complain about any piece of software
in Linux, you stand a good chance of being told, “Well go make
it better, then.” By comparison, Microsoft asks,
“Where do you want to go today?” but then strongly recommends
you select: “Default.”
- Windows gets in your face.
Like an annoying four-year-old, Windows
can’t go two minutes without attention. You boot, start
to do something, and suddenly there windows are flying at your face.
Everything is checking for updates or activating or deactivating
or switching channels and IT HAS TO TELL YOU THIS RIGHT NOW.
Linux puts its messages in the log, and you read
them when and if you feel like it.
- Windows fails silently.
Oh my God. Before, I never even noticed this.
But now every time I have to use Windows I end up bug-eyed and yelling
at the screen, “Just tell me what’s wrong!” When something
goes wrong in Linux, it spews messages into the system log,
which you can read through to see what it was doing. Then you copy a
phrase or two into Google, click Search, and choose from a list of
pages competing to tell you exactly what the problem is and how to fix it.
Windows doesn’t do this. Windows doesn’t even have a system log, as far as I know. When things go wrong, they do so mysteriously and without complaint: you click buttons and nothing happens, or you try to run a program and it just vanishes. There’s no way to discover what the actual problem is. If you Google for the symptoms, you find endless pages complaining about the same thing, but no solutions. Or you do find solutions, but they all come down to the same thing: (1) Reboot (2) Reinstall. They should issue a Microsoft Support Manual that contains nothing except these two words, because that’s the solution to every single Windows problem. Even if you manage to fix it, you never find out what exactly the problem is; you just grope around blindly reinstalling things until suddenly and just as mysteriously things start working again. The other day I e-mailed a company’s tech support and their semi-automated advice was to reinstall their program and Windows XP. If that didn’t work, I was to e-mail again to get help from a human. That’s right, wiping my hard drive was the first step in their diagnoses process. This is like having to get a heart transplant before the doctor will see you about your hiccups.
The end result is that even though Windows is simpler to get to grips with, I never felt really confident with it, because I couldn’t tell what it’s doing. Linux requires more understanding, but when you’ve got that, you’re more assured.
- Linux people rock.
One day my Windows PC choked on an automatic security
update, and thereafter every time it tried to update itself, it
failed. Having an unpatched Windows computer connected to the internet
is like walking through a bad neighborhood tossing your BMW
car keys from hand to hand, so I wanted to do something about this.
There was no error message, of course, aside from the gloriously
unhelpful, “The update failed to install.”
I ended up going through the maze of Microsoft’s
technical support to send in a problem report.
I received an automated e-mail back saying my report had
been received, then nothing. Weeks went by. I tried again. Same thing.
Then one day, it just started working again.
Of course, this is not specific to Microsoft. Pretty much every company treats a support customer like something they just stepped in: their aim is to get rid of you with as little touching as possible. I can’t remember the last time I e-mailed a company for support and it didn’t go like this:
- Receive automated response suggesting I look in FAQs
- Receive response from alleged human being that consists of copy-and-pasted text from FAQ
- I write back thanking them for the information and expressing regret that none of it is remotely relevant to the problem I described
- Human being actually reads my e-mail starts being helpful.
The other day I had some trouble getting a piece of hardware working on my Linux machine, and found a web site by a guy who had written Linux drivers for it. Not because it was his job; he just felt like it. The hardware was Australian-specific and Google wasn’t helping much, so I e-mailed him a question, not really expecting a reply—because it’s a bit like e-mailing Bill Gates to ask what that DOS command is that displays all the directories. (Or would be if Gates actually wrote DOS. Bada boom! Sorry. I’m sorry. See point #1.) He wrote right back with the answer.