Original Link: https://www.anandtech.com/show/840

What's Holding Linux Back?

by Paul Sullivan on October 25, 2001 3:17 AM EST


The Foundation

Linux has come a long, long way since it was first brought to the scene. It has gained a huge level of support in the community and has garnered a well deserved reputation for stability and flexibility. Consider that you can have some of the best distributions for the price of a download, with no licensing fees or use restrictions to speak of, and you have the makings of a sure-fire winner. In fact, there is so much potential here it is almost unfathomable.

Linux has a powerful command-line foundation that is fully functional without a GUI of any kind. It may not be the easiest to navigate, but anyone can get a copy of the AWESOME Midnight Commander application, the famous and incredibly useful Norton Commander clone for Linux, and be productive within minutes. Navigating folders with long file names and editing configuration files on the fly could not get much easier at the command line level.

Midnight Commander in Action
The upper left image shows MC in its default state. The upper right shows the file menu. The lower left demonstrates the ability to view the contents of archived files while the lower right shows the default file copy dialog. MC is a powerful tool worth learning about.

You have Samba, which allows you to connect to Windows networks. You have built in TCP/IP, with no need for those other pansy protocols. You have an extremely dedicated and capable creator and a community full of passionate supporters who are willing to go out of their way to help the community get the very best out of the Linux platform. Finally, you don't have some "big-brother" agency looking over your shoulder threatening you with license audits when you tell them you don't want to upgrade to the next release of their software.

With all of this going for it, how come Linux has not exploded even more than it has? How come it has not penetrated corporations to a larger degree? How come users have been so resistant to it on the desktop / client level? There are any number of possible reasons, and to be honest, I'm not expert enough to be able to nail them all down with absolute certainty. But I, like so many of you, am a huge supporter of the platform and a rabid enthusiast who spends countless hours tweaking and tinkering with various distributions. It is a synergy of sorts. I learn about the complexities while working to customize the system, and as an old DOS guy from way back, it is actually pretty fun.

It is from that perspective that I will write this article. I'll try to pinpoint those areas of concern that I have and that others have expressed to me and discuss what we think needs to be done to help Linux become more widely accepted and understood. If you have ideas and information not expressed in this article, please contribute to the forums and let your voice be heard as well.



The End-User Perception Of The Market

From where I, and many others stand, we seem to have a picture of the market like this: RedHat and Suse are business-centric distributions, and Corel and Mandrake are more desktop/client-centric. That is a fair enough breakdown I guess, even though we all know that for the most part, all of the major Linux distributions are very capable in business environments. I've used RedHat and find it to be pretty decent, but when I first installed Corel Linux on a machine right next to it, I was completely floored.

Granted, I'm a Windows user. Well, most of the civilized world has had Windows shoved down our throats, so are also Windows users. Windows is not all bad by any means, and in fact, is pretty easy to get around in and get some things done in. It's not the same has slapping VMware on your RedHat and developing for multiple platforms, but for many, Windows gets the job done.

Anyway, as a Windows user, I felt more "at home" with Corel Linux than I had with any other distribution I had tried. It seemed more accessible and more user-friendly. In fact, it became very popular. According to articles from Wired, at its peak Corel sold some 25% of Linux distributions in the pipeline, second only to Red Hat. Why did it become so popular? Are there lessons that other distributions could learn from Corel Linux? Perhaps, but more on that later.

Suffice it to say that for the majority of non-Linux folks out there, Linux seems kind of reserved for 'geeks' or command-line experts. They think it is a completely fragmented effort, with no real direction and a collection of rag-tag applications slapped onto a CD and mailed out the door. It seems intimidating and difficult to work with. As many of us know, this is not really the case at all. It is just that the Windows users have gotten used to things being a certain way, and the unfamiliarity of Linux can cause a bit of trepidation.

I believe that it is this trepidation, this current end-user perception, that in part holds Linux back and prevents it from really making a bigger impact in the corporate and particularly the consumer markets. In the coming pages, I will discuss some of the ideas I have seen and heard in the marketplace and some of the thoughts I have come up with based upon my own Linux experiences. Hopefully, this discussion will help spark some constructive feedback and debate from users in the Linux community. If not, well, I tried.



