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.