Linux Leaders Commit to LSB 3.1, Linux on the Desktop
Published: May 2, 2006
by Timothy Prickett Morgan
The Desktop Linux Summit was underway in San Diego, California, last week, and the leaders of the Linux community as well as the Free Standards Group were on hand to promote the idea of replacing Windows on the desktop. While the Linux crowd is gung-ho on the idea of knocking Windows off the desktop, the idea so far has been of only limited appeal to commercial customers, particularly in call centers and embedded applications where having a browser is pretty much all anyone needs.
A lot of us in Linux community would love to see Linux take off on the desktop, in a big way. But the several hundred million people in the world who sit at Windows desktops every day, from work and from home, are used to Windows, and for many of them, it was very difficult to learn the limited skills they do have. Those of us in the computer business, who work with them conceptually or physically or both all day, forget that sometimes. For many people, computers are alien things that are tough to control. The trick, as many desktop Linux vendors have figured out, is to make Linux look and act as much like Windows as possible.
But there is more to making a Linux desktop take off. With so many Linux distros competing against the monolithic Windows platform, there has to be standardization at deep levels in the guts of Linux. Software has to run on a very wide range of hardware platforms, both the operating system and the application software that rides on top of it. That's why the extension of the Linux Standard Base specification, version 3.1, that was announced at the Desktop Linux Summit last week, is important. It is the first LSB spec that includes specifications aimed specifically at the Linux desktop and its application stack.
Ian Murdock, the co-founder of Debian who took over as chief technology officer at the Free Standards Group last October, was instrumental in creating the Linux Desktop Project. Commercial Linux distributors Red Hat, Novell, and Mandriva, as well as IT hardware players Hewlett-Packard and IBM were contributors to the project. (You make be wondering why IBM cares about Linux on the desktop, now that it has sold off its PC business to Lenovo Group. That's a good question. I don't have a good answer, other than to say that IBM is still interested in peddling embedded systems like cash registers and kiosks, as well as virtualized PC clients running on its server hardware, and all of this takes a variant of a desktop Linux.)
Whether on the server or on the desktop, the LSB effort is about keeping Linux from splintering, as Unix did many times over several decades, causing Unix to be more of a collection of common APIs and commands than a compatible family of operating systems that could run the same applications. In September 2005, the Free Standards Group announced the LSB 3.0 spec, which is a base set of APIs, libraries, and interoperability standards; it also requires vendors supporting the spec to have test suites, development environments, developer documentation, and sample implementations of their Linux platforms. With LSB 3.0, the standards body added an updated application binary interface (ABI) for C++, which is supported by all Linux suppliers. The new spec also incorporated yet more features of the POSIX standard for Unix, which made it even easier to port Unix applications to Linux. One new feature, called librt (Realtime Library), allows applications to use POSIX clocks and timers and POSIX shared memory, which eliminates some of the code that needs to be rewritten for a Linux port. The LSB 3.0 spec was not just a standard for 32-bit X86 and 64-bit X64 Linuxes, but covered 32-bit and 64-bit PowerPC platforms, 32-bit S/390 and 64-bit zSeries mainframes, and 64-bit Itanium platforms as well.
With the LSB 3.1 spec, the LSB Core, a spec that was submitted to the International Standards Organization (ISO) as a standard and has been accepted as such. To this is added the LSB C++ spec and the LSB Desktop spec, the former obviously governing the way applications created using the GIMP Tool Kit+ (GTK+) 2.6 C and C++ compiler interface with Linux; the latter governs how desktop applications talk to Linux.
The LSB 3.1 spec also has optional support for Qt 3.3. Qt is a C++ development environment from a Norwegian development tool maker called Trolltech. Some 4,000 companies worldwide have used Qt to create their own applications. The Qt environment was used, for instance, to make the KDE graphical user interface for Linux, and is interesting in that a single C++ program can be deployed onto Linux, Unix, Mac OS X (which is a variant of FreeBSD Unix), and Windows operating systems. Going forward, the LSB spec will offer Qt support as an optional module, and presumably other aspects of the guts of Linux will be modularized. For instance, it would be interesting to see a standardized virtual machine.
The evolution of Linux standards is important, and the movement of Linux standards from the server to the desktop is sure to help the desktop Linux movement. But the ironic thing is this: End users do not care about the nuts and bolts of standardization. They just want their applications to work on any Linux they choose to buy. And we still are not quite there yet. But progress is being made.
Debian's Murdock to Be CTO at Free Standards Group
Linux Core Consortium: Déjà Vu All Over Again
Linux Standard Base 3.0 Spec Unveiled
Server Makers, Linux Distros Back LSB 2.0