Specific Issues, Concerns and Commentary

Let's look at some of those concerns directly and address them where we can. Based on some of the feedback that I have gotten over the years, plus some of my own concerns, this is a good list to start from.

  • Simplicity and Ease of Use
  • Poor PC Hardware Compatibility
  • Windows Networking Compatibility
  • Appealing to Enthusiasts and Gamers
  • Lack of High Level Professional Software
  • Difficult Installations of the OS and Applications
  • Lack of a Cohesive Vision and Standards
  • Lack of Corporate and End User Support
  • Overall Operating System Stability

Not all of these may be valid, but this is just a list of what people are thinking about. Now that we have identified these concerns, each will be addressed individually in subsequent pages. I may not hit every note or every single factoid, but the object here is to simply address these concerns and explain them in a moderately understandable way. Please don't go insane trying to nit-pick every aspect of the following pages.



Simplicity and Ease of Use

In the early days Linux was fairly hard to use, but we have seen Corel and Mandrake take these issues head on, not to mention the KDE organization. Knock Corel all you want to, but they showed some of us just how good Linux could be for the end user. The installation could not have been any easier or clearer. There were simple choices to wipe out the hard drive and start fresh, use free disk space and install on a DOS and Windows partition without erasing any of the data. Advanced Linux users could edit their own partition tables if they chose. Right off the bat, Windows users could understand that Corel Linux would co-exist peacefully.

Corel Linux Installation Screens

The already impressive KDE interface was modified by Corel to look even more Windows-like. By default, all system drives were auto-mounted, something most PC users take for granted. The Corel file manager, with its Explorer-ish disposition, was familiar and capable. The work Corel did with Samba was just awesome, with a easy to understand configuration screen and full, automatic activation of the entire Samba configuration. A few clicks and you are on the Windows network without ever having to drop to the command-line.

Corel Linux Display and Samba Configuration Screens

Corel scored another hit with their Display configuration screen, which provided users a single location for choosing their monitor, resolution, color depth and refresh rate. Add all of those items together and you can see just how easy it is to make a few tweaks to make Linux more accessible to the average user. Unfortunately, Microsoft provided a cash-strapped Corel with a $135 million dollar investment, and suddenly you had a new CEO and a total cessation of all further Linux development. The ports of Corel Office, Corel Draw and Corel Photo Paint for Linux lie dormant, and they have essentially sold off their Linux distribution to Xandros. But just because Corel has bailed on us does not mean that we can't learn from their ideas.

Corel Linux Custom File Manager Screens
These screen shots show the how drives are auto-mounted in Corel Linux and how they are represented by individual drive letters like they are in DOS and Windows. They also show how Corel custom-tailored the Network Share and Access Permissions dialogs so that they would again be familiar to Windows network users and administrators.

Mandrake Linux continues to be a powerful alternative with a great number of user friendly features. While not quite as impressive in some areas as Corel in terms of appealing to less experienced users, there is an awful lot to like about Mandrake. Their latest distribution, version 8.1, has the very latest KDE and a host of custom utilities designed to make configuration and management easier to handle. With a little more effort, I think that it will be a much easier proposition to demonstrate how open and accessible Linux is becoming.



Poor PC Hardware Compatibility

The latest updates to the Linux kernel go a long, long way to addressing many of these concerns, as do the latest distributions. However, PC enthusiasts need to understand that Linux may not be as "bleeding edge friendly" as Windows is. It may take a while to get optimized drivers for new products, but support for Linux is growing. When I talk to people about Linux, I compare it to the growth that Windows NT 4 had to go through in terms of driver support. Even Windows 2000 Professional took quite a while to get optimized drivers.

Linux has decided advantages over Windows in that the GUI is completely separate, and therefore some of the insane video driver issues that have plagued Windows won't even apply to Linux. However, there are a number of devices that may never get Linux driver support at all. At times, even when drivers are produced by the original manufacturers, they may lack in refinement.

