Your Most Common Open Source Questions, Answered!
What's the best place to start when you're new to open source on IBM i? This post covers all the best places to seek documentations, examples and other support.
I get a lot of questions from folks as they begin or continue their open source journey on IBM i. Naturally, some of them have some common underlying themes. For today’s blog entry, I am taking a very tactical approach. By pointing out some of the best resources available, I hope to address some of these most frequent inquiries.
Where do I find documentation?
The best starting point, especially if you are new to open source on IBM i, is our RPM documentation page, part of our repository-based documentation site. Here, you’ll find instructions on how to set up an open source environment, as well as several pieces of “how to” guidance, troubleshooting, and some good general reference materials. An important note, our documentation is community-assisted. If you find anything missing or unclear in the documentation, you can easily report the issue or send in contributions to make it better.
If documentation for a specific package is what you seek, just go straight to the project’s web page. While some have their own domain name and website, some host their documentation on sites like GitHub. A good old web search will get you there. Open source packages generally work the same on IBM i as other platforms, so you don’t necessarily need i-specific manuals.
On that note, it’s equally valuable to know where NOT to look. As mentioned, a majority of the documentation you consume won’t come from IBM. Since the open source packages aren’t IBM products, you won’t find detailed information on IBM product pages. Classic resources like InfoCenter or Redbooks aren’t the best place to go.
Are there any good examples?
IBM and community members have published several examples in our IBM i OSS examples repository. Here, you can see the code behind some important use cases, like:
- Sending SMS from RPG
- Creating web pages (including a simple CRUD application)
- Building a REST API with authentication
- Connecting to the database with odbc or our other database connectors
- Using Node-RED
- Integrating with Grafana
- Working with excel or csv files
- Checking network statistics
- Manipulating images
For example, here’s a screenshot of the Python “active jobs dashboard,” which is a simple web display (similar to what WRKACTJOB would give you on 5250).
And here’s the Grafana integration example:
Most of these examples are relatively small, but they are designed to demonstrate the specific pieces that may be unique to IBM i. In that sense, they complement the many examples available elsewhere on the Internet. For instance, Express.js is the most popular web framework for Node.js. This repository shows how to talk to Db2 or RPG from an Express.js application, and you can pair this knowledge with the thousands of other Express.js examples available for building up a full web site.
Want some hands-on exercises?
Recently featured in the 2020 iSight Blog, our partners at Perforce have also created a set of hands-on exercises that are free to the community. That’s right! Free! As author Erwin Earley explains, “the exercises are designed to be self-paced and provide an introduction to a variety of topics such as implementing CRUD (Create, Read, Update, Delete) applications with PHP against Db2® for i data, working with open source languages including PHP, Python, and Node.js, deploying enterprise-ready productivity applications such as WordPress, Joomla, and phpMyAdmin, and working with the XML Service to integrate ILE objects such as RPG programs into PHP scripts, just to list a few.” If interested, you can sign up for this training here.
What about blogs?
Of course, if you’re reading this, you know about my blog! But I’m not the only circus in town, so to speak. Plenty of other blogs are worth a visit. Here’s just a few blogs specifically tailored to the open source ecosystem on IBM i.
- Kevin Adler, team lead of the North America open source core team at IBM. He publishes great technical tips and regular updates on his blog.
- Seiden Group blog
- Eradani Blog
- Works of Barry
- Faq400 blog (Dig through the “open source” category. If you don’t read Italian, you may need to keep a language translator handy, but it’s worth it!)
Of course, blogs don’t need to be specific to IBM i to be useful. Here are a couple from our partners at Perforce:
- The Zend blog has important news, insights, and updates for the Zend PHP ecosystem.
- The OpenLogic blog covers a variety of open source topics that are relevant across many platforms.
Of note, neither of these lists are exhaustive! I definitely missed some. Plus, new authors have been popping up all the time lately. Some good how-to articles have landed at commonplace IBM i outlets like IT Jungle or MC Press Online.
How do I get support?
The notion of “support” has many interpretations and meanings. Usage and defect support for open source packages on IBM i is generally not included as part of your software maintenance agreement (SWMA). This document summarizes the various channels for obtaining open source support.
Of course, if you’re looking for professional services, IBM and several other companies can provide education, deployment assistance, customized programming, etc.
Where can I collaborate with my peers?
Perhaps the best place to collaborate with the open source community is to come chat with us on Ryver (join here if you’re new). There’s also a LinkedIn group and the #IBMiOSS hashtag on Twitter.
Are other customers using open source?
Yes, of course! In fact, the 2020 IBM i Marketplace Survey results show a continued uptick in the adoption of open source.
If you’re interested in more specifics, you can always check out the IBM i customer stories page. There, IBM has been pushing out new tales of innovation on a regular basis. As you can imagine, a fair number are using open source. For instance, you can read about SAIB, who integrated with Amazon Alexa to improve the efficiency of their sales team. Or, the Norwegian Air Ambulance Foundation, who used PHP to modernize their IBM i interfaces. Others include Geodis, RPC Superfos, King III Solutions, Fuyo General Lease, HT BENDIX A/S, ORIS, Assura, Cras Woodgroup, Kuehne + Nagel S.à.r.l., FRS, Sunstate, Kube-Pak, and more. There are also some case studies available, which go into a bit more depth. I wrote about some of them back in 2018, but we’ve published several since then. Take the Stonetales Properties case study, for instance. The real estate company acquired a competitor that was running on x86 but consolidated to IBM i, using open source as part of the solution.
Clearly, open source is no longer a niche technology for our platform. It’s mainstream!
What if these links are broken?
This blog was written in June 2020. Of course, over time, links may change. Plus, I probably missed some important ones! So, I will try to keep an up-to-date list of the latest resources at this short link: http://ibm.biz/ibmi-oss-links
Closing Thoughts
Hopefully, the pointers in this blog help you in some way or another. Maybe you learned something new or found a new blog to follow. Even if not, I’m hoping you can share this blog with others to help answer these normal questions. Regardless, don’t hesitate to reach out to the community (or me, directly, via LinkedIn or Twitter) if you need. And, of course, in the highly-probable event that I missed something, let me know!