Open Source Has Never Tasted So Good!
Yum is a complete revamp of how open source is created and delivered on IBM i. It streamlines the process of development, delivery, and installation.
Yes, my blog has been a bit “dry” lately, but the open-source world certainly hasn’t been! In fact, we recently released one of the most significant enhancements to date. While I’ve spent the last few months speaking at conferences, user groups and briefings, my favorite topic of discussion has been this momentous delivery. And, at the POWERUp18 conference (formerly known as the COMMON Annual Meeting), I had the privilege of announcing it as generally available.
What’s making open source so delicious? Yum!
What is Yum? Why Should I Care?
Simply put, yum is a complete revamp of how open source is created and delivered on IBM i. It streamlines the process of development, delivery, and installation. For my readers, I’d like to review the top three reasons why this is important to IBM i clients (this is a review for those who have attended my sessions in the last couple months or read my interview with mcpressonline.com).
- More technology is available than ever before. Since late 2014, IBM development teams have delivered about 37 open-source packages in the 5733-OPS product. With yum, we’re at about 175, and we’re far from done! This is primarily because we’ve been able to leverage continuous integration and continuous delivery solutions that were unthinkable with PTFs. We’ve also been working more closely with various open source communities as well as AIX teams.
- The management of open-source software has become streamlined and simple. Many administrative tasks can be done with a single command. Rather than spending an hour (or an afternoon) researching and applying updates, an admin can invest mere minutes to ensure the system is up-to-date.
- We’re enabling more people to grow the ecosystem. With PTFs, IBM is, for all practical purposes, the only entity who could deliver new software (with a few exceptions, like our friends at RogueWave). So, we were stuck in a proprietary software delivery model. That is, we’d create and ship new stuff; clients would then use the new stuff, give us feedback, and request more stuff. We’d either deliver the requested technology (happy client) or we wouldn’t. In the cases where we didn’t fulfill a request, that was the end of the story. But not any longer. Now, anybody who wants to build and distribute open-source software can do so! Looking ahead, I expect to see numerous individuals, business partners, and ISVs driving a lot of growth.
No, Really, What is Yum?
Let’s also discuss the real technology behind yum. I mentioned that open source is no longer packaged in the form of a PTF. Instead, it is packaged in a format commonplace in the Linux world. The community behind Red Hat, a flavor of Linux, created a tool called the Red Hat Package Manager, or RPM, to govern software installation. The software bundles themselves also became known as “RPM packages” (often shortened to just RPMs).
Today, the latest open-source software for IBM i is delivered as RPM packages. This means we’re aligned with a large slice of the Linux and AIX communities. A single RPM package might have something as small as an API library or as large as a language runtime. Often, an RPM package relies on other RPM packages. For instance, Node.js would rely on SSL, cryptography, and C++ runtime APIs, as well as Python, which is used by the Node Package Manager (NPM) tool.
Yum is a package manager built on top of RPM technology. It provides a layer of usability and simplicity that the RedHat Package Manager itself doesn’t provide. An example would be resolving those dependencies I just discussed. E.g., when I ask yum to install Node.js, it automatically installs the language runtime and all the “stuff” it needs. Similarly, if I were to remove a package, it removes anything that depends on it (after verifying, of course). Yum can also interrogate files shipped by a package, search for a package or even upgrade all installed packages with a single command!
So, we’ve finally answered the question! Yum is really just a command—albeit a very useful one. From a shell environment (such as an SSH terminal), one can use the “yum” command (/QOpenSys/pkgs/bin/yum) to do common administrative tasks. Some examples:
- yum install <package> (installs a package)
- yum upgrade <package> (upgrades a package)
- yum upgrade (upgrade all packages)
- yum list updates (list available updates)
- yum provides /QOpenSys/pkgs/bin/locate (see which package provides the ‘locate’ command)
Getting Started with “Yum”
You can find all the information on how to get started at our open-source documentation repository on bitbucket.org. You’ll find it’s relatively easy to get started. One way is to just run a few SQL statements.
The latest release of Access Client Solutions (ACS) also includes a yum-powered graphical user interface. You can find it in the “Tools” menu. Don’t have any open source installed? No problem! Getting started from ACS is effortless. The first time you connect to a system that doesn’t have yum installed, you will get to the following question:
Go ahead and click “yes,” go for a quick walk around the office, and you’re done! It takes only about 5-10 minutes, depending on your connection speeds. Once complete, you can do basic yum-based tasks from within ACS. For instance, the following screenshot demonstrates how to install the “findutils” package. Just click the “Install” button from the “Available packages” tab.
The findutils package, by the way, ships a couple awesome tools for discovering what’s in your filesystem (a future blog post will surely discuss them!).
To help you along, we also have a brief (but superb) support document to guide you through the process of using ACS. You can be using the latest open source in a matter of minutes!
What about 5733-OPS?
As I’ve talked to people about this new yum-based delivery mechanism, “What about 5733-OPS?” has been a common question. As one might expect, the licensed program is no longer the “recommended” route for getting started with open source. Also worth noting: 5733-OPS isn’t needed to get started with yum and the numerous RPM packages available. While IBM has not made an official announcement about an end of life, it’s easy to see that yum is a more strategic choice.
Open source has been bringing a lot of value to IBM i clients. Among other things, it has fundamentally changed the capabilities of the platform. The case study on JORI, a luxury furniture merchant, is a great example of this. They’re doing advanced three-dimensional modeling, thanks to the power of open source!
This is truly an exciting time for IBM i! Surely, as more open source is delivered, the IBM i platform will become even more powerful. That’s why yum is a big deal. It will allow more growth in the IBM i ecosystem than we’ve ever seen. I don’t know about you, but that sure makes MY mouth water!
About the author
Jesse Gorzinski is the business architect of open source technologies.
See more by Jesse Gorzinski