August 03, 2016
Note to the reader: When he has these little "chats" with himself, Jon often refers to himself as "Jon Boy," so we've used that name to help clarify which Jon is talking at any given time.
Jon: Hi Jon Boy I was hoping I'd have a chance to talk to you.
Jon Boy: Oh? Why's that?
Jon: Well I need to have a chat with you about all this new open source stuff that IBM have been delivering on IBM i in recent months.
Jon Boy: Oh, right. We blogged about that, right?
Jon: Yes but I've got some nagging concerns on the topic. When I first heard about it I was really enthusiastic. It seemed as if at long last we were going to have access to all of the cool tools that the other kids get to play with. But the more I think about it, the less sure I became about the focus of the whole thing.
Jon Boy: Why the doubts? PHP has been a huge hit hasn't it?
Jon: Yes it has, and that's why I was so thrilled when the announcement about Python was made. It is another language that has great visibility in the OS community, with a huge number of libraries of useful tools available. Also, like PHP, Python is a relatively easy language for a RPGer to learn since, although it is Object Oriented, the OO aspects can to a certain extent be ignored. Unlike languages like Java where as a novice you have no choice but to write in an OO style or you will simply create a huge mess.
Jon Boy: So why the concerns?
Jon: Well I still think it's all a good idea, I'm just not convinced that the way IBM are delivering it is going to help it to reach the right audience. Or perhaps I should say I am not sure if IBM really knows which audience that they want to reach.
For the sake of argument, assume that there are fundamentally three different audiences for any new product on IBM i.
- The traditional IBM I audience, that is to say mostly RPG centric, green screen.
- The second is the Young Turks. Younger programmers who grew up on other systems like Linux and Windows but who have since discovered the strengths of IBM i. They are often the ones doing most to modernize their company's applications.
- The third group would be the rest of the world. That is to say those who have yet to be introduced to the joys of IBM i and who currently build applications for other platforms using software like Python, Node.js, etc. The hope of course being that the availability of such tools on the platform will incent them come to recognize the strengths of the IBM i platform and help it grow in the future.
In some respects I guess we could add a fourth group, which would be IBM i ISVs. But for now let's ignore them.
Jon Boy: That seems a reasonable summary. So what's the issue?
Jon: So which of these groups is it IBM are trying to reach with this new stuff? I think that is where i'm getting confused. Some of them? All of them?
Jon Boy: Fair point. Frankly I have no idea. But why does it matter?
Jon: Well, each of these new tools come with their own tools and support systems. And with that comes a whole new set of terminology or "language". In most cases that "language" is a sub dialect of what I usually refer to as Unixese. That in itself is somewhat of a barrier to the first group.
We've already had examples of this in the past with PASE and Qshell. In fact it was thinking of how under utilized those capabilities are that got me into this whole train of thought.
Jon Boy: I must admit I still get a bit confused about what exactly PASE is and how it differs from Qshell. I know there are differences but am never quite sure what they are.
Jon: And you're not alone. Most people who use these things casually seem to think of them as interchangeable. Before I started this conversation I decided I'd go and try and find a definitive definition. I did eventually find a piece written by Scott Klement that is actually probably the best and simplest one I have come across to date.
Basically PASE is AIX on IBM i. And Qshell is a collection of utilities (mostly from the UNIX world) that have been converted and compiled as native PGM objects. But it isn't quite that simple because at one point IBM added the ability to Qshell to run PASE programs.
Simple right? Sadly both environments use the same command prompt and look just the same. At least I've never noticed a difference. If everything worked the same way in both that wouldn't matter - but they don't and that just adds to a lot of people's confusion. Not to mention that Qshell can now run PASE programs ... well, it is hardly surprising that folk get confused.
Jon Boy: And there was me thinking you were going to explain it all for me!
Jon: The "language" used in the documentation has obviously been a barrier for many, many people learning to fully exploit these capabilities. And I see no sign that with the new capabilities that shortcoming has been addressed.
That brings me round to the original question - just who is IBM's target audience for these new open source capabilities?
Jon Boy: I can see your point ... Let’s talk again later about this - and perhaps what could be done to help one or more of these audiences to take advantage of these new options.
Posted August 03, 2016 | Permalink