August 24, 2010

[STICKY] The top 10 lies about Linux (What Linux is and what it is not)

The top 10 lies about Linux

What Linux is and what it is not

Preface

My first experience with Linux dates back to 1995, when I got a hold of Slackware 2 CD and installed it on my then 486 machine with 2 MB RAM and 120 MB hard drive. When Red Hat later came out, I switched to use it instead and spent countless hours learning and using that then free distribution. At the same time I had IBM OS/2 Warp and MS DOS running from other partitions.

Using Linux back then was quite a different experience, especially in Eastern Europe with its lack of Internet access. The files could be obtained thru the Newsgroups or from the rare BBS which was run by someone with Internet access.

Linux soon appeared to be a convenient platform for everything Internet related, and I started taking contracts installing and configuring Red Hat, Mandrake and Slackware primarily for the file servers and web sites with Apache and MySQL or for the web browsing and instant messaging use on the desktop.

Currently I am supporting IT operations of a large corporation with global presence and some our applications run on Redhat Enterprise Linux.

Over time I came to realization that not all understand, that Linux is not a magic bullet. Lots of frustration could be avoided if there was understanding, that there are several lies spread about Linux (intentionally or not).

1.Linux is free

Considering the upfront payment for the cost of operating system being equal to zero, this is partially true. Saving $100-300 compared to the cost of Windows may seem as such a good idea, but only until you realize you have to spend countless hours searching the web for solutions to countless problems. Assuming that on average a potential Linux user makes $20 an hour, the upfront savings of $300 evaporate after 15 hours spent troubleshooting, which roughly equals to two weeks of spending 2 hours after work every day to get everything up and running. Sometimes it is not enough, sometimes the automatic updates coming from the distribution maintainers break things and you have to restore configuration over and over, spending more time on a regular basis.

Linux is also only free when it is installed on a computer which came without operating system. Many new PCs are sold with Windows preinstalled. Some PC vendors offer Linux as an option, but most certainly none of them would offer just any distribution. Before one decides to wipe out the OS which came with the computer, many things mentioned in this article have to be taken into consideration.

2.Linux is a replacement for Windows

No, it is not. For the sake of balance, let me list the things that do work, and maybe even better than under Windows:

  • Network access to the Internet based services, such as HTTP (web), FTP

  • Servers, such as Web, FTP, database, file etc.

  • Highly customizable friendly graphic user interface (KDE, Gnome et al)

  • Excellent command line and shell scripting.

Other than that, you are going to have countless problems getting your scanner, digital camera, digital camcorder, web camera, pen tablet, video card, sound card and other pieces of hardware working under Linux as they were under Windows. Some things just don’t work no matter how many problem reports and someone else’s solutions you find on the web, how much time it takes or how many developers seem to be working on them.

You will quickly find out that your computer, which you considered absolutely ordinary in terms of its hardware configuration, is unsupported under Linux for some very good reasons (from the Linux developer’s point of view, of course).

3.Linux is community supported

This is only partially true. If you are comfortable with begging for support, re-raising issues countless times and tolerating arrogance of know-it-all developers, speaking down to you regarding each and every issue, then you can consider it true. The sheer amount of abuse I had endured while reporting problems caused by the new Linux versions is simply frightening. The developers appear to be extremely defensive characters. As a people leader I would most certainly automatically disqualify any applicant to any job on my team if they had ‘open source’ experience on their resume. To me it sounds as an admission of being a yahoo.

Usually community support is expressed in one-two essays written by another user, just as frustrated as you are, who finally found a cure to the problem which sounds similar to yours. By that time the developer usually have completed his project and moved on (to another university course or another job) and the technology that is not working has become ‘obsolete’. No new development is done on it, as equipment is no longer manufactured. You will be told that you are getting things for free and should be grateful for what you have, or that it is a non-issue not worth their precious time. It won’t matter that as of the moment of writing this MFM hard drive interface is still supported by Linux kernel – your 3 year old sound card is not and is not going to be and so on.

