Wednesday, October 04, 2006

Windows, Linux, Cars and Lego's (Part 3 of 5)

Problem #3: Culture shock
Subproblem #3a: There is a culture

Windows users are more or less in a customer-supplier relationship: They pay for software, for warranties, for support, and so on. They expect software to have a certain level of usability. They are therefore used to having rights with their software: They have paid for technical support and have every right to demand that they receive it. They are also used to dealing with entities rather than people: Their contracts are with a company, not with a person.

Linux users are in more of a community. They don't have to buy the software, they don't have to pay for technical support, although there is also a fee based model for high end technical support. They download software for free & use Instant Messaging (IRC) and web-based forums to get help. They deal with people, not corporations.

A Windows user will not endear himself or herself by bringing his habitual attitudes over to Linux, to put it mildly.

The biggest cause of friction tends to be in the online interactions: A "3a" user new to Linux asks for help with a problem he or she is having. When he doesn't get that help at what he considers an acceptable rate, he starts complaining and demanding more help. Because that's what he's used to doing with paid-for technical support. The problem is that this isn't paid-for support (unless you choose to purchase Linux support from a third party). This is a bunch of volunteers who are willing to help people with problems out of the goodness of their hearts. The new user has no right to demand anything from them, any more than somebody collecting for charity can demand larger donations from contributors.

In much the same way, a Windows user is used to using commercial software. Companies don't release software until it's reliable, functional, and user-friendly enough. So this is what a Windows user tends to expect from software: It starts at version 1.0. Linux software, however, tends to get released almost as soon as it's written: It starts at version 0.1. This way, people who really need the functionality can get it ASAP; interested developers can get involved in helping improve the code; and the community as a whole stays aware of what's going on.

If a "3a" user runs into trouble with Linux, he or she will complain: The software hasn't met his or her standards, and he thinks he has a right to expect that standard. His mood won't be improved when he gets sarcastic replies like "I'd demand a refund if I were you"

So, to avoid problem #3a: Simply remember that you haven't paid the developer who wrote the software or the people online who provide the tech support. They don't owe you anything. Unless you decide to purchase Linux technicial support from an outside source.

Subproblem #3b: New vs. Old

Linux pretty much started out life as a hacker's hobby. It grew as it attracted more hobbyist hackers. It was quite some time before anybody but a geek stood a chance of getting a usable Linux installation working easily. Linux started out "By us geeks, for us geeks." And even today, the majority of established Linux users are self-confessed geeks, and the super geeks of today are like the rock and roll stars of the 80's (but with much more money) and yes, they're also in the fourms to help.

And that's a beautiful thing: If you've got a problem with hardware or software, having a large number of geeks (and sometimes the super-geeks) available to work on the solution is a definite plus.

But, Linux has grown up quite a bit since its early days. There are distrobutions (distros) that almost anybody can install, even distros that live on CDs and detect all your hardware for you without any intervention. It's become attractive to non-hobbyist users who are just interested in it because it's virus, malware, spyware and badware free, it's also cheap to upgrade too. It's not uncommon for there to be friction between the two camps. It's important to bear in mind, however, that there's no real malice on either side: It's lack of understanding that causes the problems.

Firstly, you get the hard-core geeks who still assume that everybody using Linux is a fellow geek. This means they expect a high level of knowledge, and often leads to accusations of arrogance, elitism, and rudeness. And in truth, sometimes that's what it is. But quite often, it's not: It's elitist to say "Everybody ought to know this". It's not elitist to say "Everybody knows this" - quite the opposite.

Secondly, you get the new users who're trying to make the switch after a lifetime of using commercial operating systems. These users are used to software that anybody can sit down & use, out-of-the-box.

The issues arise because group 1 is made up of people who enjoy being able to tear their operating system apart and rebuilding it the way they want, while group 2 tends to be indifferent to the way the operating system works, so long as it does work.

A parallel situation that can emphasize the problems is Lego's. Picture the following:

New: I wanted a new toy car, and everybody's raving about how great Lego's cars can be. So I bought some Lego's, but when I got home, I just had a load of bricks and cogs and stuff in the box. Where's my car??

Old: You have to build the car out of the bricks. That's the whole point of Lego's.

New: What?? I don't know how to build a car. I'm not a mechanic. How am I supposed to know how to put it all together??

Old: There's a leaflet that came in the box. It tells you exactly how to put the bricks together to get a toy car. You don't need to know how, you just need to follow the instructions.

New: Okay, I found the instructions. It's going to take me hours! Why can't they just sell it as a toy car, instead of making you have to build it??

Old: Because not everybody wants to make a toy car with Lego. It can be made into anything we like. That's the whole point.

New: I still don't see why they can't supply it as a car so people who want a car have got one, and other people can take it apart if they want to. Anyway, I finally got it put together, but some bits come off occasionally. What do I do about this? Can I glue it?
Old: It's Lego's. It's designed to come apart. That's the whole point.

New: But I don't want it to come apart. I just want a toy car!
Old: Then why on Earth did you buy a box of Lego's??

It's clear to just about anybody that Lego's is not really aimed at people who just want a toy car. You don't get conversations like the above in real life. The whole point of Lego's is that you have fun building it and you can make anything you like with it. If you've no interest in building anything, Lego's are not for you. This is quite obvious.

As far as the long-time Linux user is concerned, the same holds true for Linux: It's an open-source, fully-customizable set of software. That's the whole point. If you don't want to hack the components a bit, why bother to use it?

But there's been a lot of effort lately to make Linux more suitable for the non-hackers, a situation that's not a million miles away from selling pre-assembled Lego kits, in order to make it appeal to a wider audience. Hence you get conversations that aren't far away from the ones above: Newcomers complain about the existence of what the established users consider to be fundamental features, and resent having the read a manual to get something working. But complaining that there are too many distros; or that software has too many configuration options; or that it doesn't work perfectly out-of-the-box; is like complaining that Lego's can be made into too many models, and not liking the fact that it can be broken down into bricks and built into many other things.

So, to avoid problem #3b: Just remember that what Linux seems to be now is not what Linux was in the past. The largest and most necessary part of the Linux community, the geeks, hackers and the developers, like Linux because they can fit it together the way they like; they don't like it in spite of having to do all the assembly before they can use it.

No comments: