Open Source Software (OSS) has been taking on strategic importance for IBM Rochester and in IBM i shops.
What started as a movement for intellectual and philosophical freedom now has clear value to businesses and the professional lives of those who adopt it.
Open Source: How We Work Together
Humans are social creatures. Intellectually, emotionally, and physically, most of us feel our best when we’re part of an active community.
Historically, RPG and DB2 development has been largely a solo activity. Although team members collaborated, seldom did two or more developers actually work on the same code. In fact, the old “check out, check in” source-control model guarded against that very nightmare scenario in which one developer would overwrite another’s changes!
When Open Source Software (OSS) arrived on the scene at the turn of the 21st century, it looked like the Wild West to many AS/400 shops. Pure chaos and anarchy. More than one developer working on the same piece of code? And how does free software sustain itself? How do the developers make money? What’s in it for them or their employers?
Then Linux, Apache, and PHP gained traction. Open source had gained a foothold.
IBM Support of Open Source
I first became aware of IBM’s work in open source in 2005, when I attended a New York Software Industry Association lecture about open source and heard that IBM had been contributing to the open-source Linux operating system. IBM had adopted a visionary perspective, seeing a way to counter the then-dominant Microsoft Corporation and its Windows platform, and positioning IBM to take advantage of open source and participate in open-source development. IBM also adopted the Eclipse framework on which to build its graphical integrated development environments.
On IBM i, open-source initiatives initially seemed to be loosely organized…or even an underground movement. Recently, however, IBM Rochester has demonstrated an accelerating, consistent, clear commitment to open source. In the last year, a new position was created, that of open-source business architect, ably embodied in Jesse Gorzinski. And although Chief Architect of the IBM i operating system, Steve Will, had appreciated and fostered open-source technologies for years, he hadn’t yet taken up open source as a consistent theme in his presentations and discourse, as he has in the past year or so.
IBMers are deeply involved in open-source communities. IBM Rochester experts of all levels have made time to participate in open-source roundtable discussions at the COMMON Conference over the last several years, to speak of IBM’s OSS direction and to hear what the community is doing and requesting. The social media hashtag #IBMiOSS was born at the 2016 roundtable. These are key trend indicators for the rise of open source on IBM i.
Whereas developers in the past needed to use perzl.org or other unofficial sources to install open source, IBM now provides licensed program 5733OPS for delivering open source that's been ported by IBM (i.e., Node.js, IBM i Chroot, Python, Orion, Git, etc.).
What reasons might IBM Rochester have for investing in open-source people and technology? I’ve observed these capabilities that IBM might find valuable:
- Run software on IBM i that could never run without open source
- Enable young or new developers to enter the world of IBM i using tools they already know.
- Help advocates of the platform defend it against perceptions that IBM i systems lack anything of importance. If it appears that IBM i lacks something that other platforms have, even something relatively minor, it could be seen as a weakness. Open-source technology allows IBM i to have what everyone else has. We can say, “We have it, too.”
- Take the pressure off IBM for producing every requirement and piece of system code. Now, IBM can leverage community efforts, too. Packages such as XMLSERVICE, db2sock, and ibmichroot have been spearheaded by IBM but can boast community contributors providing inspiration, feature requests, bug reports, and actual code.
- Provide a way for users to understand software better (why it behaves as it does) without requiring a call to the support department. For example, I’ve studied portions of the C code that runs PHP and its extensions to understand their behavior better and solve problems for clients.
Developers Working for Free? OSS and Social Web
Why might developers donate their time and energy to open-source projects? I’ve observed the following motivations:
- OSS provides the opportunity for the best developers to prove their abilities to peers and potential employers. They put their code on public display. Today’s developers seeking a job or “gigs” build their personal brand with their Github or Bitbucket repositories, containing their open-source work, as the modern form of a resume. My work on the PHP Toolkit, for example, showed that I was an authority in integrating open source with RPG, without my having to say so. I admit being nervous, at first, at having my code on display, but I adjusted to the open-source mindset.
- Generosity: Many programmers have the desire to donate in order to repay a debt to the open-source software that they’ve benefited from.
- IBM i programmers who have years of experience in RPG or other IBM i technologies may wish to give back for the next generation, to leave the language and platform in good shape.
- Some programmers desire to create packages meeting a need that has not been met by IBM or Independent Software Vendors (ISVs).
Examples of OSS that has captured the imagination of IBM i practitioners:
- An example from outside of IBM is Git, created by Linus Torvalds because he wanted a better source-control system to manage code for the next generation of his Linux operating system.
- On IBM i, Liam Allan created Relic Package Manager, a tool to build ILE packages on IBM i systems.
- A long-standing, still useful, example of IBM i open source is CGIDEV2 , a tool to create web applications using RPG, released to the public in 1999. Developed primarily by Mel Rothman and Dr. Giovanni B. Perotti, CGIDEV2 has been enhanced by others as well, in true community fashion.
Open Source: Ready for Business
This year, the Grand Rapids Association of Realtors (GRAR) won the IBM/COMMON Innovation Award for their real estate search site, which used WordPress and custom PHP code on their IBM i system, combined with DB2 and RPG stored procedures, making creative and efficient use of what IBM had to offer: open source integrated with traditional (but creative) RPG coding. The project was so successful that the site became a source of revenue, not a cost center.
In my consulting business, I’ve seen growing acceptance over the years by clients for open-source technologies to extend and enhance IBM i applications. PHP, for example, has become a mainstream choice for developing web front-ends for business logic and data.
Companies that experiment with open source may find that exposure to a different development culture improves their traditional IBM i development practices. Practices such as unit testing, continuous integration, and use of Git source repositories, familiar to developers from other platforms, can be enabled and facilitated through both open-source and commercial tools on IBM i.
Trends such as developers working from home, the use of contract developers, and geographically dispersed teams working together on applications, while being collaborative, can nonetheless lead to a sense of isolation. To be their most productive, developers need not only virtual companionship and IBM i fellowship, but sounding boards for their ideas.
Younger developers who have grown up with social media gravitate toward more collaborative online communities.
Club Seiden Open-Source Community
Club Seiden is one example of how open-source communities enrich the IBM i community. A group of my IBM i friends and I had noticed that every time we attended a conference such as ZendCon or the COMMON Conference, new ideas for personal and professional growth arrived by the bushel. It’s as if we were each other’s muses, inspiring ideas on projects we could undertake alone, together, or with IBM.
We enjoyed socializing with each other and discussing technical issues, yet between conferences, for gaps of three to six months, our imaginations seemed to lie fallow.
That’s what inspired us to start an online group called Club Seiden. First it was a small group of PHP experts. Soon, though, we realized that we needed input from different kinds of talent; diversity in the group would enrich the conversation. We invited experienced RPG developers and systems admins to join us. The group gradually grew to include some of the community’s eminent people, such as Aaron Bartell with his open-source knowledge and projects.
Every day, people are sharing questions and answers, and posting articles that they think others in the group would appreciate. Because some of us are conference speakers or consultants, we can help IBM members spread their ideas and vision, too. We can test business ideas or technical ideas, try our blog posts and articles on each other. We can praise, we can complain, we can bellyache and whine—all in the safety of Club Seiden without having to share with a larger group if we don’t want to. We keep the group small, inviting individuals slowly over time.
As we were looking for RPG talent, we came across Liam Allan, in the days when he was anonymous, or rather, pseudonymous. Liam’s open-source projects were done under the assumed name of “Barry” because his workmates at the time did not appreciate his fresh brains. He was invited to Club Seiden by David Dressler and then was discovered in Club Seiden by Trevor Perry, who informed other friends about Liam’s abilities and enthusiasm. Then Liam’s career took off; he’s working for Profound Logic now and still contributing to many open-source projects and ideas and adding freshness to the community. And none of this was exactly planned. It’s an evolutionary process.
How to Get Started
Attending a conference in person is the number one option. The COMMON Conferences now offer many open-source sessions, such as workshops on Git and WordPress that I presented with Liam Allan and Stephanie Rabbani, and so does a traditionally PHP open-source conference such as ZendCon. Conferences such as ConFoo that are not associated with IBM i can also offer a fresh perspective.
In addition, there’s an IBM i Open Source Wiki that’s a clearinghouse for a variety of IBM i–related open-source websites and projects. There are many interesting open-source projects going on.
Another approach is to think about a business need that could be met by an open-source solution. I find that people are most motivated when a business need and a personal ambition can be met simultaneously.
Even if you’re not a programmer or you don’t have time or knowledge to program open source, you can still post an issue on an open-source repository such as the ones linked from the open-source wiki page. The simple act of posting an issue, which is a request or feedback, helps the project because it encourages the lead developers to put the energy in. They need to know there’s an audience out there. Open source is software, community, and sharing of knowledge and vision. Get involved.