I had the occasion the other day where the only driver available for my device had to be manually compiled within Linux, which is not something that the average user may feel all that comfortable doing. Luckily for just about all of us, most distributions contain a full and up-to-date set of drivers in every new release, so if you simply upgrade often, which is a free process, then you should be in very good shape. There are a number of third party sites out there that offer the latest and greatest sets of device drivers, some written by enthusiasts themselves. That is one of the strengths of the Linux community, but it may require new users to be patient and understanding. In this case, critics have a somewhat valid point, but hopefully the situation will get better in the near future.



Windows Networking Compatibility

This concern is really no longer valid, providing that Microsoft does not make any substantial moves to purposefully alter NTFS to be incompatible. The Samba project has been one of the biggest successes of the entire Linux community, and is one of the very best examples of how you can use Linux to augment your existing infrastructure. Samba supports high levels of user security, all of the key functions of various file systems and seems to cause little trouble in the area of compatibility.

If I do have one particular complaint, it is that Samba should be easier to implement in every single distribution. Corel Linux had a great implementation, allowing for the user to configure the basics in a simple, easy to read dialog box. Once that information was entered and approved, Corel did all the work of activating Samba and mounting network resources automatically. The user did not have to do any further modifications. Drive resources were clearly broken out into individual icons, with no need to go to the MNT folder to reach specific drives. They were labeled with familiar letters like "C, D, E", etc. so that Windows users would be able to understand their order. Further, the right-button context menus had an option for "Sharing" resources, just like Windows users would expect.

Corel Linux was by no means the be-all, end-all, but in terms of getting Windows users to feel comfortable working with Samba, it did a fantastic job. It would be nice to see a standard KDE based configuration and activation screen, for example, that would be made available to every single distribution out there. Present a single dialog box, have the user type in the workgroup name, select security options (if any are needed) and have a single button that when clicked, will take care of every single thing needed to get Samba up and running, including the installation of any necessary libraries, activation of the various Daemons, the whole nine yards.

One of the best ways to showcase Linux and get it to be accepted in corporations, small businesses and even home networks is to make the integration with existing networks seamless and basically idiot-proof. Making your Linux box a part of any consumer or corporate based network should be one of the easiest tasks that users need face in Linux, and if a standard can be implemented, it can only help to facilitate the adoption of Linux.



Appealing to Enthusiasts and Gamers

This is a very tough issue and frankly, not one I'm so sure that Linux need worry about. Microsoft has spent years trying to make the PC a gamers dream, but they have failed time and time again. It seems as though Windows XP may help, but there is the fundamental issue of keeping a machine stable and secure while still providing gamers, who may have a great deal of disposable income, with a good experience. With the unfortunate failure of Loki Software, gaming on Linux has taken a fairly serious blow. It is not that Linux is not capable of being an effective gaming platform, but some key issues need to be settled first, and some additional industry support must be sought out.

The issues mentioned most often are the lack of definitive standards for accessing system hardware and the lack of a single windows management system. I am not sure if some type of "Direct X" solution would be worth doing on the Linux side, what with all the trouble it has caused on the PC side, but surely there must be a way to come to some form of agreement in the Linux community. Personally, I have been a fan of KDE from early on, much more so than Gnome, and with the serious increase in KDE functionality, stability, planning and execution, I think they have the momentum needed to fully eclipse all other potential environments. I believe the adoption of a single, core desktop environment, like KDE, could go a long way to showing the industry that Linux has its act together and is very well supported by the masses.

The Linux community could work with the KDE group to ensure that key technologies are implemented consistently. They could work with vendors to ensure that a standardized set of development tools were folded into the KDE environment. They could help to develop application suites not only for gamers, but enthusiasts as well. Multimedia mixers, recorders and overlay applications could be developed that supported the full range of audio capabilities in modern hardware. Just as KDE is working to build a basic Office Suite to serve the needs of consumers, others can work with them to build a Multimedia suite that handles MIDI, DVD and digital audio mastering in a robust and professional way. MP3's are just a small part of the picture, which could include standardized video capturing and editing suites, multi-channel studio mixing applications and more.



Lack of High Level Professional Software

