A distribution is a collection of various development projects (most of them are under constant development) that work together. Distributors select the packages with the versions that provide the right levels of new functionality, while at the same time assuring a level of stability, reliability, and maintainability. This must be achieved for the software packages of the individual projects and also for them working together. For some packages for example, for the so-called core packages of the GNU development and buildenvironment this is especially important.
A distribution includes applications with the operating-system packages. Among the most popular applications are Web-serving applications (such as Apache) and file and print serving applications (such as Samba). A lot of solutions can be built directly from the Open Source applications that come with the distribution. The distribution also contains installation scripts, configuration files, system administration tools, and documentation. Distributions often provide maintenance and support for the products they include, education, and sometimes certification.
Some distributions exist for very specific solutions. For Linux running on personal computer (PC) based systems, for example, there are distributions that focus on firewall solutions, while others focus on mail-serving, Web serving, or other solutions.
It is possible to create your own Linux by going to the Open Source projects and selecting what you want. However, building your own operating system is not a trivial task. When building your own Linux system, you pay with the work you put in, whereas a commercial distribution has a monetary cost. The cost covers, for example, the packaging, documentation, and testing which the distributor has done. Distributions often offer service and support.
1.3.1 Choosing a distribution
What criteria should you use when selecting a distribution? The answer depends on your situation. However, there are generally two ways to arrive at it: You can do an internal study or get consultant services.
Criteria to consider when choosing a Linux distribution are:
Distributions that are available for Linux on the mainframe at the time of this writing include Red Hat, SuSE, and Turbolinux.
1.3.2 The role of a distributor
Distributors usually play an active part in Open Source development projects. The major distributors employ Open Source developers. For example, a distributor may employ compiler developers and developers working on the kernel.
Distributors actively drive some Linux development (for example, the compiler), depending on their business needs or the platforms they want to support. Distributors also support special projects where they see value for their customers (for example, a journaling file system). They run stress tests and actively search for security holes. They compile documentation and simplify installation. They provide support for their distribution and offer services and education.
Actively participating in Open Source projects means that distributors are giving something back to the community. In this way, everyone benefits from their work.
1.3.3 What about maintenance and support?
How do you plan to maintain an Open Source operating system like Linux? Are your employees going to do it? Are you getting a contract? To whom you turn for maintenance can depend on whether the system is for test or production purposes.
Maintenance from the Open Source community
Using Open Source software gives you options in the way the software is maintained. Normally, the provider of the software offers some level of maintenance. If not, you always have the choice (apart from looking for other software) of either maintaining it yourself or subcontracting the work to another company. The source is available for you to work with.
While chances are good that a request for a repair job to the Open Source community will get you a quick answer, there is no guarantee that anybody in the Open Source world will treat you as a 24-hour priority customer. If your business requires quick responses to maintenance requests, you may want a maintenance contract. Distributors normally offer maintenance and support for their distributions.
Maintenance from a subcontractor
If you are getting a contract, consider that you may have to recompile the Linux kernel in order to include needed functionality. This must be allowed under the terms of your maintenance contract. We will discuss maintenance and support in Chapter 16, "System Administrator Tasks."