Open Source Is the Future, So Where Does IBM i Fit In?
December 12, 2018 Alex Woodie
The IBM i server reached a milestone this year when it turned 30 years old, an amazing feat for a remarkable system that continues to provide computational value to tens of thousands of organizations around the world. But another birthday was celebrated this year that the IBM i community should take note of: The 20th anniversary of the beginning of the open source movement.
Now, this birthday is a little bit questionable because open source software existed before 1998, of course. But the time is worth marking because an important meeting took place in Palo Alto, California, where the phrase “open source” was deliberately created by a group of industry leaders.
That meeting, which was spurred by the release of the source code to the Netscape Web browser, would set into motion a movement that would change the entire IT industry. The concept of freely sharing the guts of software, rather than treating it as private property, started slowly, but it would eventually build into an insurmountable force.
IBM would play an important role in open source. On the one hand, it was an early backer of the Linux operating system, which competed against Microsoft and its Windows NT server operating system. IBM also had a hand in founding the Eclipse Foundation and the Apache Software Foundation, both of which supported free software. (It would also go on to announce a deal to acquire Red Hat for $34 billion.)
But on the other hand, IBM still had a large investment in proprietary software through its IBM i and mainframe businesses. While it supported the fledgling open source ecosystem that was building up around the Linux operating system, it was also making billions of dollars developing and selling systems built upon proprietary technology.
These worlds mostly didn’t – and still don’t — intersect. On the System z mainframe, it offered specialty processor – the Integrated Facility for Linux – to run Linux workloads affordably (at least relative to normal MIPS pricing), while it supports Little Endian Linux on Power Systems servers. The Power Linux business has been successful for IBM, but in the IBM i community, hardly anybody has bothered to run Linux in separate logical partitions (LPARs) on IBM i servers. Windows is still more popular than Linux in IBM i shops.
As the open source movement grew, the whole thing expanded in scope. Linux would eventually overtake Windows as the world’s number one operating system, and in doing so, operating systems became less visible and just less important. The operating system became just another part of the platform, like databases, Web servers, and application servers, and system makers stopped trying so hard to differentiate themselves from the competition due to the capabilities of the operating system.
At some point, the open source software grew so ubiquitous that it became just another acronym. Developers who liked open source tools stopped worrying about what operating system their software would run on, since it was just assumed it would run on the LAMP (Linux, Apache, MySQL, and PHP/Perl/Python) stack. Microsoft would remain a holdout with its .NET stack, based on the Visual Studio and related Microsoft Windows Server/SQL Server/IIS products, and a similar dynamic would play out with IBM’s Rational tools.
By 2007, the pieces were in place for the next great leap forward for developers. That year marked three very important events in the history of IT: the rise of open distributed platforms, like Apache Hadoop and NoSQL databases; the beginning of standardized mobile development with the launch of the Apple iPhone; and the start of public cloud computing with the launch of Amazon Web Services. (AWS actually launched in 2006, and NoSQL databases actually started popping up before then, but it’s still quite remarkable that these events all happened coincidentally within a short period of time.)
These three events kicked off a second dot-com boom that is still reverberating through Silicon Valley and the world at large. We saw how frameworks like Apache Spark could simplify processing of large amounts of data, how new virtualization projects like Apache Mesos simplify cluster management, how new toolkits like Akka can simplify construction of distribute applications, how scalable NoSQL databases like Apache Cassandra and MongoDB could turbo-charge developer productivity, and how new stream processing frameworks like Apache Kafka could provide a new logical substrate for real-time computing.
Together, these products make up the SMACK stack, which some see overtaking the LAMP stack for building large, distributed, and real-time applications. Users can swap out individual components as they like – for example, Kubernetes seems to be beating Mesos for container orchestration.
That one or more projects is “winning” or “losing” in the market at any one point in time isn’t important. What is important here is that all of these technologies are open source, and all will eventually give rise to something else that’s faster and better and easier to use down the road.
It would be a colossal understatement to say that there’s an abundance of open source technologies available to developers at the moment. If open source was a cup, it would not just be overflowing – it would be gushing like a fire hydrant, possibly flooding the basement.
The IBM i world is benefitting from all this open source abundance. While the IBM i server is by no means the center of the conversation, there is enough new open source technology coming to the platform – starting with PHP and MySQL a decade ago and now continuing with Python and Node.js – to keep things interesting.
2018 has been a great year for open source on IBM i, and Jesse Gorzinski, IBM’s business architect for open source software on IBM i, deserves a lot of the credit (even if he won’t accept it). Arguably the biggest news was the delivery of Yum and RPM earlier this year, which will dramatically simplify how IBM i users obtain open source software, and replace the confusing 5733-OPS method.
The folks who run the IBM i business want to keep the flow of open source software running. Customers are demanding it, and the cost to incorporate it into the platform is relatively low. Currently, practically all new open source products are brought to IBM i via PASE, the AIX runtime that debuted so many years ago, primarily as a way to bring software applications to the platform. (Who knew that it would end up being mostly middleware and programming languages arriving via PASE?)
The pace of innovation around open source is likely to pick up in the year to come (we could even see the language Go coming to IBM i). As open source dominates more of the conversation in the wider IT world, it inevitably trickles down to IBM i, where users tend to be a bit more conservative as far as their technology adoption is concerned. The reluctance to use open source because it was written by amateurs or represents a legal risk is melting away.
However, there are other headwinds facing open source adoption on IBM i. Because most open source runs in PASE, IBM i admins don’t manage it the same way. Some users have complained of a lack of visibility into how PASE-based applications run on the platform, which raises the probability of performance problems.
That is one reason why some IBM i community members have espoused a movement back to native ILE programs. The nature of open source has to do with the license, not the technology, they argue, so there’s no reason why native ILE programs can’t be just as successful on the platform as the ones designed for Linux that end up running under PASE.
It doesn’t appear likely that IBM will take its foot off the PASE pedal. While the quality may not be as high, the large number of applications that IBM can expose to the IBM i community via PASE outweighs any downside, the company says.
There’s no reason why both approaches can’t co-exist. IBM can bring machine learning tools like Scikit-Learn and Numpy to the platform via PASE, while others in the IBM i community can develop native open source software, including an ERP package. There will be tradeoffs in performance and usability, of course, but having choices is part of the joy of having a healthy, robust community – and there’s even a place for proprietary software too.
In the end, the momentum behind the open source software movement is just too great to ignore. Where IBM i sits in 2028, when it celebrates its 40th birthday, will largely depend on how welcoming IBM and the IBM i community are to open source software and modern software development methodologies. The future literally depends on it.