IBM i Open Source Roadmap Finds Perl
October 17, 2016 Dan Burger
Support for open source development on IBM i has been a big deal for the Technology Refresh program. Just last week, with the latest TR announcement, support for Perl was added along with support for the current version of Node.js, which is v6. In previous TRs, we have seen support for programming languages like Ruby and Python, plus tools such as the GNU Compiler Collection and Git. The PHP language, the Eclipse integrated development environment, and the Apache web server are pre-TR open source advancements.
Compared to Node.js, Python, Ruby, and PHP, there’s not much happening in terms of new application development in Perl. It was once one of the big three–Perl, Python, and PHP–recalled consultant Alan Seiden, after I emailed him to discuss open source support on i. Seiden, a PHP subject matter expert, was quick to note PHP originally was a macro language over Perl scripts in the days before PHP was rewritten in C. Perl scripts are under the covers for a ton of open source software.
Perl remains immensely popular, with an important role to play in open source. It just seems more likely that Perl support on IBM i will be an avenue for Perl developers to become familiar with IBM i rather than a spark leading to IBM i developers using Perl.
Perl does offer a great many useful tools that have been built by a strong developer community. The Comprehensive Perl Archive Network (CPAN) lists 173,615 open source Perl modules ready to download and use. Its capability as a shell-script enhancement or replacement is worthy to note, as is its part in the build environment of open source projects such as OpenSSL.
“Perl is used by many open-source projects as a lowest common denominator scripting language,” says Kevin Adler, an IBM software engineer and one of the speakers at the IBM i Open Source Forum hosted by COMMON in December 2015. “Tools like autoconf/automake are essentially just large Perl scripts and Git has many interactive features that require Perl.”
Git is open source version control software that’s also supported on IBM i. That’s good because Git is hugely popular.
Pete Helgren, who was also a speaker at the IBM i Open Source Forum, hasn’t used Perl but he believes that more tools in the toolbox is a very good thing for IBM i and IBM i developers.
“Each added open source software (OSS) product makes a great platform even more useful and integrated. Yeah, you could say that IBM i is playing catch up with more pedestrian OSes–like Apple iOS, Microsoft Windows, and Linux–but at a time when OS consolidation and ease of management has people looking for simpler solutions like the cloud, there are those of us who don’t like the insecurity and outage possibility of the cloud. We want to ‘eat our own dog food.’ IBM i is bringing more and more OSS cross-platform tools to a single platform and I, for one, like that current reality and future promise.”
Tim Rowe, business architect for application development on IBM i, described Perl as “a key component–the next logical piece–to help the open source developer on IBM i be able to do things in a more natural fashion–building the entire ecosystem so that open source on i works like open source everywhere else. Open source continues to be a key focus area for us in the development lab as well as for many in our IBM i community.”
The IBM i development team has been investing in open source for about 15 years. But during the past couple of years it’s picked up momentum with rapid enhancements delivered via the TR program. The open source ecosystem has been under construction in preparation for, what some predict as, future IT domination.
In other words, expect more open source pieces to be delivered in future TRs. In his overview of IBM i 7.3 TR1 and i 7.2 TR5, Rowe mentioned other logical pieces that we might expect, such as curl (used in command lines or scripts to transfer data), compression tools like PeaZip, and security tools.
Open source evangelist Aaron Bartell, another of the Open Source Forum speakers along with Helgren and Adler, points out there’s a strong community supporting Perl. Community support is a huge factor, as we in the IBM i community know.
“Languages live and die by their communities,” Bartell says.
“Will Perl be used as the foundation for new applications on IBM i? I’m guessing no; or at least not in high volume. More likely it will be used as a utility language for admin, utility, and automation,” he predicts.
“As far as IBM i community putting Perl to use, I’m not sure,” Alder, the IBM software engineer says. “We already provide Node.js and Python as well as BASH (an open source interface that reads typed commands, runs them, and returns the output), so scripting is covered pretty well. I suspect that most IBM i RPG developers will find Python much easier to pick up than Perl.”
“With that said, having a rich language ecosystem on IBM i is a very good thing. It brings parity to our platform,” Bartell added.
“We are seeing a lot more interest in the open source space,” Rowe told IT Jungle in an interview a year ago. “Companies are looking at creating different components of applications under some of these technologies. What’s being put into production, however, is hard to tell.
“Since Node.js was delivered more than a year ago, I’ve had all sorts of developers in the IBM i community asking questions about when can we get more components. And attendance at sessions during conferences is up.”
Perl support, which becomes available November 11, is available with IBM i 7.1, 7.2 and 7.3.