posted by Ernesto Garbarino on Tue 27th Jul 2004 06:17 UTC

"Desktop Linux, Page 3/3"
a) A Foundation Operating System

We have a kernel (Linux), not an operating system. An operating system contains a kernel and other applications like the shell that runs "shell utilities" such las ls, cd, mv, etc. It also has a boot loading system (LILO in many cases). The kernel also accepts modules that extends it and allows the operating system to recognize base and new hardware. As Linux is just the kernel, let's call this the FOS (Foundation Operating System). The FOD should provide a standard kernel (with a granted number of drivers), one shell by default, a standard set of utilities and a configuration system for base services such as TCP/IP and hard drives. In practice, any distribution is already a FOD on its own, but what we need is a common foundation. The United Linux project seems to have this idea in mind, but not all distributions adhere to this initiative.

b) Binary longevity

Breaking binaries is a bad thing and it's hard to find an excuse to justify it. The promise of light-speed processor-specific applications didn't materialize. Nobody wants to spend 3 days compiling an operating system just to gain 20% of speed while a 20% faster processor maybe costs just 50 bucks more. The end-user should not need to have a development environment. It's like saying that a car driver must have at home a shop to service his car. It is ok and also advisable to include as many interpreters as possible, including Perl, Python, Mono and Java. Applications for these interpreters should be distributed using some sort of FOS standard though. Newer kernels (and glibc libraries) should not break binaries compiled against older versions. Commercial software and games will never take off if binary longevity is not granted. Who wants to buy an expensive encyclopedia that will potentially brake with the next operating system upgrade?. Binary longevity doesn't mean that all applications must be 386-compatible. Many Windows applications include portions of code that are activated if a given processor is installed. It's also possible to bundle more than one binary as long as a default compatible one is supplied. The only incompatible binaries will be those that are compiled for radically different processors, for example PowerPC or Sparc. Binary longevity is end-user commitment.

c) Standard driver system

Drivers should be properly register in a given category (graphics, disc, etc). It should be straightforward to include and remove a driver either from the command line or the desktop. All drivers should be able to properly describe themselves. There must be an user-friendly driver tree in the file system for storing driver modules. Although Windows has a rather good system to install, uninstall and find drivers it is very hard to locate them using the command line. Most of them are mixed together and have short and non descriptive names such as NVD5443.SYS. It would be nice to be able to specify a driver at boot time when you need to include an unsupported device such as a SATA hard drive. It is very rude to ask for a "brand new kernel" just to be able to install the operating system.

d) A common well-integrated desktop

I don't know whether it should be KDE, Gnome or something else, but it must be only one. The most important thing is that the desktop should be tightly integrated with the underneath command line environment. I don't think that is is necessary to demand the presence of the graphical desktop. A bare-bones command-line foundation is according to me a good thing. (Most of the users will probably never choose not to install the GUI though). We all know how terrible is to repair Windows when it doesn't boot in graphical mode. The point is that although is not necessary to allow 100% configuration through the GUI, the configuration files used should be the same as those used via the command line. For example, maybe you can't change the MTU setting using the GUI interface but if you touch the file with a text editor, you still can change the IP address using the GUI without having two configuration files and without breaking something else. If the user breaks the text configuration file the GUI should suggest her to use the last working version. Standard folders such as "My Documents"must be provided . Applications should be packaged using a standard installer based on some sort of user-friendly script system. There should be a dedicated folder for applications, although the user may specify where to install them, a default "Program Files" folder is a must. Both on Windows and Mac OS X it is very clear where applications go once you install them, the same cannot be said about Linux. It is easy to locate the applications bundled by your distributor of choice, but if you download a new application and you forget when you installed it your are often lost.

Conclusion

As you can see most of the ingredients to integrate Linux into a winning operating system exist and are available now. We need standards and sage political decisions to prepare a good product ready for widespread distribution. If Linux continues to be driven by students who believe in freedom of choice and anarchy rather than in standards, with companies fighting to become the de facto standard alongside proposing their own proprietary systems we will never get there. I want to see the day when I can walk into a store and be able to purchase a so called "Linux application" that I will be able to install with the ease of any Windows and Mac OS X application. This is not possible at the moment, because "Linux" is just not ready for the desktop yet.

About the author:
I started computer programming in 1990. I have programmed in BASIC, C, Perl in the past and I'm currently specialized in Java technologies. I have used many operating systems including AmigsOS, Digital Unix, Slackware Linux and MS-Windows.


If you would like to see your thoughts or experiences with technology published, please consider writing an article for OSNews.
Table of contents
  1. "Desktop Linux, Page 1/3"
  2. "Desktop Linux, Page 2/3"
  3. "Desktop Linux, Page 3/3"
e p (0)    258 Comment(s)

Technology White Papers

See More