Linux on System z will celebrate its tenth anniversary in June 2010. This open source project has come a long way and benefited many. This article explains how open source software development is organized, how IBM contributes System z-specific parts, how customers get this software, and what services are available from IBM. In particular, you’ll learn how Linux on System z is developed and maintained.
The Open Source Model
The term “open source” software means the source code of such projects is publicly available. Everyone interested in an open source project can obtain the full source code. This differs greatly from mainframe software such as z/VM, z/OS, and related application programs developed by IBM and other vendors. In those cases, customers license the respective software product from the vendors, who provide certain guarantees that the software will work as expected by the customer, including service contracts to provide fixes in case something goes wrong. Linux on System z is totally different.
As a typical open source project, Linux isn’t the intellectual property of some company. Customers can’t license Linux on System z directly from IBM, nor from any other vendor. Major parts of Linux haven’t even been developed by IBM but by some other developers, including students, volunteers, and employees working for other companies, including some of IBM’s competitors. There’s little centralized planning for Linux and no authority that would cover the whole set of operating system kernel components, including libraries, tools, and application programs. Linux on System z, however, has proved to be reliable and meets the requirements of security and business-critical applications.
While the code is open source, there are several license conditions that users accept when they work with the source code. With open source licenses:
- Everyone has the right to modify existing source code.
- Everyone must have free access to the full source code when open source software is distributed. This also applies to modified software.
In fact, there have been successful lawsuits forcing companies to make such source code publicly available.
In the open source community, volunteers aren’t financially compensated for their contributions. They usually accept a different kind of informal “payment” ranging from the joy of doing technically demanding work to a public acknowledgment related to making high-quality contributions to a public project.
Coordinating Open Source
With open source projects, there’s usually no planning authority to do status reporting and monitor deadlines, at least not in the traditional way. However, most open source projects have one or several developers acting as so-called maintainers. A maintainer has detailed knowledge of the project and is accepted by the community of open source developers as a project coordinator. Apart from doing major development work, typical jobs of a maintainer include reviewing changes proposed by other developers and deciding on technical issues related to the project.
Mailing lists are important to open source software development and are used for several purposes, including discussion, announcements, problem handling, and software development. Subscribers receive important updates when they join the mailing list. Archives provide access to past messages.