What is a Distribution?
A Linux distribution includes the Linux kernel plus utilities, programming tools, window managers, and other software that make up a full operating system. Distribution companies, such as Caldera, Red Hat, SuSE, TurboLinux, and nonprofit organizations such as Debian, download the latest Open Source packages from the Internet, QA them, add utilities such as installation programs, and package them on a CD-ROM with a manual. The underlying code in each distribution is exactly the same. Slight differences may occur in the following:
- hardware installation programs
- default X-windows configuration
- graphical systems management tools
- proprietary software packages (very few)
In the vast majority of cases, Linux applications are compatible with all
distributions of Linux, which accounts for the aphorism "Linux is Linux is Linux."
When a new Linux kernel is released, it is put up on the main Linux kernel site,
www.kernel.org. The distribution companies then package it and provide it as an
update on their Web sites. Distribution vendors take the kernel as is, with all
changes and fixes that are contributed by members of the development community.
Each distribution company releases new distributions about twice a year.
The Open Source development model discourages distribution vendors from forking
the Linux code base into incompatible code streams. The GPL specifies that additions,
modifications, and extensions to Linux are distributed in source code form whenever
executables are made available. If a distribution company were to acquire development
expertise and attempt to build unique features into Linux, its innovations would be
released back to the development community. Truly valuable changes would then be
included in the next release of Linux and/or freely adopted by other distribution
vendors, eliminating any competitive advantage.
Currently, the vast majority of fixes, patches, and additions to Linux are contributed
by independent developers. Each one of these modifications improves the stability and
functionality of Linux. Competitive pressures mean that Linux distribution vendors
really have no choice as to which patches and fixes are included in their upcoming
versions. Rather, the decision is made for them by the Linux project maintainers, who
have final say over what goes into a new Linux release. Therefore, improvements and
bug fixes developed and submitted by companies such as Linuxcare are included in
Linux releases based on technical merit alone.