Open-Source Integrations Keep IBM i Vital
Open-source technologies have not only helped the platform stay vital, but they’ve also helped to move software development forward, especially in artificial intelligence.
Image by Martin Sati
By Sol Lederman05/01/2019
IBM i has embraced open-source software for over 20 years. Open-source technologies have not only helped the platform stay vital, but they’ve also helped to move software development forward, especially in artificial intelligence (AI) and other data-intensive applications that benefit greatly from the POWER* architecture. With hundreds of open-source packages now available, the ability to simply recompile and run many such packages on IBM i, and with the adoption of the highly popular YUM and RPM package managers, the stage is set for continued extension of the capabilities of the OS.
The Early Days
In 1988, IBM announced OS/400 with the AS/400. (The name would later be changed to IBM i.) The open-source movement was just starting to gain momentum then. IBM saw the importance of that movement and, in 1998, IBM i introduced its first open-source offering: JTOpen, the IBM Toolbox for Java*.
Jesse Gorzinski, business architect for open source on IBM i, notes several subsequent and important releases: Zend PHP Server in 2006, PowerRuby in 2013. Node.js in 2014, and Python in 2015. “2018 was a breakthrough year, when the quantity of packages skyrocketed into the hundreds,” he says. Other deliverables along the way included Net.Data, OpenSSH, OpenSSL and perl.
The explosive growth of the open-source movement and the rapidly growing number of such offerings on IBM i introduced challenges. Steve Will, chief architect for IBM i, explains: “This platform, from the beginning, was conceived of as being a solutions platform. We wanted to create an operating environment that any business solution would want to run on.”
Users were expecting to buy solutions and not have to understand the underlying technology as is often required with open-source software. The handwriting was on the wall that open-source offerings would only increase in number and in importance. The challenges were to facilitate the introduction of open-source packages on IBM i and to make it easy for users to get support with the technology deployment and upkeep.
"This platform, from the beginning, was conceived of as being a solutions platform. We wanted to create an operating environment that any business solution would want to run on."–Steve Will, chief architect for IBM i
Integrating open source into IBM i was critical for a big reason: Open source offered solutions and IBM i was a solutions platform. IBM recognized that while traditional languages like RPG and COBOL were the foundation for many business solutions, they were constrained in how they displayed information.
Will explains that these early languages were designed using a static display model that assumed an 80-by-24-character display. Modern languages don’t have that constraint. We now take it for granted that software can drive desktop, tablet and mobile device displays with ease. Modern software developed on modern languages has allowed us to run programs on many types of displays.
According to Will, a second major driver of open-source software is the movement toward distributed and service-oriented programming. Creating modular programs composed of microservices has become the leading approach for architecting robust, resilient and scalable solutions for major enterprises. While some traditional languages have been enhanced to be able to create services, the newer open languages do so naturally by design.
A third factor Will gives in the decision to embrace open source on IBM i was that “all OSes that grew out of the ’70s and ’80s, including ours, had an aging population of the people who were very skilled with them.” The next generation of developers were all steeped in open source and few of them knew the old languages and platforms. IBM needed to make the younger developers productive. In particular, “IBM needed to integrate the solutions and the people who knew the technologies from the open environment,” Will explains.
Keeping the Platform Vital
Beyond extending capabilities and bringing new developers to the platform, Gorzinski gives another major reason for embracing open source on IBM i: Client priorities are in realms in which open source has relevant solutions. Gorzinski notes that market research for IBM i consistently shows company priorities focus on security, skills, modernization and cost reduction. Open source offers the latest security protocols, the best talent and the most modern technologies at potentially much lower cost. Savings will depend on the complexity of becoming proficient in a particular technology and in the level of support needed to maintain and expand it.
Adopting open-source technologies is viable not only for developing new applications, but open source can increase the value of existing investments. He points out that Db2*, RPG and other workloads can easily be extended by open-source technologies to participate in social media, AI, quantum computing and others.
Many of the open-source technologies that run on IBM i are programming languages and tools that support software development. As previously noted, offerings include JTOpen, Zend PHP Server, PowerRuby, Node.js, Python, perl and others. Having access to a variety of languages opens doors for compiling (or interpreting) a multitude of existing open-source applications from source, modifying them as needed.
The Power of Python
It’s worth singling out the contribution of Python to the AI community. Many of the most popular frameworks for machine learning were developed in Python. These include Scikit-Learn, Pandas and NumPy; all are available for IBM i.
Those investigating or investing in cognitive computing will benefit from running data-intensive AI workloads on IBM i and the scalable POWER* architecture. AI efforts can be further leveraged through use of the open-source deep learning and machine learning tools delivered in IBM PowerAI (ibm.co/2ngVGkb).
The Package Manager Shift
In 2018, IBM introduced the popular Linux* YUM and RPM package managers as its standard way of managing the open-source package ecosystem on IBM i. This approach to installing, managing, and upgrading packages, and querying the package database is a game changer. Managing package dependencies and keeping packages current across feature, bug and security releases can be a daunting task. The package managers automatically identify and install dependencies, and they make it easy to update package releases to stay current.
Open-source developers usually package their software in RPM packages and make them available in well-known repositories. Bringing YUM and RPM to IBM i connects its users to the many offerings in these repositories. It’s become commonplace for IBM i community members to take Linux open-source packages, recompile them from source code and make the new binaries available to others as RPM binary packages. A packaging model in IBM i is available for bringing the community together to speed the adoption of open source, and that’s monumental. This model is well-known to the new generation of programmers; this serves as an additional benefit to the community.
With the recent release of IBM i 7.4, users may wonder what to expect around open source. Gorzinski explains, “In general, open-source innovation isn’t tied to a specific IBM i release. In fact, most packages are available for IBM i 7.2 or newer. With that being said, investment in open-source technologies will continue throughout the lifespan of IBM i 7.4.”
Will notes that upgrading to IBM i 7.4 will ensure that users will have the most current open-source software that IBM releases via its technology refreshes.
While much of the community has embraced open source on IBM i, others identify with the integrated solution-oriented OS that hid the details of its underlying technology from its users. From that perspective, open source can bring technical challenges. For many users, community support is the first place they go to for help solving problems, for bug fixes and for software enhancements.
Open source on IBM i has truly evolved since JTOpen was made available more than 20 years ago. No one knows what the platform will look like in 2039, but there’s no doubt that the people who participate in all aspects of open-source software, whether they create it or run their businesses with it, will continue to drive its success to higher levels. The community will lead and the technology solutions will follow. That’s what will keep the IBM i platform vital.
Sol Lederman is a freelance technology writer based in Santa Fe, New Mexico. More →