Some issues will be dragging on for years only due to pressure from the frustrated users, to never see resolution until someone comes across a broken piece of code and either intentionally fixes it or just re-writes to introduce his own change and it suddenly works again.

What exactly does ‘community supported’ mean? Here!

  • Prepare to register in a couple dozens of internet forums and bug reporting systems. Each and every application has its own development team (even if it’s a one man show), web site, forum, bug tracker and wiki. Prepare for having to answer idiotic questions in the process of getting support from the forums (‘is your ALSA configured correctly?’ You had no clue that it had to be or that it could be. ‘What port are you using?’ You had no clue what ‘port’ was – from your perspective you plugged in microphone and it recorded silence.). Prepare to be told that your issue is ‘setup’ or ‘installation’ related. It won’t matter that you just installed your Linux from DVD-R and never changed anything.

  • Prepare to be told that ‘you messed up your system’ and have to uninstall and reinstall package. When you will come back saying that it did not fix anything, they will take their time thinking of what else it could be.

  • Prepare for passing the blame. The application developer will blame driver developer and vice versa. You will suddenly realize that there will be extra layers of libraries between what you thought was your application and what you thought was the driver or something. Then the application developers will blame the driver, the driver developer will blame that extra layer, and the developer of the extra layer will nowhere be found. Trust me, I’ve been there done that.

  • As there is no arbiter who could reconcile their dispute and assign responsibility, you will have to live with the problem.

  • Prepare to be told that you are not using the right venue to report problem or ask for help. Even though you might have read on the ‘official’ web site of your distribution that an ‘official’ forum provides ‘expert’ help, you will be told in that forum that 1) there are no developers there; 2) no one there knows how to contact the developers; 3) administrator or moderator of the forum is in no way affiliated with the distribution developers. Many Linux distributions invite you to ask for help in their ‘official’ IRC channels, but there could be no developers there too. Don’t get surprised – they are not getting paid for supporting Linux, and naturally, doing so is not their 1st priority. You get what you pay for.

  • The ‘knowledgeable’ person will never research what your flavour of Linux includes in vanilla install (there are dozens of Linuxes out there, they can’t know them all and he has his favourite distribution which is never same as yours!), you will have to give blatantly obvious answers over and over. You need to understand why that is happening. The reason is that the distribution support will bounce you to the application support, and application support will have no clue how the distribution authors configure the application by default. You will have to do a lot of research yourself just to enable both support people (if you are lucky to get a hold of them) to help you.

  • Prepare for having to replace the piece of hardware that you used under Windows just fine for years simply to obtain the function it performed but under Linux. The Linux developers are very quick to pronounce hardware ‘end of life’ – they are geeks and strive to be on the bleeding age anyway.

  • Keep in mind that in the process of reporting your problems and researching solutions you will be given some Linux shell commands by total strangers on the Internet and that you should not rush to run them in your system. Try to get 2nd opinion before doing that, as those strangers may be anything from ignorant to malicious. Some of those strangers may look and sound like developers of the product you’ve inquired about, however in reality they might be just bothered youths in their mom’s basement, just out browsing Internet. I got myself into several conflicts trying to identify the role of several individuals like that without getting anywhere. The real developer might have glanced over the ticket, noticed that someone was providing ‘help’ and moved on – I’d never known.

  • Even when you managed to get a hold of a real developer, prepare that it is you who will be doing troubleshooting. They assume that once you are into Linux, you have all the time and resources in the world to debug their software. Prepare for lengthy exchanges where you will be given commands and instructions. Even when those do not make any sense, and even when you know full well that the developer is not going in the right direction, you will be forced to follow or communication will stall. They have to follow the path they devised no matter where it leads them and you. On the upside you will learn how to debug Linux software, ha-ha! Prepare to having to install extra programs and libraries that you are neither familiar with nor interested in – that is the price for getting bugs fixed.

4.Linux is stable

No, it’s not. First of all it originates from an environment which is as far from controlled as it can get. Linux is a bastard child of people, who have two goals: one is to position themselves for opening their own business; another is to complete their pet project. Once those goals are reached, there will be no further development or maintenance performed and the chances of getting help are close to zero.

