Developers today are under great pressure to create apps faster than ever before, and they must continuously update them, adding new features and incorporating new technologies. Many companies have adopted DevOps, cloud-native architectures, and low-code development solutions to accelerate the development and updating cycle. But another critical aspect to modern application development has been to take advantage of the numerous benefits of using open-source software.
The advantages of open-source software include fast cycles (compared to many commercial applications) for new versions, more responsiveness to add user-requested features, frequent updates to accommodate new technologies, and a large developer base that brings varied and diverse approaches to solving problems. Then there are the business benefits. Open-source software is often lower cost, more flexible (less chance of vendor lock-in), and more transparent than commercial offerings. Additionally, open-source software perfectly complements today’s cloud-native applications that bring loosely coupled components together as an alternative to the monolithic applications of old.
Such benefits have driven up the use of open-source software in enterprises, particularly over the last several years. A number of past studies highlighted the wide-scale and growing use of open-source software. One study found that essentially all (99 percent) of the codebases examined contained at least one open-source component, with open source comprising 70 percent of the code overall. And in another survey released last year, 75 percent of enterprises said open-source software was very or extremely important. And 77 percent of companies in the same survey said they planned to ramp up their use of open software over the next 12 months.
Open source and z/OS
The enthusiasm for open-source software extends into the z/OS application development community for all the same reasons as with general apps. Namely, there is a vast ecosystem of solutions and developers that a company can rely on when developing modern z/OS applications.
In particular, there are a number of z/OS open-source software groups, projects, and efforts to draw from.
To start, there are open-source programming languages and tools like Python, Git, and cURL available that let developers use the power of z/OS systems without learning new skills.
There are groups like the Open Mainframe Project, which aims to be a focal point for deploying and using Linux and Open Source in a mainframe computing environment.
One project from this group is Zowe, which is an open-source framework for the modern z/OS system. Zowe bridges the divide between modern applications and the mainframe, providing easier interoperability and scalability among products and solutions from multiple vendors.
And there are open-source projects like Ansible, an open-source community project for app deployment, configuration management, and orchestration. It is available for z/OS. Ansible allows developers to automate z/OS applications. With Ansible, developers can use existing JCL, REXX, and z/OSMF to automate z/OS-based software. This lets a developer take a common approach to hybrid applications and lets them integrate z/OS into an enterprise automation strategy in a consistent way.
A great advantage of using these open-source z/OS offerings is that developers with widely available skills can create new z/OS apps. That is a major plus these days as the pool of talent that has native z/OS skills is diminishing. Many of the people that came up on mainframes and coding for z/OS are retiring. And many younger developers are learning on the job to program for z/OS.
Enterprise capabilities are still a must
As with many open-source solutions ranging from Linux to Apache webserver to Kubernetes, companies that use them must complement the solutions with additional capabilities to ensure availability, security, and performance.
A do-it-yourself (DIY) approach is certainly possible. But that requires a great amount of time and resources. It also requires skills that a company may not have. Hiring for those skills or getting internal staff trained in these areas also is costly and time-consuming.
The alternative is to partner with a technology provider that brings z/OS expertise, a knowledge of open-source, and the features and people to make the solutions enterprise-ready.