If there's one aspect of Linux that has led to its popularity, it's the ability of suitably enthused individuals to produce their own distribution. That feature has spawned thousands of different solutions and, in turn, has led to the creation of numerous tools, products and companies that have furthered the progress of Linux. For example, the Red Hat Package Manager (RPM) system was introduced to help install the packages that make up Red Hat's system. Today, most Linux software is distributed in RPM format, even if your system isn't necessarily Red Hat-based.
The distribution model of Linux has also spawned many companies: Red Hat, SUSE (later bought by Novell) and others that would not exist without Linux.
What made all of this possible? Well, the "free" part of open-source, of course. Because we can use, modify, combine and redistribute different products, we can easily produce a distribution that contains the elements we want. Linux isn't really an operating system; technically, Linux is simply the kernel that allows other bits to work. The Linux operating system is really a distribution of the Linux kernel and a collection of other software that makes it work - the compiler, file-system utilities, shells, user interfaces and so on.
Collectively (and technically incorrectly) we call this collection "Linux." This incorrect labelling leads to a series of other problems, one of which is the generic use of the term to refer to a wide range of operating systems that aren't always compatible with one another. Minor differences in applications, libraries and the configuration of the systems may mean that precompiled software (including many commercial applications) for one Linux distribution may not work with another. This has complicated the distribution of software -- a critical problem for a new operating system -- and also administration, as skills can't always be easily migrated because of the differences between the distributions.
The Linux Standard Base (LSB) project is addressing the issue of incompatible distributions. By standardising on the components that make up Linux, LSB will improve software compatibility and the ability of administrators to migrate their skills to other Linux-based distributions.
A new alternative
We now have a new player in the field: OpenSolaris. Here we have the public, source-based launch of an operating system with a great history of commercial development and deployment. Solaris, the source of the OpenSolaris code, has a large existing base of customers that use the operating system in everything from network servers that support the Internet to the massive servers that produce your credit card statements.
Compared with most operating systems, Solaris is old. And while you might think its age makes it unattractive, from a business perspective, that history makes it wise. Solaris has a heritage that other operating systems, Linux included, can only dream of. Solaris has 23 years of commercial development behind it, and that means a dedicated team of programmers, not a group of enthusiastic volunteers. That's 23 years of optimising and improving the operating system -- years of trials and tests to determine the most sensible layout of files, components and applications. Solaris is a Unix operating system with a standard set of rules for how it works.
OpenSolaris provides the same flexibility and capability to produce distributions that we have with Linux. The creation of OpenSolaris-based distributions has already started. It's just a couple of months into the project, and already there are two OpenSolaris-based distributions, Schillix and BeleniX. OpenSolaris-based distributions are already binary-compatible with existing Solaris applications, and vice versa.
The incompatibilities between distributions that have plagued Linux for so long aren't an issue with OpenSolaris-based distributions. The reason is simple: a Linux distribution is a kernel combined with other tools, but OpenSolaris is an operating system in its own right; it doesn't need additional tools to make it work.
For Linux, we're trying to push many distributions through to compress them into a standard. With OpenSolaris, we are already at the small end of standardisation. What will follow is more OpenSolaris distributions spreading out from that core.
Only time will tell whether the approach will work for Sun and Solaris in the long run.
Martin MC Brown is a specialist in multiple computing environments and a Computerworld blogger. He can be reached at [email protected].