Debunking The Oatmeal and the perception of Linux as difficult to use

Oatmeal and laptop
Image credits: Flickr user phrenologist
submit to reddit
(8 votes)

The Oatmeal made a webcomic that's been reformatted and recently passed around Facebook and other social media. It's titled “How To Fix Any Computer” and pokes fun at Windows, Apple, and Linux each in its own way. And although I love The Oatmeal, this comic’s screed on Linux promotes a myth that needs to be dispelled. The "How to fix Linux" instructions begin:

Learn to code in C++. Recompile the kernel. Build your own microprocessor out of spare silicon you had lying around. Recompile the kernel again. Switch distros. Recompile the kernel again but this time using a CPU powered by refracted light from Saturn.

Nothing could be further from the truth. In my experience as a professional Linux systems administrator, people who compile their own kernels are at least one (and usually two) of the following: kernel developer, avid hobbyist, or doing it wrong.

Part of the problem is that since Linux has always been a favorite operating system for hobbyists and programmers, people assume that you must be a hobbyist or a programmer to use Linux. Combine that with the bad habits and assumptions learned in other operating systems, and you get a comic like The Oatmeal wrote.

What really makes Linux challenging for new users are the bad habits they've brought with them from other operating systems. For example, let's say that you went to a retail store and bought a new wireless card. You brought it home, installed it in your system, and—if the system is Windows—you probably put the CD in the drive and tried to figure out from there what to do to install its driver. Did Windows bring the “new device detected” dialog up and ask if you wanted it to look for a driver? Maybe. If it did, should you click “OK” or “Cancel”? Well, that's hard to say—some devices will work one way, some devices work another. What's on that driver CD? Is it just the driver files that Windows' own installation wizard should be pointed to, or is it an executable that does the whole installation for you? Again, who knows? It's also entirely possible that the driver on the CD is too old and outdated to work properly on a modern machine. Maybe after discovering that you can't connect to your WPA2 network, you'll have to go to the manufacturer's site and download a new driver. And so it goes, on and on (and on!) from there. This is considered normal, and nobody likes it, but most people are accustomed to it.

So it's no surprise that the same person with a Linux computer might immediately start looking for a driver on CD, or a driver to download, or something else to make things difficult, where in fact, it should Just Start Working immediately, no installation required. Of course, I picked on wireless cards for a reason. Although most of them are supported out-of-the-box under Linux, they’re still the class of device most likely to not be supported, due to factors like a bewildering array of constantly changing chipsets and regular efforts to lower costs. But, being accustomed to having to do everything the hard way because of other operating systems, a user is likely to make the mistake of delving into 20-page long forum posts with talk of madwifi and encapsulated Windows drivers and blacklisted kernel modules, until ten hours or more deep into the rabbit hole, they cry, “Linux is HARD!”

Whereas the proper response was to realize that although most hardware Just Works with no hassles under Linux, this particular piece didn’t. The solution would be to simply exchange it at the store for something that does.

Users’ own expectations of frustration is generally their own worst enemy. Because other operating systems have taught them that everything is frustrating, and you just have to deal with it, they consider that experience normal. But it isn't, and it shouldn't be. And that makes Linux the better option—not the more difficult one.

Creative Commons License


Jim Salter's picture
Open Enthusiast

Not exactly - it would be closer to accurate to say my arguments paint Linux as "the garden without the wall", replacing the soldiers on the wall with... more gardeners. =)

If you want things to be easy, you stay inside the garden as much as possible. If you aren't satisfied with what's there - well, there's no wall; in fact there are people to help you do whatever you'd like. BUT, the further outside you go, the more of your own sweat you'll need to put into maintenance.

The catch here is that there are way, way too many people who don't really understand the value of the garden to begin with, and just immediately dive headlong for the wilderness and bitch about all the weeds. =)

Also: Postgre really isn't "about as major a package as there is so it's current", in fact it was a great example on your part of a package that's going to be more of a pain to deal with. APACHE is "about as major as it gets", and it's typically going to be pretty damn current without any need for backports or PPAs (or GLAYVEN!); also (sly grin) MySQL. Postgre, technical arguments pro or con aside, is very definitely at this point a second-rater in terms of popularity, which is a lot of the reason it tends to lag further behind.