This problem looked solved with the huge commitment that Corel had placed in Linux development. Their Corel Office Suite may not have been fully native, using WINE instead of being rebuilt from the ground up, but it was hailed as a very good move for Linux. The addition of the Corel Draw Suite only furthered the excitement. However, with the 135 million dollar investment from Microsoft, the ouster of their CEO and the pressure to sell off Linux and cease development of Linux products, it seems that this situation may not have a happy ending after all. Sun may have bought Star Office, but 5.2 is considered by many to be a sluggish group of applications held together by an arcane group interface. Open Office / Star Office 6 seeks to change this, but I'm not sure anyone really considers that effort to be as high level of a suite as Corel Office has been.

VMware helps to numb the pain somewhat, but running Windows apps natively in a separate environment is not the same as having native apps of your own. While KDE Office may be a step in the right direction, again, it does not have the impact that a development suite from Adobe or Macromedia would have. It does not have the corporate backing that a Lotus Smart Suite or Corel Office would have.

As a result of the dot-com crash, investor confidence is shaken in a lot of key areas, including the Linux market. It is not too likely that we will see any hardcore development from huge vendors for the coming months, particularly when they need to focus their efforts on OS X and Windows XP releases to meet demand there. Frankly, I'm not sure what the answer will be here. For all its power, individual applications like Gimp don't carry the same weight as Photo Shop, and with the buyoff of Corel, I'm not sure we will see big name apps anytime soon.



Difficult Installation of the OS and Applications

Installation of the core OS has become a breeze compared to the early days. Again, Corel was fantastic here, but Mandrake 8.x is not far behind. Red Hat and others are also improving installation routines for the OS, so I don't see that this is going to be a problem. I do still have some serious concerns about hardware identification and configuration, however. KDE may have improved things a bit, but they still don't give end-users as much help as they may need when they first get started in Linux. I would like to see something akin to a fully-functional device and system manager in every distribution. Again, Mandrake is working towards some improvements, but you should not have to resort to running LinuxConf and Xfree86config to get the job done. The management should be in a single dialog and as bullet-proof and simple to use as you can make it. There should be no need to drill down through six different levels and execute a variety of different configuration utilities. When I can control minute details of my video system, sound system, storage system and network hardware from a single interface that actually works 100% of the time, I will be able to look Windows people in the eye and tell them that Linux has something better.

Individual application installation could be done better, but I think it is also headed in the right direction, just not as fast. Packet managers are getting stronger and easier to use all of the time, and update utilities are making it easier to get "point" releases and bug fixes. However, there is still the need to manually gather and compile various libraries and programs in order to get the most out of your system. If you want to expand the Linux user base to include Windows folks, you have to make it easier to do.

When I first downloaded Star Office, I was impressed with how simple the installation was. In fact, it reminded me of installing a program on Windows or the Mac, and I thought to myself "Why can't every Linux program be this easy to install?" While those well versed in Linux may laugh at my ignorance, I assure you, convenience should not be under-rated. I am a command-line hack from way back, but even I love simplicity when it comes to the basics. I'm capable of opening a console, firing up Midnight Commander and editing the configuration files manually, but why should I have to now that I've been spoiled by GUI installs? That, I'm afraid, is what many users will be thinking. They want to be able to pop in their CD, have it auto-mount and have the thing install with a few configuration options thrown in for good measure. I don't think they want to go grab some "install.c" file and take care of business the old fashioned way...



Lack of a Cohesive Vision and Standards

Linus Torvalds does his best to help keep the vision clear and well defined, but so much of Linux is based on community support. He handles the kernel, but Gnome and KDE are handled by different people entirely. I think it is becoming obvious that the momentum is behind KDE. Yes, I am a KDE fan, but the facts speak for themselves. Gnome is like a lost child looking for directions, but KDE is leading the way, and it is one of the reasons that Mandrake 8.1 looks so good to me.

Linux is really two distinct entities. The command line kernel and the GUI. The GUI is separate and I think that is where the perception of a riff lies. The Gnome v. KDE wars have been hardcore and I don't think helped the perception of outsiders. To see the two biggest GUI guns blazing away at each other, sniping in the press, it just did not service to the community in terms of promoting adoption of Linux.