It is relatively easy to become a contributor to Linux source code repositories. Considering how ambitious are some of the contributors and how diverse their true goals could be, reliability and generic nature of their solutions are questionable at the very least. It is no secret that many IT folks from Eastern Europe and Asia look to get a work permit in the West or to immigrate here, and they will be seeking every opportunity to improve their resume by putting on it every new technology that comes along. Once here they usually land in a real job and vanish from Linux horizon.

Do not trust bold statements like ‘I used to like KDE, but switched to Gnome for its stability’, that the Linux forums are abundant with. I learned it a hard way not to take any such statements at face value. These statements lack specifics, i.e. that only certain products and certain hardware is better supported by one application/environment of the other. That may not be your case, as it wasn’t mine. Despite the web being littered with praises to Gnome, I could never do certain things under that desktop that worked just fine in KDE. Your mileage may vary. This is not an endorsement of either desktop. Please understand, that I am trying to make a point that not just one desktop is better than the other, but that no statement about such, that you might read on the Internet, should be easily believed. You will have to do your own research (remember amount of time it takes to get things running I mentioned above?) and come to your own findings regarding the packages that work better for you and on your system.

5.Linux works on variety of platforms

Whenever you will find that something is too cumbersome or cryptic and is an outright overkill for your home or office PC, the developers will always come up with an excuse that they expect it to work on other platforms too. You’ve never heard of those platforms, you’ve never seen a working computer that they might be referring to, but it is somehow important to the developer that the boot loader, sound system or input method worked on all platforms at the cost of making PC user’s life miserable. For some reason those platforms are more important, even though in over 20 years that I am in the IT industry, I’ve seen the PCs and nothing but PCs in the homes and offices on both sides of Atlantic. Frankly I am all broken about Linux having to run equally miserably on my PC and somebody else’s cellphone or Numa cluster. But no one cares. There is evidence that the developers will break things for thousands or even millions of users if one owner of an obscure hardware platform reports a nasty bug. What their motivation is is a mystery, but it’s true.

6.Linux supports various hardware

It does in a sense. In a sense that there are drivers in Linux kernel that no one bothers to update or remove, like XT MFM hard disk or COM port support. At the same time you would notice that a 4-5 year old piece of hardware is no longer working and the web page for it’s driver or application is dead, emails bounce with ‘account not found’ errors and the most recent reply in the support forum dates 3 years back.

Some hardware vendors supply specifications to the developers, some do not and if that is your case, there is nothing that can be done. If the Linux developers do not have specifications for your piece of hardware, they can’t develop a driver or program.

Isn’t it wonderful that a free operating system forces you to replace your hardware more often than non-free Windows? Kind of defeats the purpose from my perspective.

7.Linux is flexible

By this time you heard that Linux is open-source, therefore you can have your own version of everything. Not so fast! First of all, the heart of Linux is its kernel, or the core assembly of routines that support basic functions of the operating system, such as memory management, input/output and task scheduling. You probably heard that you can customize the kernel to your requirements. This is a lie, as for that you would need expertise, which can only come from years of development and software maintenance experience.

The kernel that comes with your distribution will have drivers compiled in or as modules for almost entire list supported by current version, and it will not be optimized for your system. Only the generic optimizations that would work on all PC platforms will be included.

That means, that even if you have a Core2Quad, the code will be only optimized for PII. Even if you only have single P4, the kernel will still include support for massive multiprocessor configurations. Even if you don’t have sound card, the kernel will come with support for anything, ranging from AdLib to high-end MAudio.

Attempting to compile your own kernel you may find yourself in crossfire. From one side you will be told that having your own custom kernel 1) makes no sense; 2) is risky and 3) is not worth the trouble, while the other side (usually in a different forum) will tell you that it’s as simple as 1-2-3 and give you some instructions which most likely will not work.

8.You control things in Linux

Some of the most recent distributions of Linux are so-called ‘rootless’, which means you can’t log in as root and have to do things in su/sudo. The developers will give you reasoning bordering on religious zealotry for disallowing root access, but bottom line is you own the physical box and expect to be the king, while their excuse is always the same: if we’d given you root access, you would screw the system and come to us begging for help. In other words they know better than you what is good for you.