Again, you pick your own point in comfort - but, hopefully, you do a smart job of it. You want PostgreSQL? Fine. You want a newer version than the one in stable? Cool, we've got unstable and/or backports for you. Not happy with that *either*? Well, OK, there's probably a PPA or third-party apt source to serve your needs. STILL not happy? Well, sure, you can always roll your own from source...

At each stage of the game, you get progressively less support and progressively more of the work of maintenance rolled onto your own shoulders. But they're all *options*, and they're all *there*. Neither the Windows model of "little or nothing is directly supported, deal with the vendor and hope for the best" nor the Apple model of "walled garden, we already have an [x] so we refuse to accept $vendor's competing [x]" offer you that level of choice.

Anthony Andriano's picture

The article is about Linux being ready for the masses. None of those choices are appropriate for the masses. You make one thing work and that satisfies the average user. If it was really as great as you say, then 95% of the world would be using it instead of Windows and OSX, but they aren't. You have officially diverged into a completely separate rant that has nothing to do with the topic, regardless of if you are right or wrong.

Jim Salter's picture
Open Enthusiast

Look, "the masses" not only don't need to specifically install PostgreSQL 9.1.2, they don't need to know what PostgreSQL *is* in the first place - and won't have to, because the distribution repositories are there to just install the thing they ACTUALLY want, and then install the proper version of whatever RDBMS it wants (if it wants one) as a dependency.

I'm responding to the points that are made. If you'd like to make one that actually *is* relevant to "the masses", I'd be happy to hear and respond to it. =)

Anthony Andriano's picture

Your entire worldview is summarized in your last post and it is a mile away from where the topic started. I don't care at all about PostgreSQL nor do I intend to discuss it any further. I'm telling you that your garden metaphor is not acceptable for the average user and you were far too broad in your theoretical implementation of it.

Car enthusiasts want choices that the extreme majority of people don't care about. I do not care if I have cold air intake or taller gear ratios. I care if my car turns on and drives me to work. Linux CAN just turn on and drive you to work, but the article claimed it did it better, and that was the entire point - it doesn't from the perspective of the average user. If it did, everyone would drive a Linux, but 95% of the world is driving a Windows or OSX. I prefer the Linux environment for many things. There is no question that it has substantial advantages in some areas, but that isn't what we were talking about.

CustomDesigned's picture
Open Minded

"If it was really as great as you say, then 95% of the world would be using it instead of Windows and OSX, but they aren't."

This is so patently false, I have to chip in. Actually, 95% of the world follows the "good enough" principle. In the tech world, people buy the products that most of the friends use. For the very practical reason that they can ask their friends about any problems they encounter. Because of this, the first product to market that doesn't totally suck, quickly achieves a Microsoft level monopoly. You can see this with all successful tech products, not just Microsoft.

So, first to market is far more important than perfection - as long as it doesn't *totally* suck.

The real marketing problem Linux faces is that user friendly Linux is a *very* far cry from first to market. In fact, that 95% considers Linux and Apple alternate versions of "Windows". Windows is the "kleenex" of the OS world. "Free beer" does not do much to displace the incumbent position.

"Freedom" does more - but it is a hard sell, and not many of that 95% understand or need the advantages. Freedom to change support vendors is not something the average consumer cares about - they ask their friends. (That freedom is *very* important to a business, however. Software freedom allows second sourcing.) Freedom to use the source code - that is for those spooky Jedi people. (Again, very important to a business. You can pay someone in house or out to develop a feature you need.)

Ironically, I noticed that 95% is much happier with OEM Linux - where you pay Apple level prices for hardware with Linux preinstalled and configured and supported. (Is this the viable business model you are looking for, Mr. Shuttleworth? Most of those OEM shops install Ubuntu.) They feel like they are driving a sports car instead of a Buick, and they don't have to maintain it themselves.

Linux is a substantial and growing presence in the embedded market as well. People run Linux in their consumer routers. Because of the Freedom, geeks like me can run alternate distros on their consumer router. Businesses can resell such devices with innovative new software features. Like the OLPC inspired "lily pad" wireless networking that extends broadband into the San Diego mountains where no cell phone or cable company goes (sparse population).

In conclusion, I would say that consumers need an OEM solution, whether Windows, Apple, or Linux. Businesses stand to benefit the most from the freedoms Linux offers, especially for mission critical applications.

CustomDesigned's picture
Open Minded

