The Growing Ecosystem of Open-Source Software for IBM Z and LinuxONE
The use of Linux and open-source technologies along with open-source development tools and languages have helped the ecosystem of open-source software for IBM Z and LinuxONE grow.
By Javier Perez08/10/2020
When we talk about commonalities, there is one that is not very well known related to mainframes—open-source software. Did you know that open-source software for mainframes existed as far back as 1955? SHARE Inc, a volunteer-run user group, was founded in 1955 to share technical information related to mainframe software. They created an open SHARE library with available source code and undertook distributed development.
All About Open-Source SoftwareOpen-source software has a long history and is more popular today than ever. The popularity of open-source software originated in good part as a result of years of cultural change from sharing libraries across all programming languages. Innovating and sharing software with reusable functionality has become a common practice led by open-source communities and some of the largest organizations in the world. Another factor is that all the latest technologies are being developed in the open: AI, machine learning, blockchain, virtual reality, autonomous cars, etc. Some companies open most of their software; that includes successful global organizations such as Tesla and Netflix, among others.
As mentioned earlier, open source is not new to mainframes, and one more example is the use of Linux for more than 20 years. In 1999, IBM published a collection of patches and additions to the Linux kernel to start the use of Linux in IBM Z®. Then, in 2000, more features were added to the mainframes, including the Integrated Facility for Linux (IFL), which hosts Linux with or without hypervisors for virtual machines (VMs) inside the mainframe.
The use of Linux on Z over the course of 20 years has opened the doors to a vast ecosystem of open-source software for mainframes.
Linux and IBMOver the last 20+ years, IBM has committed significant resources to Linux. In 2000, IBM announced a $1 billion investment to make Linux a key part of the company strategy, establishing IBM as a champion for contributions to the Linux kernel and subsystems.
One of IBM’s key contributions to Linux has always been the enhancements to take advantage of the unique capabilities of the mainframe. Today, IBM Z and LinuxONE run a much-improved open-source Linux that allows amazing technology for security, scalability, reliability, compression and performance.
All commercial and open-source Linux distributions are available for IBM Z and LinuxONE: Red Hat® Enterprise Linux, SUSE Linux Enterprise Server, Ubuntu, Fedora, Debian, Open SUSE, Alpine and ClefOS. For a visual of the growing IBM Z and LinuxONE open-source ecosystem, see Figure 1.
Open-Source Software for S390xIn line with its commitment to Linux, IBM contributes to many open-source projects. In fact, together with Red Hat, which is part of IBM now, it has the largest number of active open-source contributors in the world, an amazing feat.
Committed to the goal of continuing to develop the open-source software ecosystem for IBM Z and LinuxONE, IBM has teams of full-time developers that contribute upstream back to open source communities. This has resulted in thousands of IBM contributions to the open-source ecosystem.
The processor architecture for IBM Z and LinuxONE is known as s390x. In general terms, all you need is a different compiled Linux distribution on s390x; then, if you want to port exiting software, you have to build or compile it again on IBM Z or LinuxONE.
Open-source communities and IBM upstream developers address technical items specific to s390x, especially when related to existing open-source software for x86 processors that need to be ported and validated on a mainframe (s390x).
Technical Considerations for Porting OSS to s390xFirst, it’s important to note that most software recompiles or builds with minimal to no changes; x86-specific components will cause compilation or runtime errors. In those cases, code needs to be added to make those libraries or components work for s390x.
S390x is the only processor architecture left with big-endian memory allocation. The big-endian scheme stores the most significant byte (MSB) first, while the little-endian scheme available in ARM and x86 processors stores the least significant byte (LSB) first. What this means is that if the software is doing low-level memory allocation in a little-endian scheme, the code needs to be adjusted to big-endian so the application can continue to work properly in the mainframe.
The same considerations apply to library dependencies (transitive libraries) in which functionality specific to other processor architectures needs to change to work on s390x.
Every tool, script and piece of software is different, but for the most part, the previous technical considerations apply, and in many cases, no code changes are required—all you have to do is build or compile the software again.
Growing the Open-Source EcosystemThere you have it; coding and building open-source software are basically the same on any platform. The use of Linux and re-use of open-source technologies together with commonly used open-source development tools and languages have helped the ecosystem of open-source software for IBM Z and LinuxONE grow. Open source on IBM z/OS® is a topic for another article.
We invite you to participate. We have a growing community, and there are resources available for you to try in the IBM LinuxONE Community Cloud. Developers and enterprises will be delighted to work with superior hardware capabilities in a familiar open-source environment.
Javier Perez is the open source program leader for IBM Z and LinuxONE at IBM.