Linux Myths: 2017 Edition

(About 60% of this post is satire)

I will begin by confessing that, at one point, I was a complete Linux fanboy. I wasn't necessarily a fan of flaming per se (not because I was a nice netcitizen, but because I thought Windows users were too dumb to be worth spending time flaming them), but I was pretty much convinced that Linux was the best thing there is. Granted, it had shortcomings, I thought, but they were minor and irrelevant to smart computer users, and anyway, a solution was just around the corner.

In my defense, this was back when virtually every non-corporate Windows user was stuck with (at best) Windows ME, so I wasn't completely wrong, just an asshole

In any case, many of my forum posts attempted to "debunk" various Linux "myths". The Ghost of Forum Posts Pasts has visited me more than once, and last time she did, I decided to sit down and write a belated half-apology, half-errata. (Food for thought: if, indeed, satire is a sort of glass wherein beholders discover everybody's face but their own, does this count as schizophrenia?)

Linux Myths: 2002 vs. 2017

Myth Me cca. 2002 Me cca. 2017

Linux doesn't have a GUI

Linux has several GUIs that you can choose from and customize. You're in total control! Some of them have completely original UI metaphors, others mimic various features of other operating systems, to various degrees.

Linux has several GUIs that have been in beta since 2002, are virtually abandoned, or on the verge of being obsoleted by the Grand Move to Wayland which is totally going to happen this year.

Linux doesn't have too many applications. Virtually everything requires you to use the command line.

Linux has a lot of graphical applications. Some of them are not on-par, feature-wise, with their Windows equivalents, but you can do almost everything you need with them. And there's Wine, too!

Linux has a lot of graphical applications, most of which either suck, are going to be rewritten so that they suck, or have been abandoned because their developers have long taken their therapists' advice to stop developing graphical applications for Linux and write OS X or Windows software instead. Most users resort to tiling window managers and urxvt because Chrome and Firefox are basically the only graphical applications that don't suck too much and cannot be too well replaced by terminal equivalents. Consequently, most people just need to manage a browser and a bunch of terminals.

Linux isn't developed by a commercial company, so it sucks.

Linux is community-driven, so you'll never suffer from vendor lock-in, you can scratch any itch you have as an user, and your needs are always respected. Besides, several companies are actually involved in Linux development, such as Red Hat

Linux is community-driven, where "community" basically means a bunch of large cloud, automotive, mobile and vaporw, uh, I mean, IoT, companies. Major portions of the kernel and userland are effectively under the control of one large company or another. Fortunately, they're so undocumented, brain-damaged, and in perpetual motion, that vendor lock-in looks a lot more enticing than writing code to improve them.

There are no games on Linux

We got Xbill and Wine so you can sort of run most Windows games.

We got Xlennart and Wine. Also, some major titles have been ported to Linux, but nine times out of ten you'll get a black screen or weird glitches when trying to run them. If, through some miracle, they run right the first time, as soon as you'll update your graphic cards' closed-source binary drivers, you'll get a black screen, don't worry.

Linux is very difficult to use.

Linux is actually very simple, a lot simpler than Windows, you just have to read the documentation.

There's no documentation for anything after 2004 or so. The developers and folks who hang out xdg's mailing list swear things are very simple and follow the Unix philosophy to the letter, but they're the only ones who know how to use them so the claim is a little hard to verify

Linux gets no viruses because no one uses it.

Linux is totally super-secure, there are no viruses because working around Linux' super security is too difficult for script kiddies.

We're still struggling to deploy ASLR everywhere, while Microsoft is perfecting it through CFI. Vista, the worst Windows release since Windows ME, includes UI security features that we're totally going to deploy everywhere through Wayland. Getting around the super-security of a system where writing a keylogger doesn't require bypassing any security features is totally beyond the ability of even the NSA agents who unleashed Stuxnet.

Seriously, Linux has no viruses because there are fewer satisfied Gnome users than people who paid to get their data decrypted after getting infected with the most trivial ransomware in existence.

Linux has a very slim marketshare

On the desktop, yes, but most servers and supercomputers run Linux, because it's the best and most secure non-military grade system.

On the desktop, yes, but most servers and supercomputers run Linux, because it's cheap. Also, a lot of embedded devices run Linux or Android, because it's cheap.

Getting sound to work on Linux is tricky.

It should generally work out of the box, now that ALSA is reasonably mature and supports software mixing. But yeah, if it doesn't work out of the box, getting sound to work on Linux is tricky.

It should generally work out of the box, now that PulseAudio is reasonably mature and out of beta. But yeah, if it doesn't work out of the box, getting sound to work on Linux is tricky.

iptables is really hard to use and inelegant.

Once you get used to it, it's actually pretty good. Besides, unless you need to do packet filtering, you don't really need it, Linux doesn't have a bunch of services opening ports at startup.

I think it's pretty good once you get used to it but honestly, I haven't touched it in ten years, since I taught myself pf.

Linux and BSD are pretty much identical.

Linux shares a common heritage with BSD but it has more features.

Linux shares a common heritage with BSD but it has more bugs.

Linux is basically written by people in their spare time, so it's not much better than your average hobby project.

Linux was designed and written by great hackers with Unix development experience. It's basically the best that the Unix world has to offer. Windows was designed and written by corporate drones.

Windows NT was designed by people with OpenVMS engineering experience, including folks like Dave Cutler. Most of the Linux kernel and userland has not seen any meaningful design activity, from anyone.

The barrier of entry for writing Windows kernel code is getting hired by Microsoft. The barrier of entry for writing Linux kernel code is getting hired by an outsourcing company that provides software development services for in-car infotainment systems and IoT. Most of their code is never upstreamed, which is not very comforting since basically no embedded device runs a vanilla, upstream Linux kernel.

March 2nd, 2017