"Linux is easy if you stay within the sanctioned and approved packages supplied by the distro vendor, and should you need support, the distro vendor is your first line of support.

So, I ask, how is this better or even different from iOS and it's maligned Walled Garden? "

a) You have a choice of distros with compatible applications. (You even have the - suicidal for anything by learning purposes - option to create your own distro!)

b) You have the option to self support or buy support from any competent vendor, because the source is available to everyone. (I've noticed that real open source support companies tend to add proprietary "extras" that can't be supported by another support vendor, trying to make a living with a little lockin - just avoid using those if you want to keep your support options open.)

The ability to buy support from any vendor is *huge* business advantage. If you have the expertise or money to pay someone, you can get that bug fixed or add that feature without waiting for the only, or even your primary, support vendor.

Jim Salter's picture
Open Enthusiast

> At this point, you are no longer in repo land,
> you are now in developer land.

Dru, you were in "developer land" the second you hopped into #postgresql for support rather than #ubuntu (or #fedora, or #debian, or whatever) for support. And *of course* they're going to tell you to get to their version of "current", because it's what *they're* supporting.

This is not to say that you could not have gotten support within your distribution's own channels for the PostgreSQL package. You can.

Also: you do NOT have to compile from source to get on PostgreSQL 9.x - you just add the backports repository for your distribution, and *poof*, you're on a version close enough to PostgreSQL's bleeding edge that few of the people in #postgresql will bitch - or if they do, they'll do so basically because "upgrade to current!" is the first easiest no-effort shot at getting you to just go away without having to do any individualized work.

Which isn't intended as a stab at the guys in #postgresql or any other developer-related channel - that's how support *works*; you first try the easy angles before you dig down and provide heavy support. The problem is, when you ask the developers themselves for support rather than working through the distribution, yes, you ARE putting yourself right into "developer-land"... so you have to act like a developer, and do all the high-maintenance crap that developers do.

Again - and, please, keep in mind that I know this because *I have developers using this package, on production servers, right now* - current PostgreSQL is 9.1.2, and current PostgreSQL in Debian Squeeze backports is implying that SINCE the release of 9.1.2, the repository package maintainer has upgraded the package *four times* to apply bugfixes, integration fixes, or other improvements over the initial case scenario of the release itself.

For Ubuntu, lucid-backports doesn't have PostgreSQL 9.1 - but there *is* a PPA which carries newer versions, current there being - again, implying at least one fix SINCE the drop of 9.1.2 itself, which is current on the vendor site.

Jim Salter's picture
Open Enthusiast

BTW, the PostgreSQL versions available on Debian and Ubuntu are 8.4 and 9.1 - 9.1 *does* assume you use the backports repo, of course.

Joe Desbonnet's picture

Linux has benefited immensely from smart young programmers. But there are a few areas of software where you need *lots* of experience to have any chance of getting things right. Language design is one. UI is another. The demography of your typical Linux contributor works against it when it comes to may ease-of-use issues. Also in terms of UI consistency it also helps when you have one tyrant running the show (looking at no OS in particular :-)

Kirian's picture

hy·per·bo·le   [hahy-pur-buh-lee]
1. obvious and intentional exaggeration.
2. an extravagant statement or figure of speech not intended to be taken literally, as “to wait an eternity.”

Unidentified's picture

I've seen a good bit of Linux from the inside. For example, years ago I had a need for a parallel filesystem, and the Global Filesystem (GFS) fit the bill. It was in its bleeding alpha stage. But I was very grateful for what the openness of Linux was able to provide there. It's bearing much fruit today.

However, I think my opinion is another version of the great-as-server but average-as-desktop take.

My pet theory is that Linux will remain crippled forever in the desktop market, since it has two desktop environments (KDE and Gnome). The amount of squabble and wasted effort between the two is debilitating. And neither will (or can?) quit. If there /was/ just one, my guess is there would be more than a 2X improvement in integration and ease-of-use in the UI. Which, I think, would translate into a host of conveniences, etc., at lower layers.

Jim Salter's picture
Open Enthusiast

You're forgetting Unity, and LXDE, and XFCE, and Awesome, and Enlightenment, and... =)

I'm not really sure I can agree with your premise though, to be honest. It's one I hear a lot, but I think the fact that competition can exist within the framework of the operating system is a good thing, not a bad thing.

