More on Mainframes and Open-Source Tools
Following on from my article looking at the value of open-source software on the mainframe, I thought it would be interesting to see what else was available for mainframers to use.
Open Tools Community
Let’s start with the z/OS Open Tools Community on GitHub. According to their website, z/OS Open Tools provides a package manager for the installation of unsupported open-source tools that run native on z/OS systems. z/OS Open Tools also provides an easy-to-use tool for building these same tools from source code on your z/OS system. Whether you want to use the tools or improve the tools is up to you.
So, what’s available? In addition to Ansible, there’s the GNU Privacy Guard (GnuPG), which is a complete and free implementation of the OpenPGP standard as defined by RFC4880 (also known as PGP). GnuPG allows you to encrypt and sign your data and communications. It features a versatile key management system, along with access modules for all kinds of public key directories. GnuPG, also known as GPG, is a command-line tool with features for easy integration with other applications. A wealth of front-end applications and libraries are available. GnuPG also provides support for S/MIME and Secure Shell (ssh).
In addition, VIM on z/OS is available. VIM is a popular and powerful text editor that is often used by programmers for writing code. While VIM is available on many different platforms, it can also be used on z/OS. It can be downloaded from the VIM Github Release page. Since VIM depends on ncurses, users need to download ncurses and source the .env file.
By default, z/OS uses the Bourne shell (/bin/sh) as the default shell for its z/OS UNIX and OMVS environment. However, Bash is a more powerful and feature-rich shell that offers several advantages over the Bourne shell. Bash, short for “Bourne-Again Shell,” is available from GitHub and can be used as a command-line interface and scripting language.
Finally, GitHub provides Git on z/OS. This is a version of Git that has been adapted to work on z/OS. It allows developers to take advantage of Git’s powerful version control capabilities while addressing the unique challenges of the mainframe environment. With Git on z/OS, developers can manage their code, collaborate with other developers and maintain a clear history of the changes that have been made to the codebase.
Open Mainframe Project
The Open Mainframe Project, which sourced Zowe with IBM, Broadcom and Rocket Software, also offers a number of other projects. For example, there’s Tessia, which is an open-source tool that automates and simplifies the installation, configuration and testing of Linux on Z systems. There’s also GenevaERS, which is a single-pass optimization engine for data extraction and transformation on z/OS.
Projects that are in the process of establishing governance, diversity and sustainability within their communities include Ambitus, which fosters a community that will help educate developers about all open-source technologies on z/OS and Linux on Z.
There’s also CBT Tape, which is an open library of free software distribution for MVS, OS/390 and z/OS operating system environments that continues to evolve to meet today’s modern needs. Interestingly, it contains some code that was published in the old Xephon Update publications.
COBOL Check, they say, is a unit testing framework for COBOL created to help COBOL programmers who have difficulties with contemporary development methods such as test-driven development.
There’s also Feilong, which is an open-source z/VM cloud connector project that accelerates the z/VM adoption, extending its ecosystem and its user experience.
And there’s Galasa, which allows users to test applications at scale on z/OS and other platforms.
Lastly, there’s the Software Discovery Tool, which matches developers with the best open-source software that meets their needs.
Open-Source AI Tools
When it comes to artificial intelligence (AI)—and everyone seems to want to have a go with AI now—there are a number of open-source tools available. TensorFlow is an open-source project that runs on Linux on mainframes. TensorFlow is a software library for machine learning. Using the computational graph concept, TensorFlow represents operations and data flow as nodes and edges. It was developed originally by the Google Brain team. It can be used in a range of programming languages, including Python, JavaScript, C++ and Java. TensorFlow also provides high-level APIs like Keras, which make building and training models easier.
Also popular is PyTorch, which is a machine learning framework based on the Torch library. It was originally developed by Meta, the Facebook people, but is now part of the Linux Foundation umbrella and runs under Linux on mainframes. PyTorch is used for applications such as computer vision and natural language processing. PyTorch provides two high-level features:
- Tensor computing (like NumPy) with strong acceleration using graphics processing units (GPU)
- Deep neural networks built on a tape-based automatic differentiation system
Also of interest is Hugging Face, which is an open-source community that develops tools and resources to build, deploy and train machine learning models. It’s best known for its Transformers library, which is built for natural language processing and emphasis on community collaboration and accessibility. The platform allows users to share machine learning models and datasets and showcase their work.
There are far more examples of great open-source software that run on a mainframe than you might at first have thought. This article barely scratches the surface of what’s available, but at least it’s a starting point. Using open-source software on the mainframe quickly and easily extends the range of technologies available on the mainframe, reduces costs and opens up the mainframe to non-mainframe specialists.