IBM i にとってRPMとYumが重要な技術である理由
IBM i の顧客にオープンソース ソフトウェアを配布するためにIBMが用いる新たな配布プロセスであるYumおよびRPMについては、おそらく耳にしたことがあるかと思います。しかし、その配布プロセスはどのように機能するのか、どのようなメリットがあるのかなど、疑問のある方も少なくないかもしれません。『IT Jungle』では、このプラットフォームにとって、この新技術がどうしてそれほど重要なのかという点について、IBMのオープンソースの権威であるJesse Gorzinski氏に詳しく話を聞くことができました。
RPMは、Red Hat Package Managerの略であり、20年以上前に作成された、Red Hat Linuxコミュニティの顧客がLinux作業環境を整えるのに必要な様々なソフトウェアの配布およびインストールをより簡単に行えるようにするソフトウェアです。年月と共にRPMの使用は、Red Hatコミュニティを越えて他のLinuxおよびUnix環境(AIXを含む)へと拡がり、実質的に、オープンソースの世界におけるソフトウェア配布方式のデファクト スタンダードになっています。
一方、YumはYellow Dog Updater Modifiedを略したものであり、その使命は、ソフトウェア依存関係の更新および管理をRPMユーザーがより容易に行えるようにすることにあります。Yumは、基本的にはRPMとともに動作するように意図されたコマンドですが、しばしばコマンド ライン シェル環境として提供され、さらにはGUIも開発されています(ここでお話しするIBM i用のGUIもその1つです)。
今年の春、IBMは、IBM i の顧客がオープンソース ソフトウェアを入手する方法を一変させることを目的として、IBM i で稼働するRPMおよびYumのテック プレビューをそっと公開しました(IBMのDeveloperWorksサイトの記事「RPMs Getting Started」を参照)。
RPMおよびYumは、5733-OPS (2015年にIBMがPython、Git、Node.jsなどのオープンソース テクノロジーを配布するために導入したライセンス プログラム オプション)に取って代わる存在です。今ではIBM i のショップは、これらのオープンソース製品(およびさらに多くの製品)をRPMおよびYumを通じて入手するようになっています。
「このことは大きく状況を変えようとしています。PTFを通じてのオープンソースの入手が行われなくなっているからです」と、IBMでの正式な役職がオープンソース テクノロジーのビジネス アーキテクトであるGorzinski氏は述べます。「OPSライセンス プログラム オファリングはインストールされなくなっています。代わりにYumをインストールして、必要があるものは何でもインストールするようにYumに指示するだけです。」
5733-OPSで用いられたPTF配布方式は、オープンソース ツールをIBM i インストール ベースに引き合わせるのに一役買いましたが、この配布方式がどちらかと言えば障害物となっていたことがようやく明らかになりました。それは、典型的なIBM iの管理者というのは、必要に迫られながらPTFを見つけて適用するやり方に精通して行くものですが、IBM iに馴染みが薄いユーザーにとっては、PTFプロセスは混乱のもとだったからです。
言い換えれば、IBMはこのプラットフォームに、ほとんどがオープンソースである最新の開発ツールおよび手法に精通している若いプログラマーたちを引き入れようとしていましたが、5733-OPSおよびそのPTFベースのソフトウェア配布方式で最も多くトラブルに見舞われたのは、まさに彼らに他ならなかったわけです。インストールするまで画面に表示されないにもかかわらず(これについては、Jon ParisとSusan Gantnerによる最近の『IBM System Magazine』の記事に 簡潔な説明があります)、入手するためには新たにリリースされた5733-OPSオプションの名前が分かっていなければならないというジレンマを考えてみれば、このプロセスは、合理化されることが願われていたプロセスだったのだと言えるでしょう。
RPMは、IBM i のショップでのオープンソースの使用法を変える第一歩を踏み出します。「RPMによって作業が簡素化される一例として、RPMには依存関係を自動的に記録してくれる機能があることを挙げることができます」とGorzinski氏は述べます。「RPMでは、インストールされていないものも含めて、パッケージに関する情報を照会することができます。全体として、RPMを使用することにより、オープンソース パッケージの管理を理に適ったやり方で行えるようになると言えるでしょう。」
Yumは、RPMの歩みを進めさせ、さらに作業を簡素化します。「実際、最新のAccess Client Solutionsには、RPMを非常に簡単に使用できるようにする、YumベースのGUIツールが備えられています」とGorzinski氏は述べます。「そのため、システムにオープンソース環境がまったくインストールされていない場合でも、接続して、このツールから『今すぐインストールしますか』と尋ねられたら『はい』をクリックし、しばらく待てばインストールが完了するのです。」
「いくつか重要な点があります」と彼は続けます。「1つには、IBM i でのオープンソースの管理がはるかに簡単になります。どのようなものがインストールされているか、それはどこにあるか、そしてIBMからどのようなものが提供されていて利用可能かについて簡単に照会でき、パッケージ マネージャーは数分のうちにそれらすべてを教えてくれます。何かインストールしたいものがあるときは、インストールするように指定するだけで、1分後にはインストールされるのです。おかしいぐらい簡単です。」
オープンソースを著しく簡単にすることに加えて、RPMおよびYumは、IBMがユーザーにはるかに多くのオープン ソース ソフトウェアを提供する機会も作り出します。それは、PTFプロセスにつきものの制約に縛られなくなるからです。すなわち、PTFは既存のプログラムを修正することができるだけで、新たなプログラムをインストールするのではないという制約です。IBMは、5733-OPSプロセスで、一連の予約枠を設けることによってこの制約を回避しました。予約枠は最初は空でしたが、時が経つにつれて徐々に枠が埋まって行きました。
これが「根本的変化をもたらす」要因だとGorzinski氏は述べます。「数という点から見てみると、5733-OPSには11のオプションがあり、それらの11のオプションの中には、37または38のオープンソース パッケージが含まれていました。3年間で、それらの37または38のオープンソース パッケージを配布したことになります。現在は、RPMパッケージ マネージャーを使えば、はるかに少ない期間で約200のパッケージを配布可能です。そのため、目標にできる配布期間が1桁短いのが見て取れます。」
つまるところ、Yumと新たなRPMパッケージ マネージャーの組み合わせにより、IBM iコミュニティへのオープンソース ソフトウェアの配布は劇的に簡素化かつ正確になる可能性があると言えそうです。オープンソース ソフトウェアを試してみる前に、ユーザーに古いPTFの複雑な手順を踏むことを求めるのではなく、ACS製品でマウスを2回クリックすることでソフトウェアの入手が可能であり、これこそが、IBMが望ましいとするコンピューターとのインターフェースというわけです。
「Yumを配布してきたからこそ、それほど多くのテクノロジーを配布できるようになっているのであり、テクノロジーがシームレスに機能するのは、標準的な方式で処理が行われているからです」とGorzinski氏は述べます。「オープンソース パッケージの配布方法や、オープンソース パッケージのファイル システムへのインストール方法に合わせた方式で処理を行うようにしてみます。そうすれば、互いの優れた点が浮き彫りになって見えてくると思います。」
「Yumを配布してきたからこそ、それほど多くのテクノロジーを配布できるようになっているのであり、テクノロジーがシームレスに機能するのは、標準的な方式で処理が行われているからです」とGorzinski氏は述べます。「オープンソース パッケージの配布方法や、オープンソース パッケージのファイル システムへのインストール方法に合わせた方式で処理を行うようにしてみます。そうすれば、互いの優れた点が浮き彫りになって見えてくると思います。」