I loved Gnome 2.x, but Gnome3 leaves me cold. If "everything was all one window manager", I'd have been locked into Gnome3 just as Windows users are locked into the newer UI elements of post-Vista Windows (and Office!) whether they like them or not.

As things stand, I still miss Gnome2 - but I'm much happier with LXDE than I am with either Gnome3 or KDE (or Unity).

Unidentified's picture

Obviously I've been out of the loop for a while.

Now, here I'm just ruminating, not baiting. And please pardon the steam-of-consciousness.

Look how the window managers multiply.

That's something that always bugged me about X. Didn't the reference implementation of some window manager become the de factor standard? Seems like that crowd does not appreciate the importance of a scaleable development effort. Like, maybe all we or anyone needs is command-line filters! :)

I have become a fan of Microsoft, and, yes, I'm impressed with what they might be accomplishing right now with the Windows 8 UI. I don't have time to go on about this, and others are surely more informed and capable to do so.

Something else on my mind related to this is that a single UI gives developers a clear and well-defined set of interfaces to support. The importance of that cannot be overstated. And it has ramifications all the way up the stack, through our eyes, and into our pocketbooks. No?

Perhaps another way to say that is that when I am faced with a very large problem that needs to be subdivided to be solved, I start with the customer interface and work backwards into the implementation. That can't be done consistently and repeatbly with Linux. So fewer user-level problems get solved. Again, no?

Jim Salter's picture
Open Enthusiast

How about "I'm not sure?"

I don't really do much development myself, and when I do, it's almost never development using a GUI outside a web browser. So I don't feel very comfortable making any kind of blanket proclamation that you're right or wrong here.

BUT, I can't think of many (if any) applications I've personally seen or used that did work right under Gnome but were broken under KDE or Unity or LXDE, so I'm not really sure it's applicable either.

Ultimately I think the window manager is a red herring compared to the distros themselves; splitting things up into distros (and window managers) ultimately means that it's harder for the original developer to directly support the end user; it winds up being a case of the original developer primarily developing while the distro maintainers do "support" to one degree or another.

It's more *complicated* that way, but I'm not sure that means "worse". Going back to the always-hated car analogies, nobody from the 50's would have wanted to get stuck maintaining a vehicle from this decade - but that doesn't mean we'd all be better off returning to 50s-era cars.

Jim Salter's picture
Open Enthusiast

Clarifying what I mean by "support" - the developer of, say, an OSS game can't really rely on the user already having, say, libmikmod for audio, or libmikmod having the same packagename across all possible distributions.

So if his game gets picked up by a maintainer in the Ubuntu repos, the Ubuntu maintainer will see that dependency and mark it versus the correct package, compile it all, and make sure it all works. This puts the onus for "make it work when you install it" on the distro, not on the original vendor.

I don't think that's a bad thing, though.

CustomDesigned's picture
Open Minded

"That's something that always bugged me about X. Didn't the reference implementation of some window manager become the de factor standard?"

The choice of Window Manager and desktop in *no* way affects the user interface of GUI applications. It is entirely a user preference, and implementations multiply for the same reason desktoip backgrounds do.

You would have a more relevent point when it comes to "widget toolkits". The GTK toolkit provides a somewhat different application look and feel from Qt, which is different from Athena or Wx or Java Swing. So while you can mix GTK and Qt and Java Swing applications under your choice of windows manager and desktop, they look different and the widgets act somewhat differently.

But no matter which toolkit your apps use, even if they use raw X calls, moving and resizing the windows is consistent with the current window manager.

daviddoria's picture
Open Minded

"If "everything was all one window manager", I'd have been locked into Gnome3 just as Windows users are locked into the newer UI elements of post-Vista Windows (and Office!)"

Hopefully if everything was one window manager, they wouldn't have been allowed to make such a drastic change that everyone hates :) But at least I could witch to KDE :)

Typically I'm a fan of competition, but when neither is done all that well, it seems like a better plan would be to join forces and do one right(er).

Jim Salter's picture
Open Enthusiast

I'm just not so sure that forcibly merging KDE and Gnome (and Unity, and LXDE, and XFCE, and...)'s developers all into one team would really result in any kind of qualitative improvement. =)

And MS proves that there only being one alternative doesn't prevent the owners from making noxious changes to the UI... really, I think it's entirely the opposite.