KDE has advanced to be much more than a GUI, however. It is now a full-blown desktop and development environment, and if more of the industry can get behind it, I think the second problem will be solved. Ironically, just as KDE has established itself as the dominant desktop, the fact that Linus went to work for Transmeta has some fearing that the kernel will suffer from a lack of leadership. But as was demonstrated by the latest kernel release, Linus is on top of the situation and still very committed to ensuring that Linux remains a responsive, high quality option. He has shown time and again how he would rather delay than release an unstable or unfinished product, and while the wait may be frustrating to some, the sentiment behind it should be noted. As long as Linus Torvalds has anything to say about it, the Linux kernel will indeed have a strong, clear path of evolution.



Lack of Corporate and End User Support

In terms of corporate support, you have Red Hat and a host of other companies offering support plans ranging from simple telephone and email assistance to 24/7 on site coverage. There should be no trouble arranging a support plan to fit the needs of your company, whether they have 10 stations or 1,000 stations. Since you have no software licensing fees to speak of and a competitive support marketplace, it should be fairly easy to find a reasonable cost model.

End user support for Linux has always been solid, and is now one of the very best assets that Linux has. When people refer to the Linux Community, they are not kidding. You can find hundreds of web sites dedicated to helping other Linux users, as well as newsgroups and chat boards that host a wealth of information. Early on, the Linux community had a reputation for being a bit "snooty", and looking down their noses as the less technically inclined. To some degree that was true, but as Linux has expanded in popularity, so has the civility of the community. It is quite easy to find normal, non-fanatical users who would like to give something back to the community by helping others, as they themselves where helped. Users spend dozens of hours crafting "how-to's" that help explain how to get the most out of Linux, and many distributions include help resources as well.

If potential Linux customers could be shown just how supportive and helpful the Linux Community can be, I feel it would go a long way to allaying concerns about a lack of support. Open Source is all about the freedom to share information from the ground up, and it is with that spirit that has helped Linux thrive. Letting people know about this little secret can only help increase the rate of adoption by enthusiasts and individual consumers and may help to provide an even stronger grass-roots base.



Overall Stability

Frankly, I don't get this one. Anyone who uses Linux knows it is incredibly stable. Why? Because it is designed the way an operating system should be designed. The key kernel functions are command-line drive and the entire system can be managed without any graphical interface at all. That takes away a great number of possible headaches and incompatibilities and is also substantially more efficient. Apple has redesigned their entire operating system with this concept in mind, and so far, with the new 10.1 update of OS X, you are seeing some impressive results.

The biggest area that I can think of that might be a concern is the GUI. However, with the maturation of KDE and the extensive testing and development that went into its release, I am more confident than ever before that it can hold its own against anything the competition has to offer. I was nervous back in the day when you had to think about Gnome, Enlightenment and KDE all duking it out, but clearly KDE has risen above the fray to become a top level desktop environment with a level of stability that is to be expected of such a refined product. When I really sit down and think about it, there is only one real worst case scenario related to the GUI. If it somehow gets corrupted by an odd stroke of fate, you simply kill the GUI process. The underlying system is unaffected and all other processes continue to run without interruption. You are free to start other GUI's if the one you have been using does not cut it for you, and you should be no worse off. It is one of the benefits of choice.

Perhaps there may be issues with device drivers as well, but since most drivers are external from the kernel by default, there seems little chance, if any, that they could bring down the rest of the system, let alone affect it in a negative manner. Advanced users can actually modify the kernel to further stabilize the system and reduce chances of potential corruption, which is again indicative of the flexibility of Linux and a testament to just how industrial strength it really can be.

However, in my experience, kernels are rarely corrupted, and given that most distributions are self-repairing upon restart, common issues will be taken care of without any user intervention at all. Using applications like Midnight Commander, it is extremely easy to backup data and configuration files. Highlighting the /usr folder and copying it to a second drive is quick and simple to do, and if you have "root" access, you should be able to backup any folder on the system. Unlike Windows, there is no "safe mode" to worry about, and as most of us know, that is a very good thing. No issue with those goofy "~1" truncations that exist in Windows because the file system is supported in full at the command line. Why Microsoft didn't develop their file system this way is baffling, but hey, it is their loss and one of the reasons why Linux is becoming more popular all of the time.

