Linux Vendors Team Up to Keep Linux from Splintering
|"There are at least 15 English-language distributions of the Linux operating system for the Intel platform--and none of them are exactly alike. "|
Burst.com solved its dilemma by porting its software only to Red Hat Inc.'s Linux, forgoing ports to other Linux versions for the moment. "Obviously it would be simpler for us if all Linux distributions supported a common set of features," says Kyle Faulkner, chief technology officer at the company.
The problem carries a touch of irony. When the operating system first started to gain attention, application portability was viewed as one of its major selling points. Unlike Unix vendors, Linux distributors all work with the same operating system kernel, which should have enabled third parties to run their applications on various distributions with little or no effort.
No two alike
To date, that hasn't been the case. There are at least 15 English-language distributions of the Linux operating system for the Intel platform--and none of them are exactly alike. Though each starts with a version of the same source code, their differences are such that there is no guarantee that a commercial application will run on all of them.
So, independent software vendors often have to test and tweak their products to get them to work on different distributions, and users have to worry about whether or not a new product will run on their systems. "Distribution inconsistencies are one of the reasons why Linux has not attracted more attention from ISVs," says Bill Claybrook, a research director for Linux and open source software at the Aberdeen Group, a Boston market research firm.
Operating systems rely upon shared libraries to provide applications with standard functions and utilities. Linux distributions usually include a handful of libraries, such as glibc, libm, and ncurses. Applications that are compiled with a given version of a shared library expect to find that specific library at runtime.
Unfortunately, that may not happen every time. For instance, glibc, the GNU C programming language libraries used to compile applications on most current versions of Linux, are often version-sensitive. Some distributions rely on a Linux C library called libc5, while many others have adopted the Free Software Foundation's GNU libc 2.0, and applications designed for one will not run on the other. Also, various X Window shared libraries depend on the presence of specific C libraries.
Dealing with these sorts of problems complicates the porting process for software developers. "The more variations there are in operating system libraries, the more difficult it becomes for us to develop software for Linux," said Kris Magnussen, an open source architect at Novell Inc., in Provo, Utah.
There are other issues as well. The procedures for installing Linux, for example, vary between different distributions. The Red Hat Package Manager has been widely adopted, but Debian Inc. and Corel Corp. rely on Debian's installation package format, and Slackware uses compressed tar archives.
Page 1 of 2