With Linux powering most types of computers, you would think that you could lift any Linux program from any system and run it on another system. Unfortunately, it does not work that way.
Linux runs on everything from small PDAs and embedded systems to huge mainframe computers, and most types of systems in between. With Linux powering most types of computers, you’d think that you could lift any Linux program from any system and run it on another system.
Unfortunately, it doesn’t work that way. Linux programs are usually compiled for a single-processor architecture, such as the Intel Pentium architecture. Such programs simply won’t run on other processors, such as SPARC or XScale. Furthermore, even in the dominant Intel architecture arena, different Linux distributions place Linux files and features in different locations. Thus, while a program may theoretically run on Red Hat, SuSE, Slackware, or any other Intel-based Linux, you might not be able to install the program on anything other than the original Linux distribution used to build the program.
The new Linux Standard Base Specification (LSB) version 2.0 provides a standard for what should be available on each Linux system. This allows application developers to target the LSB features and thereby ensure their applications run on the widest number of Linux distributions. Most most users, the LSB is an obscure standard. Its promise, though, is not obscure. Applications that follow the LSB should install and run on all distributions of Linux that support the LSB on the same processor architecture. Developed by the Free Standards Group, the LSB defines what features a Linux distribution must support, and where on disk those features should be located. The LSB 2.0, for example, insists that Linux distributions support the C++ programming language and provides a binary interface for C++ programs to follow. C++ demands attention since it is the primary programming language for Linux (and Windows) applications.
With the LSB, more Linux applications should work on more Linux distributions. This should help avoid split (or forked) versions, and make IT departments more willing to consider Linux. On the heels of the new Linux standard baseline comes a new version of the GNOME desktop environment. GNOME provides a graphical desktop on Linux as well as boatloads of applications such as the Gnumeric spreadsheet and the AbiWord word processor. Most Linux desktops run the GNOME environment, or another environment called KDE.
Version 2.8 of the GNOME desktop environment includes a number of smaller fixes and performance improvements. This latest GNOME release focuses on an improved calendar and scheduling interface and a better Evolution package. Evolution provides an e-mail and groupware tool similar to Microsoft’s Outlook. Furthermore, with this release, Evolution supports Microsoft Exchange, out of the box. In addition, GNOME 2.8 features vastly improved hardware support, focusing on graphics hardware, as well as devices you plug into your computer. The goal of the GNOME developers is that your system should just work, a very healthy attitude that addresses a major Linux weakness.
For example, GNOME 2.8 supports more USB devices and provides features such as launching a photo management application if you plug in a digital camera. Much of what is new in this latest desktop environment resides under the hood. For example, GNOME 2.8 takes advantage of a new system for mapping file types to applications. What’s most useful about this is that the KDE desktop, the main competitor to GNOME on Linux, will soon support the same system for registering applications, providing better interoperability between these two desktop environments. Together, these two developments bode well for the future of Linux desktop applications.