Native Open Source: Why It’s Time for IBM i
April 19, 2017 Alex Woodie
When you think about open source software for IBM i, chances are good you envision PHP applications or Ruby code or even Node.js, all of which were adapted from other platforms to run on IBM i. But there’s a new movement afoot to spur more development of open source software that runs natively on IBM i.
Make no mistake about it: getting PHP, Ruby, Python, Node.js and the others to run on IBM i is a good move by IBM. The work Big Blue has done to bring these technologies to IBM i – much of which is delivered through the 5733 OPS Open Source Technologies offering – shows that it’s not deaf to the cries of the IBM i faithful to help it modernize the platform and make it more relevant to the new generation of coders. After all, few colleges are teaching RPG or COBOL anymore.
But at the same time, there are drawbacks to IBM’s approach that should be reconciled in the open. While getting languages like PHP, Ruby, Python, and Node.js onto the IBM i platform is great, the fact that they run in PASE, the IBM i operating system’s AIX runtime, is problematic.
“If it’s in PASE and you’ve got to dig into IFS and the way they structured the PASE setup and all the rest of it – it’s a nightmare,” says Chris Hird, president of Shield Advanced Solutions, an Ontario-based developer of high availability software for IBM i.
Hird is one of a small but growing number of IBM i professionals who are advocating for the development of open source software that runs natively on IBM i. In other words, they’re looking to promote the use of good old ILE RPG for open source software, as opposed to relying on newer languages to be the conduit toward open source.
While Hird has done his share of open source work in PHP and other “modern” languages, he considers their reliance on PASE to be a burden that gets in the way of productivity of IBM i professionals.
“Stop trying to push PASE,” Hird tells IT Jungle. “Even I struggle with PASE some days. There’s a lot of stuff on my Linux boxes that I do every day, but when I try to do it on AIX it’s just a pain in the neck. Nothing really works well.”
While it is true that IBM has taken a leadership role in building an IBM i open source culture around the new languages – which Hird dubbed “the porting group” in a recent blog post –Hird says there’s no good reason that RPG shouldn’t be used more widely for creating open source software.
“So I said, let’s push native,” Hird says. “Let’s move away from PASE and get people developing in RPG that people can have for free, and let’s see what that does.”
Hird is advocating for a native “ILE group” to counter the PASE-loving porting group and provide a path for the creation of an RPG-based open source community that’s as vibrant as the one being developed around the new languages.
If the idea of open source RPG software sounds odd, you’re not alone. For whatever reason, we’ve been conditioned to consider native RPG code proprietary (or at least tightly managed, but rarely free), while assuming anything written in PHP or Ruby to be free and open source.
But in reality, the particular licensing scheme used to distribute a given piece of software is entirely separate from the software itself. There’s nothing stopping an enterprising developer from distributing an RPG utility under an Apache license – or, god forbid, GPL.
One of the folks in the ILE camp is Carsten Flensburg, who works as an IBM i application development manager for a European vacation rental company. Flensburg recently gave Hird permission to re-distribute his RPG-based APIs that were first published on iPro Developer.
“There’s lots of really good stuff going on in the open source and the ILE camp,” Hird says. “I think we just need to get the word out there and get people interested. Not from the IBM point of view with all these new languages. But from the perspective that it’s native; it’s what you do every day. You don’t have to jump into this porting group to be able to do it. There are other things that you can do and be useful and help IBM i.”
When you consider that most IBM i programmers are working in RPG, there’s a large potential base of people who can be both contributors of open source code, as well as users. Getting into the whole give-and-take of the open source community – getting the buy-in and the commitment, as it were – may take some time, but Hird is convinced it’s the best route forward.
“We try to encourage people to get involved,” Hird says. “Even if it’s just answering questions. We need people who are going to say, ‘Yeah, it’d be nice if it did this or this is a much better way of doing that.'”
I firmly agree with the avocation of Open Source.
We’ve been using ‘open source’ RPGLE for awhile now in our shop.
From cool Date procedures from Raael Victoria-Pereira; to retrieving Procedure Pointers (to allow us to dynamically call ‘soft coded’ Service Program Procedures not bound to the calling program) from Dieter Bender; to CCSID & Base_64 conversions, to natively reading and writing to the IFS (and beyond) from Scott Klement.
There is some cool open source stuff for RPGLE programmers to access.
You might gain better traction with this is you find a different name other than “Native Open Source”. There have been some heated arguments on midrange.com about whether PASE is native. Better to avoid that lightning rod.
Because the IBM i is our ‘system of record’ database it is in the most protected security realm behind the firewalls and DMZ so using open source, HTTP aware MVC frameworks like Node and Rails on the IBM i is verboten.
May a put a good word for the routines available in http://www.easy400.net?
They have a lot of nice routines written in RPGLE, all of them with full source. Some are free, some are not (but at a very low price for the lot).
I have have been using several of their routines (mail, table to .xls conversion, etc) and have found them quite solid and easy to use.
Chris, you’ve stated a number of things I’ve also found to be true, though maybe producing lesser levels of frustration than what I hear in your voice.
And then you said this (shook the hornets nest, you did 🙂
>“Let’s move away from PASE and get people developing in RPG that people can have for free, and let’s see what that does.”
I am scratching my head at this. I could understand “let’s do more RPG open source”, but you’re recommending a departure from PASE which, in my opinion, is the machine’s best chance at survival.
With that said, I’ve resolved to a simple equation for technology selection (including the sunsetting of technology):
1 – Will it meet my business needs/deadlines in the near future?
2 – Will it meet my business needs/deadlines in the long term?
Missed deadlines means losing to competition. I tried to compete for years with open source RPG (via mowyourlawn.com) and we just don’t have enough community to make it happen. Even the incredible surge we’ve recently had with OSSILE doesn’t hold a candle to what we need to succeed. Do you disagree?
Look forward to seeing and chatting with you at COMMON.
Love,
Bacon**
**I’ve alway thought that’s the best way to end an online letter. How can anyone feel bad by loving bacon?
Aaron
The comments are taken from an interview and while they are accurate they are not necessarily within context. I did not mean move and stay away from PASE but rather spend some effort outside of PASE particularly in the ILE.
We have discussed the lack of effort by many who purport to be involved in Open Source yet deliver little to the community, I know you have tried very hard and have given this community a lot which has resulted in nothing other than a feeling of despair. I just don’t want to give up, banging your head against a wall is very frustrating. I could sit back and do nothing, but would I then curse myself for not doing enough?
I have met some incredible individuals who work on this platform (you are one) who are compassionate and work hard to help others. I have also met a lot of detractors who talk a lot and do nothing, my hope is that others with passion come to this party and actually build something that we can all be proud of.
Yes I am frustrated, more by the trolls who simply nit pick yet do nothing to help improve. I wish more had the passion to stand up and do something but only time will tell if that actually happens.
I certainly hope we get the opportunity to chat at COMMON in the spring (not sure if your new position puts you outside of IBM i) at which time I hope that we have garnered a lot more support from the IBM i developer community.
Love,
Pancakes with Maple Syrup.