IBM i Open Source Directions
Steve Will discusses the growing importance of open source technologies on the IBM i platform.
Late last year, I asked my followers on Twitter and Facebook what topics I should address early in 2017. I heard several ideas, but the one I heard most is today’s topic: Open Source on IBM i. In fact, when I started the year with a different topic, one of the comments my blog received was another request for the open source topic.
As it happened, when the suggestions were made, I knew that Jesse Gorzinski and I were already scheduled to be interviewed by Dan Burger from IT Jungle on this very topic. I wanted to make sure that article was published first, and then I could supplement it. Well, the article is out there now, and I encourage you to go read it, because while I am about to expand on a couple of the points, there is no reason to re-write what’s already said there.
One of the key elements of the IBM i strategy is our focus on being a “solution platform.” I touched on this in my last blog entry, in which I discussed that the highest priority we have when determining our plan is to address the set of requirements which will help business application developers. It’s been clear for the past few years that open source technologies are going to be integral to many solutions. This, then, has driven the IBM i development team to investigate and invest.
Of course, there are some singular examples of open source technology which have been part of IBM i for much longer than “the past few years.” Years before I became Chief Architect, I worked on the team that brought the open source Apache web server into the operating system to replace the web server, which was initially shipped with the platform. It has become a key component in our solution enablement architecture. And, as an aside, I think Apache was a critical project in the history of open source – both for IBM i and for the general open source marketplace. In the general marketplace, it was one of a few successful open source projects which demonstrated that a complex, evolving technology could be developed with the open source paradigm while still maintaining enough rigor of architecture and design to produce a reliable “product,” which could manage standards and evolve through versions as the requirements advanced. In IBM i, it proved we could work open source licenses into the legal requirements of IBM, it forced us to create processes for incorporating code from outside our development team into our deliverables, and it allowed us to prove we could maintain architectural integrity.
A few years after integrating Apache, we took the next big step, by partnering with Zend (now owned by Rogue Wave) to integrate the open source language PHP into IBM i. It, too, allowed us to create a template for a new way of providing open source technology, and its value is clear. The results of the most recent HelpSystems survey shows a significant number of respondents using PHP as one of the languages used for new development.
Still, above I said “in the past few years” because in that span we’ve certainly seen the number of open source technologies being used by businesses outside of the IBM i community increasing, and it’s been clear to us that it was time to accelerate the adoption of more of those into IBM i. Of course, we had help coming to this realization. As Dan Burger’s article said, the number of IBM i users who want to use open source on IBM i has grown dramatically, and we’ve been hearing from them. These days, the #ibmioss tag gets extensive use on Twitter, and the community of people working on open source projects for IBM i seems to be adding members daily.
To help us prioritize which open source technologies need our attention, we created a new position – the Business Architect (BA) for Open Source – and chose Jesse to fill that role. His primary responsibilities include watching the open source space and identifying technologies that might apply to solutions we expect to live on IBM i. Then he – with the support of many IBMers – recommends how each “interesting” technology should be approached. Do we integrate it ourselves, and if so, how? Do we partner with someone? Do we simply encourage and support the development of the technology in the #ibmioss community?
There are a number of factors in determining the approach we should take with each potential open source technology. The first factor is whether the technology fills a gap in a special way, or if it’s merely another option. Next, we must consider the expected or potential adoption rate of the technology. If some new open source programming language (for example) might be used by 2 percent of our market, it’s unlikely we want to work hard at integrating it the way we integrated PHP. But we still would gain a benefit from its presence on the platform, so we’d probably keep tabs on it, and help the developers & users by answering questions and perhaps making slight enhancements to IBM i to enable it to fit nicely.
Another factor, though, is longevity. Each new technology – whether it’s open source or proprietary – starts out as something new. If you look back on the past 30 years of IT technology – no, let’s even limit that to programming technology – you see that many new entrants into a space are “hot” when they first come out. After a time, some grow into long-lived integral pieces of solutions, some settle into small niches, and some just wither and die.
As you know, though, we plan for IBM i to be around for a long time to come. So we would prefer to integrate only those technologies which are going to last. This is a good goal; we don’t always succeed, but still, we try not to get tied into a technology that will be a “flash in the pan.” So in the open source space, we look for unique value, we look for flexibility of use cases, and we look for applicability to strategic solutions. Open source technologies which fit those three criteria are most likely to last, and thus to get our development and integration focus.
For example, JSON has proven itself to provide value, it is used for many application types, and it fits our strategic intent to remain a premiere data platform. It’s likely to have a good long life, and so we have invested in it, and will likely continue to do so.
As we look at open source technology which has not yet reached IBM i, we’ll look, for example, at cognitive workloads – a clear strategic direction for the industry in general and IBM in particular – and figure out which open source technologies will be used to support those workloads, and which will specifically be used when interacting with transactional data platforms.
So, there is a lot for Jesse and his team to do! It’s an exciting time to be watching this space: seeing new bits and bobs popping up for trial and consumption; watching the community grow and express its opinions; trying to predict the future, while helping to shape it as well. None of us know exactly what the open source technology suite will look like five years from now, but what’s certain is that the IBM i team, together with the IBM i community, will be participating heavily as this emerging source of business value grows more important.