IBM iの開発と言えば、RPGやCOBOLで5250開発環境(SEU/PDMなど)を使った開発が中心であり、OSSの選択は、それが必須な場合に限定される傾向があるように思われる。
実際に、i Magazineの「IBM iユーザー動向調査 2023」の結果からも、利用中の開発言語と新規開発言語ともに、RPG Ⅲ、RPG Ⅳ、CLがIBM i開発言語の3強であることがうかがえる(図表1、図表2)。


一方で、OSSを積極的に利用しているユーザーも存在しており、調査結果を読み解くと、IBM i上にインストールするアプリケーションの利用を進めている(図表3)。

図表3を見ると、未使用・不明の回答者が39.0%となっている。この数字には、IBM i上でOSSを利用したり、開発ツールとしてOSSを利用することによって、現在の開発方法が変化することに抵抗を感じている人が含まれているのかもしれない。
また、OSSにトライしたいと考えているものの、どのように始めたらよいか、などに悩んでいる人もいるだろう。
本稿ではIBM iとOSS併用のメリットを解説する。便利で新しいIBM i開発・構築・運用のイメージを掴んでほしい。
IBM iでOSSを利用する前提知識
IBM iでは以前、5733-OPSというライセンスプログラム(LPP)でIBM提供のIBM iオープンソースが提供されていた。各プロダクト(Node.js、Python3、Gitなど)はLPPのオプションとして提供されており、平たく言えば、IBM iに特化した提供方式であった。これはOSSらしくない提供方法とも言える。
しかしIBM i 7.4より5733-OPSの提供は終了し、現在はyumを利用してOSSをインストールできるようになっている。yumを利用することで、IBM iもLinux OSと変わらない管理方法で、新しいソフトウェアをタイムリーに取得できるようになった。各パッケージの依存関係もyumが自動的に解決したうえで導入できるので、効率的である。
IBM iで利用できるOSSとは
IBM iで利用できるOSSについては、以下に記載されているが、全リストが公開されているわけではない。しかし代表的なOSSは基本的に使用できるので、安心してほしい。
IBM i OSS Docs
https://ibmi-oss-docs.readthedocs.io/en/latest/README.html
IBM i OSS Examples (OSSのサンプルソース)
https://github.com/IBM/ibmi-oss-examples
IBM iで利用できるOSSリポジトリは、大きく分けて以下の2種類がある。
IBM管理リポジトリ
ibmi-base(とOSバージョンごとのibmi-release)はIBMで管理している。すなわち、IBMとしてサポートしているOSSパッケージ群のリポジトリである。
サードパーティ(非IBM)のリポジトリ
IBMとしてサポートしていないので、稼働の保証がとれていないリポジトリである。
IBM管理リポジトリには、図表4のようなパッケージがある。

またIBM管理リポジトリ以外には、図表5のようなパッケージがある。

さらに図表6のOSSは、現在でもライセンスプログラムとして提供されている。

OSSをIBM i上に導入する場合、抑えておきたいポイントは以下の2点である。
① ACSのGUI画面でインストール、またはsshのターミナルからCLIでyumコマンドを実行してインストールが可能。OSSをよりLinuxのように使いたい場合は、後者にトライしてほしい。
② ACSのオープンソース管理パッケージでインストールできるOSSは、IBM i利用のためパッケージ化されたリポジトリが表示されている。つまり、ibmi-base(とOSバージョンごとのibmi-release)だけである。
IBM iでOSSを使うメリット
IBM iでOSSを使うメリットとしては、まず人的リソースの確保が挙げられる。IBM iだけでなく、IT業界では人手不足が常に課題である。またIBM iにフォーカスすると、技術者課題として技術者の高齢化や次世代の育成などが話題になる。OSSの利用により、IBM i技術者だけでなく他プラットフォームの技術者をプロジェクトに参加させたり、調達することが可能になる。
次に、OSSの知識を備えたIBM i技術者の市場価値に注目したい。なぜ、OSSの知識を備えたIBM i技術者は市場価値が高いのか。これについては「IBM iというプラットフォーム経験のメリット」と「IBM iとOSSの両方が使えるメリット」の2つの面から考えられる。
IBM iというプラットフォーム経験のメリット
IBM i上では、企業の中心で経営を長く支えてきた基幹システムが数多く稼働している。デプロイされたRPGプログラムは高い後方互換性により、ハードウェアやOSがバージョンアップしてもそのまま稼働し続けるという特徴を備える。
すなわち、IBM i上で稼働するRPG/COBOLプログラムの寿命は他サーバーやサービスと比べてとにかく長い。
また、RPGは従来の固定フォームだけでなく、FF RPG(フリーフォームRPG)のようなオープンソースに近いコーディングも可能である。
そもそもILE RPG/ILE COBOLはモジュール化の機能を備えており、マイクロサービス化に向いているという言語的な特徴をもつ。Javaのようなクラスを使用するオブジェクト指向ではないが、コンポーネントを細分化する思想はオープン系言語と相違ない。
固定フォームのRPGは、OSSよりもリーダブルな要素が薄い(慣れている開発者から見れば、そうではないと思うが)。OSSを学習することで、リーダブルなソースを書く経験を積んでいけば、FF RPGもハードルが低く、資産継続性のメリットもそのまま享受できる。
IBM iとOSSの両方が使えるメリット
OSSのスキルを習得し始めると、最新テクノロジーを日々、意識していく必要がある。非常に速いペースで進化するテクノロジーを捉え、取り入れることによって、IBM iの新しい利用方法を実現していける。
若い技術者やオープン系に触れたことのある技術者からすると、長く使われているIBM iの既存の開発、運用、構築、保守にとどまっていること自体が不安要素になる可能性もあるだろう。
OSSのスキルを習得していれば、そういった不安を払拭できるとともに、「基幹システムの保守管理が行えて、かつ最新テクノロジーも理解している」という希少性の高い良質なスキルを取得できる。
IBM iは企業の重要データを多く蓄積している。このデータをOSSと組み合わせて利活用し、そのスキルをもつことは、技術者としての「強み」になっていくだろう(図表7)。

最後に、予算とモダナイズについてである。
当たり前だが、OSSは無償であり、SWMAのような保守サポートがない。ただし、OSSのコミュニティでのサポートを受けられる。気軽に、かつ無償で、IBM iの開発を変革できるのは大きな魅力であろう。IBM i上のDBを利用した小規模なWebアプリケーションを構築したり、APIでシステム間を連携したり、CI/CDに挑戦したりといったことを自社内の環境を利用して無償でトライできる。
OSSのVisual Studio Codeを開発ツールとして利用したり、Gitでソース管理を始めることもできる。このような開発モダナイゼーションにより、結果としてIBM iを中心に、これまでの資産を活用しつつ、無駄なく、迅速にビジネスに貢献する「意味のある開発」が可能になる。
莫大な予算をかけて他プラットフォームに構築し直す場合、大きな開発リスクがある。たとえ構築が完了したとしても、「今までと同じ機能で、せいぜいUIがよくなった程度」という「あまり意味のない開発」に終わる可能性がある。
まずは、OSSで何をしたいかを考える前に、OSS利用環境をすぐに作成しよう。環境作成後は、参考情報のリンクを参照し、サンプル・プログラミングから始めたり、実際に手を動かしながら気になるOSSの理解を深めてほしい。
著者
肥沼沙織氏
日本アイ・ビー・エム株式会社
テクノロジー事業本部
IBM Power テクニカルセールス
[i Magazine 2025 Summer号掲載]







