Why Open Source on IBM i Matters
Liam Allan discusses why IBM i users should adopt open source.
By Liam Allan06/01/2019
Open source is such a popular topic in the IBM i space, but the question about how to get involved in open source still lingers while people figure out what it means for their businesses. The aforementioned question can have a couple of different meanings, whether it’s figuring out how you can use open-source technologies (e.g., Node.js, Python, nginx, etc.) with your existing stack or if it’s figuring out how to contribute to an existing project (or even share your own open-source projects).
Q: Why should I learn open source?
You may have, at one point, questioned what open source truly means. Open source does have some differences to freeware and shareware, which are terms you hear less and less these days. The Open Source Initiative (opensource.org) actually provides a definition and some of the important points for open-source projects are as follows:
- Source code: The program must include source code, and must allow distribution in source code as well as compiled form
- Free Redistribution: The license shall not restrict any party from selling or giving away the software as a component. … The license shall not require a royalty or other fee for such sale.
- Derived works: The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software
Fitting Open-Source in With Your Existing StackTechnologies like PHP, Node.js, python, nginx and git, among others, are popular, but that isn’t a good reason to use them in a business. You need to understand what their strong points are and why they are useful. In previous years, IBM has made all this technology available to us on IBM i through the use of YUM.
If you want to use open-source technology on IBM i, you should be using YUM to install it (bit.ly/2XNPi2R).
My two favorite technologies are Node.js and git. These two very different tools can really make a great environment to work with.
Node.js is at the forefront of web technologies. It lets me spin up web applications and web services in a matter of minutes, whether it’s for some prototyping or production work.
Node.js has a simple package manager (npm) to extend your applications with other open-source projects (like express or pug). IBM also provides a native IBM i database driver for Node.js (bit.ly/2XXwKNo).
Git, on the other hand, is source change management and exists to improve developer workflow. It’s been gaining traction in the industry in the last two years or so. Git allows for a “distributed development workflow,” which means developers can work on the same sources without stepping on each other’s toes. It’s common for every Node.js, PHP, Python, etc, project to be managed with git and there is no reason it can’t be the same for RPG, COBOL, etc.
TakeawayThese are just two of the many options for a starting place in open source. I hope the descriptions I have written for Node.js and git might give you the motivation to go take a look at them (or another technology) in your own time
Liam Allan is an IBM Champion for Power Systems and a consultant with Seiden Group.