You are currently on IBM Systems Media’s archival website. Click here to view our new website.


Jesse Gorzinski on Yum and Open Source for IBM i

Jesse Gorzinski
Paul Tuohy: Hi everybody and welcome to look at another iTalk with Tuohy. I'm delighted to be a joined today by Jesse Gorzinski―well to be joined again today by Jesse. Jesse is the business architect in charge of open source on IBM i and I think as we all know―well definitely in the last three, four or five years―open source has become one of the major things on IBM i. And just a few months ago there was a fairly at major change, I think it's fair to say, with open source on the platform. It is sort of a major change of direction in the way things get done usually on the system. So Jesse, can you tell us about RPM and yum please? Can you explain all of that to us?
Jesse Gorzinski: Absolutely. I'll try my best―and by the way Paul, thanks for having me here today. So I'll start off just by trying to explain the basics: you know, what is RPMs, what is the yum package manager that we keep talking about? You know if you've been following us on the various social media channels, you know that we've been having fun with puns, as a name like yum gives us plenty of opportunity, right [laughs]? But the short answer is that RPMs or RPM packages are the new way for IBM i that open source packages are getting delivered, right, and this technology it is not new to the greater open-source community. Many Red Hat flavors of Linux have been using these exact same packages to distribute hundred and thousands of packages for years and years and years, right? So we're basically taking that same technology and reusing it to deliver all the latest open source technology now for IBM i. What that allows us to do is not only build open source in a new way, it allows us to get aligned with kind of the rest of the open source community―importantly as well, the IBM AIX teams, right? So we're building technology in a very consistent manner with the rest of the world. We're building it in a consistent manner with AIX, which means, you know, as AIX figures out how to build a package and how to get things talking to each other well, we can benefit from that knowledge and vice versa. Right? We've shared knowledge with the AIX teams as well, so it's been mutually beneficial in that regard. You've probably heard people talk about yum and RPMs and how that really has been making open source take off. And so, Paul, you said this is a really great enhancement. It is one of the most significant things that we've done in the open source space in recent history, right? You know I'm not going to say it's more significant than perhaps the PHP delivery you know 12 years ago or so, but you know―because PHP was absolutely huge. PHP was one of the best things for sure to happen to the platform. This is definitely another really significant delivery and part of that is because it allows us to build things in an automated fashion, and it allows us to deliver a lot more technology, right? So yeah, those who follow me on Twitter saw me tweet out a few weeks ago, you know: delivering 11 options into our 5733 OPS product was cute. You know that's exactly how I think it was. It was cute. It was like oh, isn't that special, you know? Because now depending on how you count, we're at about 200 open source packages that we've delivered, and so we're able to do so much more. We also have all of the tool chain―
Paul: Sorry, Jesse. Just to interrupt you there for a second. Because we were―I think maybe some of the people listening here aren't quite maybe up to speed with what this was. So just to clarify, what this is―this is the replacement of the old, what was the OPS feature?
Jesse: 57330 OPS yeah, exactly and thanks for―
Paul: So―
Jesse: Backing me up there.
Paul: Okay so just I'm clear on this, Jesse, and this is something that I―sorry, serious question, right? I don't know the answer to this [laughs]. So is it a thing that I can now remove that OPS feature off my system, that I could effectively―just if I had it there―say, "I don't need that anymore," and just install all of the open source stuff directly using RPM and yum?
Jesse: Yeah, absolutely. The first thing to know is that they can live side by side without any issue. The reason for that is quite simple―just because 5733 OPS and the RPM installed things live in different―different spots on the filesystem. And so you can actually―you can install them side by side as you evaluate the new RPM based deliverables. If you don't have any code that's explicitly looking for the old OPS stuff, absolutely go ahead remove OPS, right? Another point worth clarifying is that OPS isn't a requisite. That's been a common misunderstanding as well. People think they must need OPS installed to get this yum package manager, which they can use to install all this open source software. Of course just to clarify, that's not the case at all. Definitely if you're just now getting started in open source, don't bother with OPS. Just go straight to RPMs and yum. 
Paul: Okay, so when you say go directly to RPM and yum, where do I go? I mean is this―do I do start up a Q shell and starting typing in lovely UNIX/Linux commands or where do I go to do it?
Jesse: Paul, you know my trigger word [laughs]. Nothing makes me angrier in shorter order than the word Q shell.
Paul: Yeah, I know. Okay I'm using my SSH terminal and ACS.
Jesse: I want to drop the phone and throw tables around now or something. So you're leading me into that one, but definitely the recommended way to go to start running any of these new commands, any of this open source stuff, is through a SSH terminal, right? And so we've had the SC1 product on IBM i for a very long time. It will continue to be on IBM i for a long time I expect. You just do a start TCP server command and then you can connect with your favorite SSH client, right? And there's numerous available these days, you can even get the one that is embedded in the Chrome browser if you'd like. A lot people like Puppy, but that's where you go to get started. And Paul is presumably going to put a link up on this interview when it is published?
Paul: Yes.
Jesse: To the IBM i RPM site as well, which hopefully has enough bread crumbs there to get anybody started with the technology and using it. So you should be able to go from "I've never done any open source before" to "hey I at least have, you know, a classic Hello World application running in Node.js or Python in relatively short order.
Paul: Yeah. So correct me if I'm wrong then, Jesse: sort of they―was the major reason for doing this more to bring open source―well in line with the way that open source works on other platforms?
Jesse: Yeah, that was definitely a huge part of it, but the big motivating factor was even more basic than that, in my view. Right? I mean we had OPS since 2014. OPS was really IBM's first big endeavor into the whole "we want to do open source. We want to do it big time and we want to do it ourselves," right? And you know, my main goal is that I really wanted to make open source easy enough so that anybody could get started with it. OPS never quite accomplished, that in my opinion. Not because OPS was inherently flawed, but just the way we stacked up the 11 options. We had a lot of actual dependencies between the options, and PTS couldn't handle those well. You know―for instance if you wanted to use option 6, you actually had to have option 7 installed. And if you―you know for a while if you wanted to use option 2, which is Python, you had to have option 1 installed. It ended up being quite a mess, but really it was all about the user experience. OPS was good in the sense that yes, stuff is just delivered with a licensed product and PTFs, but it never quite made it easy enough, right? A couple of years ago we actually had a very small―we had kind of a beta program that we did with one of our partners in yum and RPM, I think two or three years ago, that had very low adoption rates. And the reason for that is because it wasn't easy then, either, because that was basically AIX RPMs with an AIX yum, and you still had to be a little bit of an open source geek, maybe even a little bit of a PASE geek, to understand, you know, which of these 500 warnings you can just ignore and things like that, right? Because it was, it was just messy because it wasn't IBM i software, it was AIX software. And so part of making it easy meant that we had to do IBM i software, right? We had to build all this stuff on IBM i for IBM i. That's what we're getting today, right, is anybody in five minutes can have open source loaded onto their machine at least and can start doing some simple, basic tasks.
Paul: Cool. So when you say anyone can have it loaded then, I mean―should I have security concerns here, Jesse? I mean is it―
Jesse: You should always have security concerns, Paul.
Paul: Yeah but I mean if I put it like this: Okay on IBM i, at the moment if I'm just a programmer and I want to install OPS, I've got to go and talk to somebody about it because I don't have authority to do that. Is it now a case that I can―
Jesse: Right.
Paul: Just like fire up my SSH terminal and install?
Jesse: Great question, and the short answer is no. In fact to use this yum package manager, we explicitly check for all object authority to do any RPM installs. You know it's file system based permissions that are typically restrictive enough, which means you need all object authority to do anything. And so in that sense we're not here to change the narrative, right? We're not here to say "hey, any developer now can just go yum install whatever they want." Wild Wild West, right? Of course if all your developers have all object authority, then sur,e they can, right? But we're still keeping that separation of duties present much like it is today where you're going to have a developer saying, "hey, system admin dude: I need open source package X installed." And system admin dude can go use the yum package manager to say go install package X. Right? Now of course we have this new UI that is built into ACS that makes it even easier, so the admin doesn't have to understand yum, doesn't have to know what yum is. All he needs to know is that he launches a tool in ACS, can choose the package of interest, and say install.
Paul: Right.
Jesse: Right. Again, that's all lined up. The main reason we're doing all of this is really for that user experience to make it easy. So admins, like I said, admins can know nothing about the Linux world, the UNIX world, and a developer can say "yeah, I need Node.js 8 installed," and they would have success. It would only take them a couple of minutes.
Paul: Cool. The other thing with this Jesse then that strikes me is―is this going to be―okay well the way it was with OPS, well what I could do with open source is what IBM provided me. So I would have like, well there's my node. You know, there's my Python. There's whatever. Does this open up the potential that―let's say the great new oogie woogie woogie stuff that's out there on Linux, that if I wanted to try and do a port of that myself without any help from IBM, that I wanted to try to do a port of one of these open source things that are out there, that I would now have a mechanism for at least attempting that? Or is it still―
Jesse: Yeah, you-
Paul: As restrictive as it was with OPS?
Jesse: No, that's exactly right. That's another major reason that we got away from PTFs, because I always―you know when I'm at conferences and presenting this topic or something, I always kind of ask people, you know, "realistically speaking who builds PTFs?" Right, and just like they say it's IBM. Right? We have a few partners that do it, but in the grand scheme of things PTFs come from IBM. As you're alluding to, anybody now who has an interest in building open source technology on IBM i. or even their own PASE programs on IBM i, can do it because we delivered not only the compliers but all of the stuff around the compilers that open source projects need to build, right? And so we can't claim 100 percent―you know, we can't claim that any open source project out there, you can just download and compile on i, but there's a lot of stuff that could be built now by pretty much anybody. So that could be, like you say, a user with a specific need for an open source package. They would likely have success building it now. It also opens the door perhaps for some of our ISVs to step up into the space and build and deliver more innovation as well. So that will be interesting to see as we move forward, if there any ISVs who take open source seriously enough to step in and deliver more innovation there.
Paul: Yeah, so talking about that―about other people stepping up. So all of this with RPM and yum has been out there for a few months now, Jesse. So I mean, are you getting any feel for the―you know for feedback, what the reaction has been from people?
Jesse: Yeah, it's been surprisingly good. To be frank, I was expecting to be kind of the most hated man of IBM i for a while, right? I expected―
Paul: Oh, you are [laughs].
Jesse: Sys admins everywhere―well maybe so, you know―but I expected sys admins everywhere to have you know a dart board with my picture on it, and I expected everybody to be angry with me for taking away PTFs. There is some curiosity, some trepidation, but you know for the most part anybody who has actually tried this new way of installing open source software has given pretty positive feedback collectively. Of course we've gotten, you know, numerous people giving us comments saying everything should be installed with yum. Why can't I install this with yum or that with yum, right? And perhaps that's a little tongue in cheek and perhaps sometimes it is not, but the people who have been trying this stuff so far have been quite pleased.
Paul: Okay so when you say the people trying this stuff, Jesse, are you talking about open source people, or are you also talking about the traditional ops admin people?
Jesse: Both. Of course the open source people have been screaming for something like yum for at least 3-4 years, right?
Paul: Right.
Jesse: Some have been asking it for, you know, 8-10 years, so yeah, they're really happy. But we are seeing more of these traditional, you know, traditional platform people for lack of another word, getting into this stuff, at least trying and seeing what it's about. Quite honestly I think that new user interface in ACS has helped quite a bit because we can say, you just go up to the tools menu and you choose this open source package management thing, I forget what we call it, and you can go install open source, right? It takes less than five minutes.
Paul: Cool.
Jesse: I think that's really helped, because like I mentioned earlier, you know, people who look at this whole genre of open source software and this whole, just smattering of technology, and they say, "this is all really confusing stuff." Right? But we can put a nice simple UI there and say, "listen, you run this UI. You choose what you want to install. It installs it and you're done." We've been seeing more and more people doing that, people who even before were never able to install OPS, right―or not able to install but never opted to install OPS―are opting now to try this stuff out just because we've made it easy enough for them.
Paul: Yeah, it's true. It is true. By the way it is a very nice interface that in ACS. So definitely for anybody who hasn't tried any of this yet, please go and have a look at it. There is―this is opening up whole new worlds of possibilities. So listen, Jesse, just before we go, when we were chatting earlier, there was a really interesting thing you told me, which is how you tried your best not to have this job [laughs].
Jesse: Yes, so we're going to go back an undisclosed number of years in history to when I was an undergrad student. Right? I went to Michigan Tech, and you know we had one of those good old career fairs where you have all these booths with all these employers wanting to hire these college kids, right? And one of the really happening booths, of course, was IBM―because my college had a lot of techie people: engineers, computer scientists, and IBM was just one of those places everybody wanted to work. At the time, I didn't want to work at IBM. I actually had a strong aversion to working at IBM, and I actually wanted to go work in the auto industry doing some kind of techie work in the auto industry. By the way, I'm really glad that it didn't work out [laughs] but it's, you know, I wanted to move to Detroit. You know I'm just a little happy that I didn't. But the only reason I stood in line for IBM was because they had the best swag, right? They had stuffed animals, they had a Magic 8-Ball except it was blue and it was IBM on it. And you know, so I stand in line―this line of 20, 25 kids and they all walk up, and it's just repeated. They all hand this recruiter their resume, the recruiter says, you know, two seconds of looking, "thank you. We might be contacting you." Put it on the stack, right? Student after student after student. Then I get up, and I'm of course looking at the swag, right, because I'm like I'm just here for the stuffed animals you know, and they look at my resume. They were like "wow, we need to schedule you for an interview [laughs]." I'm there like, "crap," you know. So they scheduled me for an interview the next day. You know I tried my best to blow the interview. I had like the oldest, dirtiest looking pants that I owned. I wore a sweater that was ripped up, you know. One of the questions they asked me was what recreational programming do I do? And I said, "do you mean programming in my spare time?" They were like, yeah, you know, and I said "why would I do that? When it's the weekend, I party." They're just like "oh, okay." Apparently I still failed, because they still very promptly extended a job offer to me, and the reason for that was because I was actually working on the iSeries already for several years at that time so I already had a lot of iSeries skill. You know it wasn't the IBM i yet, so I guess I'm hinting at how long ago this was but―and so I was kind of a gem for them. They extended a job offer and I came to IBM with the intention of coming for a six-month internship and running away, but I fell in love with this place and here I am, still here.
Paul: Oh well. They―
Jesse: I failed to blow the interview.
Paul: Okay well the automotive industry's loss is our gain, Jesse. That’s all I can say.
Jesse: Exactly.
Paul: I think that's a good note to leave it on, so Jesse thanks, for taking the time to talk to us. That's it for this iTalk, everybody. Tune in again in a couple of weeks for the next one. Bye for now.
Jesse: Right. Thank you, Paul.

Paul Tuohy has specialized in application development and training on IBM midrange systems for more than 20 years.

Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.



2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.


Alison Butterill on IBM i 7.2


Brian May on the Modernization Redbooks Publication


Carol Woodbury on IBM i 7.2 Security Enhancements

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
IBMi News Sign Up Today! Past News Letters