Does opensource mean anything at all to the average user?

Monday, 13/04/2009 ≅21:58 ©brainycat

For folks like myself, opensource is a big deal. I'm not going to say I've submitted numerous patches to various projects, but I have been able to fix problems that have come up for me, extend functionality, and scripted solutions that make sense for what I want to do. A self-circular argument, because what I want to do is have fun computing. Making CPUs warm by performing calculations on datasets with operators that will generate new (hopefully) intended datasets.

Most people who use computers don't care HOW they work, and don't care to know. They expect to see easy-to-understand buttons that magically make stuff happen for them. By most, I mean the vast majority of the "dirty, unwashed masses" still "stuck in the win32/Wozniak wasteland". The vast majority of people have not the slightest interest in looking at source code, and in fact wouldn't even know source if they saw it. Most people certainly don't want to compile their own code; the expectation has been created for them that there is nothing more to installation than downloading and unpacking. Even the rudimentary installation on win32 systems is hidden from them. Have you ever seen an InstallShield wizard tell you what registry keys it's installing? I haven't. I have never seen InstallShield tell me what libraries (dlls) it's installing either.

Is it any coincidence that every OS review in the magazines, and every mention online, of a distro makes a point of saying at least an entire paragraph about the package management system? How many problems have you seen at linuxquestions.org, unix.com, etc regarding package management? There comes a point where a computing software system (OS, libraries and executable software) becomes too complex to programmatically manage. People who know how these things work know that these issues are easy to solve, and know how to solve them, but most users don't. Yes, linux makes it easier to diagnose and repair dependency errors. This means nothing to people who aren't interested in fixing them. It's human nature to stick with the devil you know rather than a new and different set of problems. Most people already know how to work around win/mac limitations, and once they get to a point where the computer does what they want it to do enough of the times they ask it, they're happy. Most of the population referred to as "users" are actually "operators", and they're more than happy in their ignorance.

People who understand software to the point that an OS is just another piece of software understand how important a slick scheduler is, compile-time optimizations, and how various kernel architectures are suited for different tasks. Seriously, how much of the computing public does that number comprise? I'd wager that less than 1% of people who use computers daily know what each of the following are: library, scheduler and linker. The people who do know what those are, how they work and how to make them work for their tasks at hand are the few people who NEED them to work well, day after day.

It makes no difference to most people how much better their experience could be with the investment of a few hours worth of mental elbow grease. The box turns on, they get online and go to facebook, myspace, World of Warcraft, whatever. That's what they expect from a computer, and people will happily pay commercial OSs to make it easy for them. Linux will not be able to compete with commercial OSs until commercial apps, with all the support structure (books and magazines and friends and websites) run flawlessly and identically to their analogues on OSs they are more familiar with. The cruel irony is that the manufacturers of commercial software aren't going to invest in making their products work on an OS that has a tiny fraction of the overall market, and a miniscule fraction of their target market.

The other cruel irony is that it seems a lot of energy in the opensource community is directed towards trying to put a sterile veneer on linux, trying to hide all the messy guts. I ran a live cd from a wildly popular distro the other day, and it didn't have a root account, didn't have 'dig', didn't have 'cfdisk', didn't have 'awk' or a host of other utilities that any selfrespecting unix-like system should have. There's certainly a place for making the transition from computer operator to computer user as simple as possible, and I certainly applaud those efforts. But I'm terribly afraid the community is trying to sell more than it can ever deliver, and is delivering no real reason to make the switch.

Yes, you can make linux do whatever you want. What does that mean to the company that manufactures a wildly popular MMORPG? It means there's no way you're going to try to build code that will work on the multitude of kernels, C libraries and supporting utilities out there in the wild. It's like trying to write software that will run on anything from win3.1 to server2k7, and macs too. It's a programming nightmare even if money weren't an object. Yes, linux is generally free of charge as well. Most people don't understand that they're paying for their OS now, so that seems a moot point. The only way linux can get the "killer commercial app" written for it is if a single distribution gains enough market share, and the distro stays consistent long enough, that enough people adopt it for all the reasons we push linux for now. Except the distro has to discourage customizing the installations, to maintain a stable platform for the developers.

So, in conclusion, while the greatest strength of Open Source Software is the ability to bend it, stretch it, hammer it, glue it and paint it any way you want to... that's also the weakness that will keep it relegated to the ranks of the geekelite for the forseeable future. Personally, I think it's a great thing, insofar as the community keeps it's collective eye on the ball and dedicates itself to producing software that works right. If the energy that went into hiding the dark, scary innards of linux went into forcing market share for open protocols (a fight that's conceivably winnable, as the battleground is the serverroom), lobbying for closed protocols to be opened, and cracking commercially closed protocols, linux would be better off. Only fight battles from a position of strength. Linux is the swiss army knife and Rosetta stone of the serverroom. Lets all make sure it stays that way.



Be Provoking: