| Guest Editorial: A constructive critique of Debian Linux |
a guest column by Binh Nguyen (Dec. 7, 2004)
Foreword -- This guest editorial by Linux consultant Binh Nguyen is an exercise in "tough love." Nguyen points out key design attributes of Debian that make it one of the strongest and most versatile Linux offerings available. At the same time, he notes several important areas where Debian falls flat. Yet, with a few simple improvements and a more welcoming attitude to new users, Nguyen argues, Debian could turn into the most popular Linux distro around.
A Constructive Critique of Debian Linux
by Binh Nguyen The Debian Linux distribution is widely regarded as a stable, albeit difficult to use, operating system. Yet, its usability happens to be the very reason why I have selected it as my primary desktop operating system. From package management to system dependencies, I have found Debian to be second to none. Also, Debian's standards-based approach is found throughout the distribution, as illustrated in file layout and configuration. For example, configuration files are always found in /etc while documentation is almost always found in /usr/share/doc.
Such stability means that creating packages for Debian-based systems is astonishingly easy, since the development cycle is more reminiscent of Windows than Linux releases, which tend to change more often than not -- occurring on a weekly or even daily basis, rather than yearly cycles. Although it could be argued that this results in a superior product at any given time, it is also quite clear that so much constant change can result in some less than trivial issues such as program crashes due to segmentation faults and mangled configuration files. Both are simple consequences of the lack of full testing. It is almost like having your user base serve as a means of prototype testing.
Because of the numerous strengths of Debian, many other distributions have selected it as a starting point including Xandros, Knoppix, and most recently Ubuntu. What they then do is attempt to fix some of the more obvious flaws in Debian such as the installer and configuration utilities. The resulting repackaging often turns out to be quite attractive.
Nonetheless, while people often complain about the difficulties of using the Debian installer, I've found it to be quite usable. In my opinion, the only difference between Debian and other installers from Red Hat, Mandrake, and SuSE (now Novell) has been the use of a GUI (Graphical User Interface). That issue is being addressed as part of the Debian Installer project.
Debian strengths and usability
On the other hand, I believe that Debian could be made significantly more usable by taking away the menu-based interface with the 'OK' and 'Cancel' buttons, and replacing it with a step-by-step 'state machine' mechanism with just two 'Forward' and 'Back' buttons. While this may detract from the ability of experts to jump around through the install process, there's no reason why you can't have the best of both worlds: the older install system could remain available as an alternative installation method.
Hardware autodetection is non-existent during the installation process. It could also be said that this is a flaw, but we must remember that Debian was intended to be able to be installed on virtually any system, by bringing things down to a common denominator. For example, let's say you had a video card that was incompatible with Linux but did work in VESA mode (which I assume the installer will tend to run under). Most installers will give you the option to test whether the card will work or not. However, in my experience most people will tend to skip this option and the next time they boot up they won't be greeted with a XDM/GDM/KDM welcome screen, but instead are met with a garbled array of grey and white lines. One could argue here that you could make it compulsory to test your X configuration before proceeding though the installation process.
In terms of system configuration Debian provides no centralized mechanism such as those produced by SuSE, Mandrake, and Red Hat. Consequently, most applications must be configured through a program's own configuration utilities, 'dpkg-reconfigure', direct text file editing, or a third party utility. This means that it can sometimes be extraordinarily difficult for someone to determine how to configure a piece of software such as X, or hardware such as a network card. Is it really intuitive to type in 'xf86config', 'xf86cfg', 'dpkg-reconfigure xfree86-common' at the command line? If your answer is yes, then (a) you're lying or (b) you're weird. Of the third party configuration utilities, the only two that I have ever tested with Debian are 'linuxconf' and 'webmin'. Both suffer a number of deficiencies, most notably being their relative lack of development and support for a wide range of programs. Also, using them can sometimes lead to unusable configuration files which may require further manipulation by hand, or other tuning -- a process which is not particularly enjoyable due to lack of adequate documentation.
The packaging and dependency checking systems are without a doubt what set this distribution apart when it first came about. The ability to update your system almost flawlessly is extremely attractive no matter what operating system you may use. Over time, though, this has become less of an advantage with the advent of the 'rpm', 'yum', 'up2date', 'apt4rpm', and 'portage' concepts/programs.
A full featured system that acts thin
People perennially argue about speed and simplicity. What could be simpler than not having packages you don't want installed but still having the ability to make them available through a menu system such as 'dselect', 'tasksel', and/or 'aptitude'. For speed, I have little doubt that Debian would give most other (unoptimized) distributions a run for their money. It is here that the minimalistic approach of the distribution comes to the fore. Fewer services means decreased boot time, means less wasted memory -- which translates into a more enjoyable desktop experience. At last count the differences between Mandrake, Red Hat, and Debian boot times on my primary system were quite marked. If memory serves me correct, it came out to something like 50 seconds, 45 seconds, and 30 seconds, respectively. From my experience, the only distributions which are able to equal or surpass this are Gentoo and Slackware.
The number of packages that are included as part of a version of Debian are quite astonishing (~8700 at last count). On one hand, it is understandable why the community refuses to include 'commercial' programs as part of the distribution. On the other hand, I consider this to be a very strong weakness of the distribution, and most other Linuxes in general. Although, admittedly, it may open the Open Source community to litigation.
I do believe that multimedia support should be included as part of any operating system. After all, the computer has become a centerpiece in home entertainment. It is now being used not only for work, but also for leisure. It is not uncommon, these days, to find a computer being used as a second television, radio, and/or stereo system. In time, I have little doubt that it will also be able to interface with the rest of your home appliances such as your refrigerator and toaster. I don't doubt that one day we shall see the refrigerator interface with your computer and act as a gateway to the rest of the Internet, and order food automatically when you run out. Imagine a stove which would interface with your fridge and computer, which would then download a recipe for a food that it knows that you may particularly enjoy, order the food, and then cook for you? This may sound entirely outlandish, but I do believe that it will become a reality someday.
For this reason, I must insist upon the inclusion of such "extensions" into the Debian and other Linux distributions. Not doing so would deprive many users the ability of being able to maximize the capabilites of their systems. By doing so, I believe that in time, a sufficiently large critical mass will be generated such that Linux communities will be able to influence companies to open up their systems and protocols.
The elite Linux distro?
Another problem I have with Debian and some other Linux communities is the elitist nature of certain mailing lists and user groups. You may ask a perfectly valid question and receive a completely derogatory answer, such as "RTFM" (Read The F****** Manual). In my opinion, this is just not appropriate. To me, it is the equivalent of ringing up technical support and then paying to be insulted.
That offers some insight into probably the biggest problem that I have with Debian -- the lack of highly visible documentation. Although, I understand that there are many examples of books and references as part of the Debian Documentation Project, and most of remarkably high quality, I believe the availability should be more obvious to the end user. It should be visible to the user where they can readily find documentation on their system and how they can access it. Perhaps, too, there should be links created on the desktop to the location of documentation; and, that visible introductory documentation should be installed as a standard part of the distribution. Even something resembling the "Welcome" screen of Microsoft Windows would be sufficient and would significantly aid a new Linux user; I have often seen users give up on using Debian and/or Linux simply because there wasn't anyone around to guide them through the introductory process.
Overall, I consider Debian to be a competent, robust distribution -- having few flaws as an operating system, but possessing some critical ones that have led to the unfortunate perception of it being an elitist distribution.
Talk back!
Do you use Debian Linux? Share your views and get help from our popular forum.
About the author: Binh Nguyen is studying computer science and physics at the University of Melbourne. His main interests in each area are in Operating Systems and Quantum Mechanics. Binh is a part-time commercial researcher/developer on Linux-related projects focused on software distribution mechanisms. He is frequent contributor to Linux publications and has published items as part of the global Linux Documentation Project.
Please note: The opinions expressed in this guest column are those of the writer, not of the management or staff of DesktopLinux.com.
(Click here for further information)
|
|
|
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
4 Legal Reasons to Control Internet Access
The Internet is obviously a valuable resource for many organizations. However, many are exposed to legal liability concerns because they fail to control Internet access. Learn if you're safe in this white paper.
Rapidly Resolve J2EE Application Problems
Whether you are in the process of building J2EE applications or have J2EE applications already running in production, you must ensure that they deliver the expected ROI. Learn how in this white paper.
Load Testing 2.0 for Web 2.0
There are many unknowns in stress testing Web 2.0 applications. Find out how to test the performance of Web 2.0 in this white paper.
Build Better Games Online
For the game infrastructure providers, life is complex. Making money from games has become more complicated. Why? Find out in this white paper.
Building a Virtual Infrastructure from Servers to Storage
This white paper discusses the virtual storage solutions that reduce cost, increase storage utilization, and address the challenges of backing up and restoring Server environments.
Gaining Faster Wireless Connections with WiMAX
Welcome to what is quickly becoming the hyperconnected world where anything that would benefit from being connected to the network will be connected. Learn more in this white paper.
Is Your Desktop a Security Threat?
The new wave of sophisticated crimeware not only targets specific companies, but also targets desktops and laptops as backdoor entryways into those business’ operations and resources. Learn how to stay safe in this white paper.
Increasing SAN Reliability by 100 Percent
Storage area networks (SAN) are a strong part of storage plans. Learn how to increase your reliability and uptime by 100 percent in this case study.
|
|
|
|
|