Jesse Gorzinski on Integrating Open Source on IBM i
Paul talks to IBM’s Jesse Gorzinski, Business Architect for Open Source on IBM i, about the new world of Open Source on IBM i, the challenge of integrating Open Source on IBM i, and the wonderful world of peppers!
Paul: Hi everybody and welcome to another iTalk with Tuohy. So this week one of the sort of big hot topics we have on IBM i at the moment is the whole wonderful world of open-source. I'm delighted today to be talking to I think the man who really knows all about open-source on IBM i, Jesse Gorzinski who is the business architect for open-source software on IBM i. So hiya, Jesse.
Jesse: Hi Paul, thank for having me.
Paul: Oh no. Great to have you here. So just before we get into this, I got to ask since I know you're in Rochester at the moment, Jesse. Is it snowing there?
Jesse: It is sleeting right now. We have freezing rain.
Paul: Freezing rain.
Paul: Yeah well, I don't know how to tell this. I'm not impressed. We've had freezing fog here in Dublin the last couple of nights. [Laughs]
Jesse: We had that a couple days ago. Horrible.
Paul: OK Jesse so I mean this whole thing of open-source is sort of hitting … every time I sort of read, open any of the publications, there is always something about open-source in there so if you can bear with me. I'm going to ask you to start the terrible question, which I know has a very long answer, but I'm going to try and ask you for the short answer on this one. Can you just give us in a nutshell what exactly is open-source?
Jesse: Well obviously, you know what? I could fall back to the Wikipedia definition right. I mean any software, tool, runtime where the source is publically available, you can go read it. I mean that is the literal definition of open-source. It is easy to get at but Jesse's take is that open-source really involves just a shift in mindset from maybe what you've had in the past where you are leveraging, you know, IBM as your support line and leveraging some business partner or vendor for all of your solutions. You kind have this shift in mindset to utilize a community that's out there. To me, that is what open-source is really about. You know you have technology that has tens of thousands of guys or hundreds of thousands of guys contributing to it depending on what technology you're using and you really, you know, when you change your mindset again to think that you want to leverage what these masses of people are doing, that is what open-source is all about.
Paul: OK so if I can … so the difference is … so if I've always had a difficulty with open-source but I think I started to realize it's because, well, I've always in some way I think been open sourcing because I mean I've been writing articles for year; I've been like publishing code and putting things out there for people to use so are you saying like really the shift is that the concept of open-source is that there are sort of like repositories out there where people can contribute source and then anybody can go download it, use it. Is that right?
Jesse: Yeah. Yeah, yeah, essentially. I mean open-source is really about when you get to a problem and you want to find a way to solve that problem that your first though is I want to go see what the community has done. Some of that answer might be let's go see what Paul has published about this, right or let's go see if I can get the handouts from that user group presentation that Paul did last month because I know he spoke somewhere about this topic. It could also be I want to go check out what public repositories have this kind of technology either to use it as a model to write code or just acquire it, build it, get it running, and use it right.
Jesse: It's all about how do you attack the problem and if part of that how do you attack the problem is some form of community, other people have invented this wheel kind of mindset, then in my mind that's what open-source is.
Paul: All right. So it's kind of, sort of, maybe a step beyond what used to go on in forums or things like that or what forums I suppose would be obviously a part of open-source but if you take things where you have things like, you know, MIDRANGE-L, you know, where people would go-
Paul: Oh I've got a problem. You know they post it up there and then, you know, 10 or 15 people reply with, you know, here are possible solutions, here are snippets of code that can solve the problem for you.
Paul: This is more like an extension of that and putting it out there. Yeah?
Jesse: Yeah, exactly. Exactly. You know a great example of this is, you know, I don't know if I want to be calling out a lot of names today but someone just last week posted a really cool example of how to do a DB2 query from Node.js and publish it out as a web service.
Jesse: You know here it is, you know, a couple dozen lines of code. It is in an open-source repository. Anybody can go download, run the sample, and start from there to put whatever other DB2 integration they need into it. They can be doing web services in a few minutes because of what the community is doing.
Jesse: In that case, it is live, touchable, workable code, which is obviously the best form of open-source.
Paul: Yeah. So to carry on like in that world of open-source then Jesse and I think, you know, ties in more with what you are directly responsible for is that out in that world of open-source you have all of things and you mention there like Node.js and of course PHP which would have been one of the first-well would have been the first open-source language type of thing on IBM i and so like all the others what like Ruby, Python, etc. in there. So I guess my question with this is why? Why are IBM [teams] bringing all of that stuff directly onto IBM i then?
Jesse: So there's a number of reasons and the first part of my answer is really more general. It is the power of open-source itself is astounding. You know you have these languages that are open-source. You have again tons of people behind those languages. You have communities actively enhancing and supporting these languages. You have all of these tools and frameworks ready for you that are there to get you to things like web services web serving, all of these new technologies. If you want to do mobile applications, there are libraries for that, virtually any of these languages so, you know, it really is astounding. People come to us and they say oh, we want to modernize. Open-source technologies already have virtually everything they need most of the time. So in general it makes sense to run that level of technology on your IBM i because IBM i itself is great technology. It is common sense just to couple those things. Right?
Jesse: You want to have an IBM i doing mobile stuff? Here you go. Here is a negligible amount of code.
Jesse: On that vein, you know it is also … one of the things I like to point out is time to market. Right? There are often solutions in the open-source space that you can go from concept to delivered in a very, very short amount of time. Right? That impacts things potentially beyond your IT budget. Right? You can now get a product out quicker, faster because you are leveraging this stuff and again, that's all open-source statements. The same is true of just open-source in general but it makes a lot of sense on IBM i not only because IBM i is a really powerful platform and you can now leverage it more but it also helps solve some of the other things people are looking for. For instance, some people claim that it is harder to find skills for instance to write code on the platform and that now is really a claim that doesn't hold water you know because if you can't find a developer that knows RPG or COBOL or C or C++ or Ruby or PHP or Python or Node.js, you are really bad at looking right. [Laughs]
Paul: Well all my code is written in Assembler Jesse. That's my problem. [Laughs]
Jesse: Oh, oh, OK. Yeah. Yeah, that's hard to find. No but. And on that note, you know, in my opinion now that you have all of this technology on the platform that can do all kinds of cool modern sophisticated things and you can implement these in very short amounts of time, it allows you to leverage your existing investments in RPG and DB2. I would argue it lets you leverage that more effectively right.
Jesse: So as an example I do not want to undersell the work that IBM has done with the integration pieces for open-source. Right? You can be running-pick a language. Node.js. You could be running Node.js integrating it with your RPG code. It's very, very easy to do so. We have some works in progress to make it even easier. The same applies with DB2. Every major language version that we deliver, we deliver that integration piece so you have fast, direct performance with DB2 on i and so because not only you have the open-source technology, now you have the ability to leverage what you already have in your shop. It's a really, really powerful combination and I think that integration piece is something we don't always talk about. You know we talk about hey, we have IBM i. We have Python. We have PHP but it's really important to note that you can a fully modern solution because you can have your PHP code talking to your RPG code, which maybe you transformed into free form and you have been doing really great things there.
Jesse: So there's a lot of reasons why we are doing this on high and I think it makes a lot of sense to help our community in a lot of ways and help our customer base grow and do fun, exciting new things.
Paul: Yeah, no argument coming from me on that one Jesse. I mean I think-I mean I know some of the stuff that people are doing out there and it is-I just find it mind boggling some of that-I mean things that if you had said to me ten years ago you'll be doing this on IBM i, I would have laughed at you. I would have said, nay, you now that will never happen.
Jesse: Oh, sure. Sure.
Paul: There is an interesting thing Jesse in that I mean I know that the open-I've done quite a bit of stuff in PHP and I know like I have reaped the benefits of open-source but like, you know, just going out and grabbing things like Wiki's and CRM applications that there are out there. Well it's a simple of sort of going, you know, grab this zip file, unzip it, you know enter these following five details and there it is. You now have it up and working on your IBM i. I know that that is kind of the world of open-source is sort of go, download it, unzip, you know configure and off you go but that is not quite the way IBM i works. I mean so has this been a big challenge to try and incorporate things like, you know, Node.js as IBM licensed programs and that?
Jesse: Yeah, it definitely has because our system admins now get impacted by this and they have to take a slightly different approach to managing what's installed, what level of code you're running, and things of that nature. You know I don't want to say it's wild, wild west but it's, you know, in line with what you see in the open-source world in general but you now just have different things as an admin that you need to consider. Right? I have Node.js. I have the latest PTF. That works great for instance for your Node.js run time but it doesn't work great for the ten or 20 or 70 third party Node.js libraries that you have may installed. That's where the challenge is; people are still learning how to manage that. Right? How do we manage all of this cool stuff especially things like you say, you know, applications that I downloaded and run. You know by the way we have a COMMON lab that we did this year in … where was the last COMMON? Don't remember where it was but when we were at COMMON this year, we had a lab where you sat down, went through some simple steps and 45 minutes later you are running a storefront.
Jesse: There is items for sale. There is an admin interface, add your products. It had credit card processing and it was all just this 45 minute step-by-step activity right?
Jesse: But once you do that, you roll out an application. Now it's a little bit more the responsibility of the system administrator to understand what is going on. Where did we deploy this? What is the currency implications? Are there any security concerns, etc. so that of course been a challenge. It has been-I wouldn't say it is a technical challenge. I would say it is more of learning challenge right.
Jesse: A lot of people just need to learn the new way of doing things.
Paul: OK so then lastly on this Jesse, I mean out there in that world of open-source, there are always these great open-source communities so is this something that you are starting to see develop on the platform now?
Jesse: Oh, goodness. Absolutely, absolutely. Since I was just talking about COMMON, I'll mention it again that we've had the last several years these unofficial, half official meet ups that have taken place at the annual COMMON conference. You know community members organized it. People would show up. You know in 2015 I think we have about ten of us in a room, maybe 12-13 of us in a room. We were like, “Wow, this is cool!” We had some really great conversation about open-source and where to take and what barriers we have to address. Then 2016 came around and we got, you know, this decently sized room at this pub/restaurant across the street from COMMON and it was just packed. I think our attendance was up to 45 or so.
Jesse: And we just filled this room. You filled this room with people who were excited, people who were enthusiastic, people who were just aching to somehow give back to the i community and to do so with these open-source technologies. So we've seen especially in 2016 a huge growth of the community. You know we have a LinkedIn group called IBM i OSS now and I think it is up to -I think it is 800-ish members now. Of course in February I think it was at 20.
Jesse: We've seen a lot of growth there. [Laughs]. A lot of people open-sourcing their code whether it be Node.js like I mentioned before integrating with i or Python stuff, all kinds of languages people are contributing code for.
Paul: And RPG. Is RPG in there as well?
Jesse: Yeah. I was just-we started this project called OSS ILE.
Jesse: It's out on Git Hub. We worked, we partnered with Liam Allan: a name that a lot of people probably know.
Jesse: Partnered with him and created a project called OSS ILE, which is essentially for open-sourcing ILE stuff, primarily RPG.
Jesse: And so that's been fun. It's a very young project right now. It has a few things in it, very useful things but the fun part about being involved with this OSS ILE project is to see people kind of coming out of the woodwork. We have a lot of people cued up now that have again a real working code that they'd like to contribute and, you know, check back in a few months and you might just see a whole bunch of stuff out there open-sourced in that OSS ILE project alone. It's been really, really exciting to see.
Jesse: And you know on the OSS ILE front in particular, I think it has its own special value. Obviously one of the objectives is add value to the operating system. Right? If you have IBM i, you can go install the OSS ILE packages and do a bunch more stuff in ILE than you could before. That's the obvious one but it's also really useful because it again is part of this community effort. You now have-if you are interested in learning for instance free form RPG, it's yet another resource that you have. You can now download a chunk of working, touchable, compliable code and start playing around and understanding the language.
Jesse: So I think it's a really cool learning tool as well.
Paul: It is. It is.
Jesse: And again just to see the community efforts behind this already. You know like I said it's very young right now but it is really exciting to see everybody stepping up to contribute.
Paul: Yeah. We might have a conversation in a year's time, look back on this, and sort of say what's happened in that last year.
Jesse: Yeah. [Laughs]
Paul: I think that would be fun.
Jesse: Yeah, exactly. It's going to grow quite a bit I suspect.
Paul: OK so before we go Jesse, the one thing I have to touch on and I always have fun with this, with people, trying to find their little … their dark, little secrets. So I've got one word for you Jesse. Peppers.
Jesse: I am a hot pepper guy. I like my food like I like my code, which is spicy. That's the horrible, horrible pun for the day. I am sorry for that. [Laughs] Yeah. I grow my own peppers. I have eaten eight of the 10 hottest peppers in the world raw, which has been a fun experience.
Paul: So do you … are they competition type of things or is it just as a challenge?
Jesse: Just as a personal challenge. You know I don't do the 40 cameras around, let's watch this guy eat peppers because sometimes it doesn't end well. [Laughs] I don't want that to be on YouTube with four million views next week.
Jesse: But so it's my own personal challenge but I've even done what I call pepper tourism. So I've traveled to the city or region where a certain strain of pepper has originated to go eat the strain of pepper in its place of origin.
Paul: OK so I have to ask Jesse. What are the two peppers that you haven't eaten, the two of the ten?
Jesse: So people are often disappointed when they hear I haven't eaten the Carolina Reaper which is a man-made strain of pepper that is the No. 1 in the world so I haven’t eaten the No. 1 hottest.
Jesse: And that’s just because I haven't been able to get it. The other one on the list, there is one called the Naga Viper. I haven't gotten him yet but the others, I have conquered all of them, and I have grown several of them.
Paul: OK. I want the videos on YouTube, Jesse. I definitely do. I'd pay. I would pay to watch. [Laughs]
Jesse: How much would you pay?
Paul: I think Jesse that's a good note to leave it on. Listen, Jesse, thank you so much for taking the time to talk with me.
Jesse: All right. Thank you Paul. You have a great day.
Paul: OK, you too. So OK everyone that's it for this week. Tune in again for the next iTalk. Bye for now.
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.