9.Linux is fast

The times when Linux was faster to load and start programs than memory hungry Windows 98 and CPU hungry NT4 are history. RAM is cheap and both architectures are competing on a level playing field. It is an indisputable fact that Linux usually occupies less RAM than the competing Windows environments. But the advantage ends right there. For an average user of web browser, email, text editor and instant messenger Linux is pretty fast. Specially after Microsoft has killed 'user' environment such as Windows 98 in favour of multiuser 'server' environments based on NT architecture and its successors. But as soon as demand grows Linux quickly looses the advantage. Gaming in Linux is painful due to insufficiently optimized OpenGL core. The database and web servers perform slower than their Windows counterparts. Sound and music editing require special real-time kernels which are not available for all distributions and sometimes their release lags months behind the new version of the distribution. Without special low-latency RT kernel the user is going to hear clicks and gaps in the soundtracks. The open source software products just don't cooperate the way commercial products do under Windows. Usually love affair with Linux ends when the user goes beyond typewriter/email functionality.

10.Linux community is friendly

Nothing could be further from truth (did I say that already?). The simple fact is that Linux developers don't care about you, because you have nothing to offer them in return for their time and efforts. The bulk of Linux code and data is distributed under GPL license free of charge. They accept donations, but don't base their income on them. It is in human nature to care about important things first, obviously non-paying users cannot be most important. A focused reader remembers that open source developers agenda is varying, but centered on enhancing resume and getting a better job. Helping the users does not contribute to any of those goals and is always assigned the lowest priority. That manifests itself to constant reminders to dissatisfied users that 'no one is forcing them to use Linux', that they are getting software for free and no one would cry if they left. The sharks of capitalism, such as Corel, Oracle, Microsoft, Intuit or Adobe do care about their users, who are paying $700-$70,000 a package. Those sharks don't throw their product into the street w/o documentation, localization and support like the open-source community does because they can't expect upselling a dissatisfied customer, never ever. Open source developer writes his code sometimes with no expectation that anyone would ever use it. The distribution builders pick up his code sometimes even without his/her knowledge and include in the distributions without knowing that the product is end of life with no prospect of further development and support. You may call it communication breakdown, I call it carelessness. Open source community does not care about its user base and never hesitates to remind the users about that. Let's touch on the so-called support forums which come in the form of web forums, IRC channels and other means of communication. The atmosphere in those forums may be too much for a new Linux user. People are expected to be going out of their way to be polite about asking questions and extremely grateful about getting answers, otherwise the teenage gangs hanging around in the forums engage in cyber-bullying hurling insults and humiliating anyone who dares to question the wisdom of buggy software and missing functionality. If it happens, there is no oversight, no complaint resolution process, no arbiter. You won't know who abused you and who are the officials ignoring the abuses. More often than not the administration of the 'official support forum' is the same person as the owner of the site. More often than not their only goal in owning the site is to make advertizing income. Advertizing income may quickly end if there is a complaint. No user - no complaint. You connect the dots.



To recap, Linux is not free, it takes many man hours to configure and maintain, does not provide adequate replacement for Windows, lacks stability and support, contains too much code for the platforms that are mostly unheard of in real world, supports only some hardware that the developers had access to and only the functionality that they were interested in, it is difficult establish a controlled environment under Linux. Enter at your own risk. Your mileage may vary.

The worst thing about Linux in particular and all things open-source in general is the lack of work ethics and communication skills by the developers. Such experience can only come from years of rubbing shoulders with other team members in corporate environment and it's quite obvious that a teenager in his mom's basement has no opportunity to learn those skills. You've been warned.

Posted by: LinuxLies at 11:19 AM | No Comments | Add Comment
Post contains 3650 words, total size 24 kb.

Comments are disabled. Post is locked.
35kb generated in CPU 0.0068, elapsed 0.0741 seconds.
33 queries taking 0.0689 seconds, 125 records returned.
Powered by Minx 1.1.6c-pink.