IBM iで必需品となる7つのオープンソース製品
IBM iオペレーティング システムはプロプライエタリな製品です。そのライセンス内部コード(LIC)はプライベートなもので、DB2 for iの中にしっかりと収められています。一方で、IBM iサーバー内で実行されているすべての最高機密のコードとは別に、IBM iプラットフォームで利用可能なオープンソース テクノロジーも驚くほど多くあります。ここでは、その中でも、すべてのIBM iのショップが持っておくべき、または、少なくとも知っておくべきである、代表的な7つのオープンソース製品について紹介します。
これらの製品を紹介する順番には特に意味はありません。しかし、まずは、IBMから提供される、あの大物から始めないわけにはいきません。
1. Open Source Technologies on IBM i(5733-OPS)
IBM iプラットフォームにおけるオープンソースは、IBMから提供されるこの無償製品から始まりました。この製品はプログラマーにとって有用なオープンソース ユーティリティのまさに宝庫と言えます。5733-OPSとも呼ばれるこのパッケージは、ポピュラーなオープンソース製品をすぐ使用できる形でIBM iプロフェッショナルに提供します。たとえば、Node.js Web開発フレームワーク、Pythonプログラミング言語、Gitレポジトリへのコードの保存法、およびOrion、CHROOT、cloud-initといった他のいくつかの製品などが含まれています。IBM iプラットフォームを非RPGプログラマーへと拡張し、既存のIBM iプログラマーが最新のWebテクノロジーにアクセスできるようにするためにIBMが行ってきた仕事の多くは、この製品を媒体として提供されています。
2. MySQL/MariaDB
技術コミュニティの間で、コストの高さ、ベンダー ロックイン、リレーショナル データベース関連のしつこい監査、およびIBM、Oracle、そしてMicrosoftの商売のやり方に対する反感が広まるようになってから、世界中でオープンソースのデータベースを求める思いはますます高まっていきました。データベースがPASE AIXランタイム下で稼働できるようにするためにIBMとMySQLとの間で行われた開発のおかげで、ここ10年間のほとんどは、MySQLが主役となっていました。MySQLがOracleの所有となったことでコミュニティは、MySQLのオリジナル作者が開発した、MySQLの完全互換であるMariaDBへとデータベース ワークロードを移行しようとしています。約1年前にPHPの後援者であるZend社を買収したRogue Wave Software社は、IBM iとMariaDBとをつなぐhook MariaDB into IBM i取り組みの先頭に立っています。
3. CGIDEV2/Easy400
Easy400.netは、元IBMのMel Rotham氏が作成した、RPGおよびCOBOLプログラマーが慣れ親しんだ技術を使用してWebアプリケーションを開発できるようにするツールであるCGIDEV2の本拠地となるサイトです。2005年にGiovanni Perotti氏がIBMを退社すると、CGIDEV2ソフトウェアを中心とするこのウェブサイトはすぐに混乱に陥りました。また、Perotti氏がIBMにCGIDEV2の著作権を放棄するよう求めたとき、IBMは拒否しました。しかし、非常に効果的な手紙書きキャンペーンletter-writing campaign (Word docファイル)のおかげで、IBMはCGIDEV2のオープンソースへの寄贈を受け入れるに至りました。そのため、Rotham氏が退社後もアップデート作業を続けることができるようになっています。今も、CGIDEV2は、Easy400.netで利用可能な数多くの無償ツールのうちの1つとなっています。
4. Apache Webサーバー
Webサーバーがなければ、WebページやWebクライアントへのサービスを行えないと考えると、世界がどれほどWebサーバーに依存するようになっているか気付かされます。IBM iプラットフォームにおいても状況は似たようなものです。そのため、IBM iプラットフォームはここ数年、Web対応を強化する方向へ舵を切ってきています。すべてのIBM iのインスタンスには、広く浸透したApache Web Serverの2つのインスタンスが付随し、デフォルトでオンになっています。そのため、Apache Webサーバーは、プラットフォーム全体で、おそらく最も使用されている(そして最も有用な)オープンソース テクノロジーとなっています。
5. Linux
もちろん、LinuxはIBM i上で稼働できる「ツール」ではありません。しかし、Linus Torvalds氏による大成功を収めたオペレーティング システムは、ありとあらゆるPower Systemsサーバー上で、IBM iのすぐ隣で稼働させることができます。すごいことだと思いませんか。Power SystemsボックスでLinux OSが利用できるようになったことで、IBM iの顧客はIBM iで利用可能な、はるかに幅広いアプリケーションにアクセスできるようになりました。たとえば、IBMはおそらくIBM i OS上では決して利用できるようにしないであろう、Apache Sparkのような最先端のデータ サイエンス ツールもその1つです。Linuxベースのアプリケーションおよびデータは、直接IBM iの管理下で稼働しているときほど完全に統合されるわけではありませんが、それでもPower Linuxは無視すべきでない強力な機能です。もっとも、HelpSystems社の「2016 IBM i Marketplace Survey」調査によると、Power Systemsボックス上でLinuxを利用しているIBM iの顧客は6%のみとのことで、Power Linuxはほとんど無視されているようです。一方、組織内のどこかでLinuxが稼働しているという組織も2/5に満たないようでした。
6. RPGMail
IBM i上のオープンソース ソフトウェアについて語る際は、Aaron Bartell氏の貢献について触れなければ話は終わりません。オープンソース好きな若い世代のプログラマーとIBM iとを結び付けるのに大いに尽力した、元祖YiPSのうちの1人であるBartell氏は、2002年、IBM iプラットフォーム向けの自身初のオープンソース製品、RPGMailをリリースしました。この手軽に使えるRPGサブ プロシージャー集は、SunのJavaMailプログラムを介してIBM iサーバーからEメールを送信するためのものでしたが、これはほんの手始めに過ぎませんでした。今日、Bartell氏は、RPG Chart Engine、OpenRPGUI、およびTweetMe4iなど、IBM iプラットフォーム向けの様々なユーティリティを提供しており、それらはすべて、彼のウェブサイト(mowyourlawn.com/)からダウンロードできます。
7. PHP、Perl、Pythonなど
2006年に、IBM iプラットフォームにオープンソースのPHPスクリプト言語を取り入れるとIBMが発表したとき、そのことがどのような影響を及ぼすか理解することは困難でした。今日では、PHP on IBM i専用のユーザー コミュニティがあり、彼らの多くは、Rogue Wave社の無償のZend Server Community Edition for IBM iと、有償のエンタープライズ バージョンも稼働させるようになっています。PHPの後に続いたのは、Perl、Python、Node.js、およびRubyでした。それらはすべて、IBM iサーバーを、オープンソースを心地よく思う新しい世代の若いプログラマーに開放する一方で、既存のIBM iインストール環境を、それらのオープンソース言語で開発された新たなプレビルド アプリのプールに開放する役割を果たしています。これは、まさにウィンウィンの状況と言えるでしょう。