I think the inconsistency of window managers in general has more to do with their relationship of complexity-to-funding than anything else. Most of the software I'd think of as shining beacons to OSS software quality - Apache, Postfix, nginx - are VASTLY less complex than a window manager, and I believe (I could be proven wrong; got figures?) get less corporate and/or DARPA funding as well.

hoppah's picture

Ahh, it's nice to see there are still places one can go on the 'Net for a good old fashioned OS religious war.



p.s. Give grandma Linux - now that is some high comedy right there.

Unidentified's picture

No bloodletting. Just good clean fun.

Khaytsus's picture

It's funny. That's the point. That's it. It's not an instruction manual.

Linus Jobs's picture

Really? Getting chafed over something obviously exaggerated on The Oatmeal?

Or did you just run out of stuff to write about?

Anthony Andriano's picture

I love your name. Now that is funny.

Robl's picture

l believe that one of the main reasons that linux has the reputation for being so hard to install is that all most first time users are doing so on old windows computers. Where all of the components worked fine under that os, under linux various cards and devices may not work. The user now enters the "it worked before" mindset. And so begins the search for non-existent drivers and possibly the misinformation that a kernel rebuild is necessary. It it truly the lack of third party support that appears to drive this notion that linux is only for the select few.

CustomDesigned's picture
Open Minded

All it takes is one attempt to install non-OEM *Windows* on arbitrary hardware to disabuse one of that silliness. Makes you appreciate the work that OEMs do to make Windows usable (Microsoft has "distros" too!) That is how my dad was converted. One used computer with no OS. One Windows XP retail CD. One Fedora 9 install CD. That is an apples to apples comparison.

My dad now avoids all driver problems by purchasing OEM linux hardware (linux preinstalled with all hardware tested and integrated - just like OEM Windows). I think he uses

IKE's picture

I truly don't understand how people have so many issues installing & using Linux. I've been using it exclusively since 2006 and have only had a few bumps here and there which were easily resolved by googling. I feel that if someone decides to try or use Linux, they have to realize that it's not Microsoft and stop comparing it directly to Microsoft. Like most things in life, each has is advantages and disadvantages. You simply need to decide which one has the advantages you like most and the fewest disadvantages that prevent you from doing what you want or need to do.

CustomDesigned's picture
Open Minded

Summary of the discussion:
1) With linux it is possible, but not at all necessary, to manually compile from source
2) Manually compiling from source requires technical expertise, and is therefore hard.
3) Access to source is a standard feature of linux. Since a standard feature of linux is hard, linux is hard.
4) On Windows, it is not possible to compile from source without a source license. While compiling from source on Windows is also hard, it is not a standard feature, therefore Windows is easy.

Don's picture

This seems a nice way to forward the discussion.
1. Windows is suscpetible to viruses.
2. Removing viruses requires editing registry keys.
3. Finding and editing registry keys is more difficult than compiling from source.
4. Therefore, Windows is more difficult than Linux.

*Note - I don't believe that 1 issue can be used to acertain which is easier (for whom? to what purpose? home desktop use within what parameters?). However, it does seem a more civil manner (or at least a more entertaining way) to move the conversation forward. (I also rather enjoy the extended metaphor competitions...)

Marabiloso's picture

Am I the only one doing LinuxFromScratch and installing CUPS on top of my Hardened LFS?

Yes, I configured and compiled my kernel, and all the utilities on it, yes, I control my Canon Color Laser Printer with no issue, no, I don't install X on a server. Yes, CUPS is installed for SAMBA...

For a GUI, I have Windows, for a server, I have Linux. Therefore, I don't need NVidia drivers. Actually, I don't need a screen either. Actually, SSH works fine, and X forwarded through ssh is the finest way of getting Linux on a Mac.

My users have Windows, preferably Windows XP, they changed the authentication scheme (again) in Seven. W7 is unreliable, period.

If you want a fancy unreliable game box, get your hand on a Windows. If you wanna work, get a Linux. You cannot expect the same results from different tools, it's the same in IT.

Just think before ranting...

Syntaxial's picture
Community Member

I must say that I also disagree with The Oatmeal on this; Some recent Windows 7 updates seem to refuse to install or corrupt the system randomly on certain Acer/HP laptops (one owned by my father in law, one owned by a friend at TAFE/University)

Ubuntu and Fedora are a lot faster, and personally, I find them easier to use once the regular hurdles (Graphics performance on Ubuntu and Flash on Fedora).

Linux all the way! :)