Linux is in reality one of the most stable systems I have ever put my hands on. I've had hardware fail before the kernel ever does, so I'm not exactly worried about it. That is not to say there may not be compatibility issues here and there, but the chances of them affecting system stability are slim indeed.

It is important to emphasize to potential adopters just how stable Linux is at its core. Most of the web sites that stay up use Apache as their base of operations. Most that go down use something else. Linux is not prone to the security holes that have plagued Windows for nearly a decade and it is doubtful that it ever will be. The open source nature may seem on the surface to be slower in terms of development, but because it is open source, security holes and flaws can be found and corrected by anyone interested in contributing to the community. Bugs are much more likely to exist in the shadows than out in the light where they are easily seen and taken care of.



The Bottom Line

There you have it. My thoughts on some of the preconceptions I've seen and heard about. I personally feel that Linux is very close to breaking through on the desktop side, provided some changes can be made. Corel made a pretty decent attempt at creating a migration path for Windows users not only by releasing their own modified Debian release, with a Windows-Friendly feel, but also by porting their Word Perfect and Corel Draw suites over to Linux. However, the movement has suffered a kick in the gut, thanks to a variety of factors, and now the community must forge ahead to make up the lost ground.

For those of us that have experience with Linux, we know of its growth and maturation. However, in order to see Linux continue to grow and even make inroads into the desktop environment, there are a number of things that will need to be done. The first things I would focus on are the things that trouble users on the PC side the most.

Linux needs to be more approachable for novices, and those who use Windows, since that is where much of the conversion will come from. If the community can get fully behind KDE 2.x and 3.x that will help. If the KDE or Samba groups can produce a consistent, super easy and nearly automatic dialog to configure and activate Samba file sharing with Windows networks, that will also help.

Further, if the display settings dialog was more capable and fully functional, it would be less intimidating and more convenient. I use Mandrake 8.1 with a Matrox G400-TV and a Viewsonic PS790 and it still has issues. I set it for 1600x1200x32 but it refuses to go there using the GUI. If I drop to the command line and manually do it, it works perfectly fine. Under Corel Linux, I am able to set the items in the GUI, including the refresh rate, and it works without incident. I'm wondering if this is a KDE issue. If KDE modified the display properties so that you could set a default "global" refresh rate and fine tune other display properties including resolution and color depth, and then made sure that the settings stuck, it would help avoid the same hassles that users had on the Windows side some years back.

Integrated driver and software installation and removal tools are already taking shape, thanks to advances in packet management utilities, but it would be helpful if they were streamlined a bit to accommodate novices who are used to the "Add/Remove" dialog in Windows. The ability to quickly install and uninstall features is important to end users and something that Microsoft is not taking into consideration in Windows XP apparently. I look at how well the KDE theme manager works, and wonder why every part of the software installation process can't be that easy. The process could be made even easier by including default "productivity groups" that include collections of top programs like Gimp and Star Office, for example. Perhaps grouping the most common and popular applications together and increasing their pre-installation documentation so that their functionality is clearly explained, would be helpful. They should all support data transfer, via the KDE clipboard or direct importing and exporting, for instance, and even if the interfaces differ, there should be an option that allows for a common menu structure or functionality where possible.

Another issue, perhaps one that I'm concerned with as a developer, is in regards to the varying libraries needed to run and execute the different applications included in the differing distributions. The last thing the end user should have to worry about are which library versions they need to install in order to get certain applications to run. They should not have to compile code in order to get a program up and running.

The list may seem long, but I believe all of these things will need to be taken care of in order for Linux to really broaden its appeal to the novice Windows user. There are certain things that they simply expect to have going for them right out of the gate. Linux has come a long, long way over the last few years, but with the back-step imposed on the community with the removal of Corel from the scene, I think it will take a stronger effort from the rest of the players to get the train chugging along again at a solid clip. Here's hoping.

Log in

Don't have an account? Sign up now