Open Source On IBM i: Let It Grow
May 15, 2017 Dan Burger
The evaluation of open source software is nowhere near conclusive when it comes to enterprise grade application development. Decisions remain in the exploratory phases. Roadmaps are incomplete. Most are without clear routes to a destination. Some are without destinations. However, it would be wrong to assume roads are not being built.
There is no way that the future of application development – on IBM i or anywhere else – can handle everything that is coming down the pike without open source. That’s not a mandate to jump on a band wagon. It’s an awareness wake-up call. The IBM i community should not be napping.
Several years ago, it became clear to IBM i chief architect Steve Will that open source was a necessary focus area for the growth of IBM i and the IBM i community. PHP and Will arrived at just about the same time. We’ve seen a procession of open source tools supported by IBM i arrive since then – the Apache Web Server, Linux on Power, PHP, Ruby, Perl, Python and Node.js. And that’s not an all-inclusive list. IBM’s attention to open source has not been insignificant. It’s pretty clear that open source is a strategic sparkplug in the IBM i engine.
And an IBM i open source software community is revving up. Support for the strategy in the form of the IBM i OSS LinkedIn group has risen to 854 members.
Last week, during the COMMON Annual Meeting and Expo, Will listened as members of the IBM i open source community pondered the current and future developments at a round table discussion attended by approximately 60 i-advocating folks representing five decades of IT experience. Based on the comments being made, a fair number of these have a working knowledge of open source on IBM i.
To warm up the crowd, Jesse Gorzinski, IBM i architect for open source, revealed another tool for the open source toolbox – the NGINX Web server. If Web servers are on your radar screen, you know the Apache Web server is used by a ton of IBM i shops, whether they consider themselves open source oriented or not. However, NGINX brings to the party a familiar tool from outside the IBM i community, which to some degree introduces i to the wider open source community. Keep in mind this open source thing is a two-way street. The IBM i open source folks are looking out and the wider open source community is looking in. And in this case, it’s the Unix community (where NGINX was born and raised) that might feel more at home using NGINX in an i environment. Aside from that, Gorzinski says it also addresses two common requests from inside the i community: allowing the automated use of letsencrypg.org certificates and deployments from inside of chroot instances in PASE. Chroot is useful for testing and development, dependency control, and for establishing compatibility for libraries and data files that otherwise would have irreconcilable differences.
Pete Helgren, one of the bright young minds in the IBM i open source community, passed along this NGINX versus Apache pro and con comparison article that provides good points. (And, yes, I know that chronologically speaking Helgren’s mind is not as young as some of the other IBM i open source advocates, but a mind doesn’t necessarily age at the same rate as hair, for instance.)
NGINX, like other open source tools, requires a PTF install on IBM i. That led to the most talked about discussion point of the meeting: Why do we need PTF installs?
Gorzinski says support calls for open source products are dominated by questions about obtaining and installing products and IBM is considering a package manager so products could be delivered without the IBM licensed program offering (LPO) known as Open Source for IBM i (5733-OPS).
Packages provide the basic components of an operating system, along with shared libraries, applications, services, and documentation. Gorzinski mentioned two viable candidates for an IBM i package manager: apt and zypper. He acknowledged package management is in the planning stage, and there is no time frame for delivery. Nonetheless, he is recruiting beta sites and early adopters are being sought. Eventually there will be an IBM public (third-party) repository and the open source will be pushing for a new way to build packages and deliver them. It’s not without controversy though.
Confidence in PTF packages is strong. PTFs are an IBM i tenet. They are also sometimes cumbersome and lengthy.
During the discussion of PTF versus package manager delivery, security became an issue as downloading and installing software without system admin approval was debated. Security expert Pat Botz was on high alert during this portion of the discussion, but was not against creating package managers for open source software as long as security isn’t given a back seat. Keep it “simple, bullet-proof and complete” and then go “full speed ahead,” was his advice.
Dependencies that exist on multiple PTFs are a fly in the ointment. One package is dependent on another for some needs and other packages for additional needs. Too much of that kind of thing leads to an exasperation known as dependency hell. Smoothing out these wrinkles are a big reason there won’t be a new package manager delivery system, like those in use for Unix and Linux platforms, anytime soon. “The PTF delivery system is going to be around for a while,” Gorzinski told the crowd.
Aaron Bartell, one of the most vocal and most involved advocates of open source on i, says the introduction of a package manager (i.e., apt or zypper) and the RFE declaration of GCC coming to the machine, are probably the most significant open source announcement we’ve had to date on the machine because they provide a solid foundation for faster open source adoption. (Note: A capability to obtain GCC in 2015 was accomplished from perzl.org. The new RFE involves IBM doing a formal port to IBM i, which IBM will maintain. Bartell describes this as a “big step forward.”)
“The closer we can get to the Linux implementation of these tools, the better off we will be,” Bartell says. “Our growth pattern is not with existing knowledge. It’s with bringing workloads to IBM i. We will cripple it, if we try to IBM i-ize it. If we implement the IBM i approach the ability to find help on line becomes much more limited.”
“Over time the OS has had to adapt to choices between doing things the way they have been done in the past or changing to accommodate new technologies,” Will says. “That’s where we are right now with the open source technologies. I’m aware of how difficult some PTFs can be. What I am listening to is how do you want to grow from where you are to where you want to be in the future. I’m not taking anything off the table in terms of options at this point.”
After the round table, there were some frustrations that more wasn’t accomplished and that sometimes the conversations went off the tracks, but it’s hard to imagine a discussion of disruptive technology be disruption free.
Alex Roytman summed up the feelings of several in attendance saying, “The aspect of the open source roundtable was great. But at the same time, I was hopeful that during the meeting, more concrete plans and actions toward bringing open source to the platform would be discussed. Actions speak louder than words.”
One of the most vocal participants, Chris Hird, commented, “What’s most important is that it’s a community effort. IBM is in there, but they are not going to do everything for us. There’s lots to do and some will fall by the wayside, but we should have enough emphasis to keep this moving.”
Gorzinski described the meeting as “fruitful” and said, “We [IBM] were able to gain insight into perspectives that will help us deliver products, documentation, and education as we move forward. We discussed some of the latest (and future) directions and we were also able to call more people into the volunteerism that makes open source great!”
“I like that IBM listens to the community and responds in kind,” was the take away for Bruce Guetzkow.