PASE Versus ILE: Which Is Best For Open Source?
October 22, 2018 Alex Woodie
Open source has emerged as a driver of innovation in the past 20 years, and has greatly accelerated technological innovation. The proprietary IBM i platform has also benefited from this trend, thanks in large part to the capability to run Linux applications in the PASE runtime. But some members of the IBM i community are concerned that the fruits of the open source innovation have not tasted quite as sweet as they do on other platforms.
Linux was the original breakout star in open source software, and so it should be no surprise that the vast majority of software developed with the open source method is designed to run on the Linux operating system and associated open source componentry, including the Apache Web Server, MySQL database, and PHP, the so-called LAMP stack (although you can substitute other pieces, like the Postgres and MariaDB databases and languages like Perl, Python, and Node.js to create other clever acronyms).
The IBM i operating system can run Linux applications through PASE, the AIX runtime that IBM brought to OS/400 so many years ago. Getting Linux applications to run on PASE requires that they’re first ported to AIX, which is often not too much work, since Linux is a variant of Unix, just like AIX.
Much of this porting work is done by IBM, which has made it a priority to bring a variety of open source tools, languages, and frameworks to IBM i via PASE (the number of full-bore applications brought to the platform via PASE, for some reason, has been low).
The existence of PASE ultimately has been responsible for sizable waves of open source innovation pouring into the IBM i installed base. PASE is how IBM i is able to run PHP, Python, Git, and Node.JS, and how it can run the MySQL and MariaDB databases. IBM has even taken to running important system software components in PASE, including the Java Virtual Machine (JVM) and VIOS, everybody’s favorite Virtual I/O Server, which controls the flow of data from external SAN arrays to IBM i machines and back.
IBM productized much of this open source software innovation in a licensed program it introduced in 2015 called 5733-OPS. Eventually, the 5733-OPS product grew to 38 options, but IBM i shops found the IBM i-esque delivery method (i.e. PTFs) difficult to manage, especially when it came to using assuring all the dependencies for a successful deployment of open source software are met.
So earlier this year IBM brought about a new delivery method for open source products that relies on the Red Hat Package Manager (RPM) and Yum. The new Yum and RPM approach even lets you download open source componentry from a GUI in Access Client Solutions (ACL). The early feedback on RPM and Yum has been quite positive, leading IBM i Champion Liam Allan to declare that Yum is “probably going to save the operating system.”
Which is all to say that PASE has opened up IBM i to a whole host of open source technologies that ostensibly would likely never have been brought to the platform were it not for PASE. According to Jesse Gorzinski, IBM’s business architect of open source technologies, there are more than 200 packages running on IBM i thanks to PASE. Getting all those software products to run in IBM i’s native Integrated Language Environment (ILE) development and runtime paradigm is just not realistic, he says.
“To put it simply, the technology is just not there in ILE to support the amount of open source that we can do in PASE,” Gorzinski told IT Jungle earlier this year. “We could invest in ILE-based open source. We had iSeries Python that was made by a third-party. That was kind of native. That’s been available for years. We know it can be done. A number of things we shipped in 5733-OPS we were actually able to put in ILE as well. But it’s very apparent that PASE is just a much more sustainable place to do this development, to deliver the quantity of things we’re delivering.”
However, the PASE approach has not pleased everybody, most notably those who say PASE-based programs don’t leverage the true benefits that the IBM i platform can provide. One of the most vocal opponents of the PASE approach to open source innovating is Chris Hird, the president of Shield Advanced Solutions and a principle developer of the new open source ERP application that was introduced last week at the Fall COMMON show.
“The fact that everybody is pushing for PASE seems to be off kilter to me because it it’s not using anything that we tell the marketplace the IBM i is good at,” Hird said. “The big strength of IBM i is its integration.”
The new intERPrise ERP package that Hird spearheaded with TEMBO Tech Lab‘s Marinus van Sandwyke was created by taking Synon 2E models behind a successful IBM i-based ERP package and re-generating them as free-form ILE RPG IV code. When paired with a SQL-based database on Db2 for i to enforce referential constraints and native JSON output — all governed within a model-view-controller (MVC) architecture — the ERP package, you could say, is just about as modern as you can get with IBM i.
intERPrise has all the other trappings of a modern open source project – an Apache 2 license and a GitHub code repository – but it’s really the native ILE aspect that Hird hopes will resonate in the minds of IBM i enthusiasts.
It’s good that open source software is coming to IBM i, even if it’s via PASE, Hird says. “But in my view the thing we really need to push with the IBM i its database, and the integration with the IBM language,” he said. “And therefore we started this project.”
The problem with running applications in PASE is that they don’t run like traditional ILE programs run. The programs typically store components in IFS instead of the native IBM i library system, and tracking a PASE’s application setup “is a nightmare,” Hird has said before. What’s more, administrators can’t use familiar tools like WRKACTJOB to see how PASE applications are running, which can lead to potentially serious performance issues.
Hird says he doesn’t expect IBM to promote intERPprise – or any native ILE open source approaches, for that matter – because it could detract from the PASE message.
“They don’t have enough resources to split their attention between native and PASE-based,” he said. “There’s a lot of re-writing being done by IBM for the ports that are going into PASE. But it’s not as easy as we can just link up and go and download a package manager. We have to wait for IBM to do a lot of work up front. And that is taking a long time.”
The tradeoff between ILE and PASE essentially boils down to quantity versus quality. On the one hand, you can have a lot open source packages ported to IBM i via PASE, but the applications won’t run like traditional IBM i applications. On the other side, IBM could put in the time to create native ILE ports of open source applications, which everybody seems to agree would be higher quality from an IBM i point of view, but IBM would only be able to do a few of them.
According to Gorzinski, who we talked to some time ago about this, IBM’s focus will remain on quantity and pumping out as many open source packages via PASE for the foreseeable future.
“In not much time, we got to 200 open source package running in PASE. To do that same thing in ILE and have these same open source package running in ILE would have taken a much greater investment,” he said. “It’s definitely possible, but in our perspective right now, it just doesn’t make sense. We can deliver much more business value leveraging what we have already in PASE because PASE is there to enable open source technology, so that’s what we’re using it for.”
Gorzinski concedes that the administrative experience of PASE-based applications is different than traditional ILE applications. But in his estimation, it’s a price that’s worth paying.
“Absolutely, it does change the dynamics of the platforms, because the stuff that’s running in PASE it’s using a different file system, different semantics, different ways of doing things across the board,” he said. “I think it’s definitely going to change the face of the platform. Its’ going to change the dynamics quite a bit.”