RHELのライバル対策?

話題になっていたのですが、Red Hat社はRed Hat Enterprise Linux(RHEL)のソースコードについて、一般向けの公開を停止するとのこと。

今後は契約者が申し出た場合に限り公開されることになる。

これがいろいろ波紋を広げているところである。


Linuxのディストリビューションは主に Debian・RedHat・Slackware の系統がある。

この中でRedHat系というのは有償サポートが受けられるRHELの存在というのがとても大きい。

単にLinuxを利用するだけなら無償で利用できる方法はいろいろあるが、

業務用途では保守サービスを長期にわたって受けられることには価値がある。

かつては2003年まではRed Hat Linuxそのものの無償版が存在したが、

RedHat社自身はRHELの有償提供を行い、一方でFedora Projectの支援に回った。

Fedoraは将来のRHELで使用する技術を検討する場としての側面もある。


ただ、実際のところは無償版Red Hat Linuxの代替として多く使われたのはCentOSだった。

CentOSはRHELのソースコードから商標に関わる部分など手を入れたもので、

RHELと高い互換性がある……というかほぼ無償版RHELである。

当初はRed Hat社から独立したプロジェクトだったが、2014年からRed Hat自身が関与するようになっている。

なぜRed Hat社は有償提供のRHELのソースコードを無償公開してきたのか。

これはLinuxカーネルを含む一連のソフトウェアに適用されるGPLの規定による。

GPLが適用されるソフトウェアに手を加えて配布した場合、要求があればそのソースコードを公開しなければならないという規定がある。

この規定はオープンソースソフトウェア(OSS)に利用者にコミュニティへの貢献を求めるものである。

従来、Red Hat社はOSSを利用してRHELを作る代わり、RHELのために手を加えたソースコードを一般に公開することでこの規定を満たしてきた。


2021年にRed Hat社は従来のCentOSの公開を終了し、CentOS Streamを公開することを決定した。

CentOS StreamはRHELのアップストリーム(先行版)に位置づけられる。

ソースコードが反映される順番が RHEL→CentOS から CentOS Stream→RHEL に変わるということである。

ただ、これはCentOS StreamがRHELのBata版という意味ではないとされている。

すぐ次のRHELがCentOS Streamとして公開されているということで、

RHELとほぼ同等の信頼性を備えるものと考えてよい。


この件の受け止め方はいろいろあるのだが、

僕は従来のCentOSをCentOS Streamで代替するのが最適と考えた。

CentOS Streamは仕組みが変わってもRHELとの互換性が高いこと。

従来のCentOSでの経験や、RHELを想定した情報が利用できること。

CentOS StreamはRHELの開発と関連付けることで持続可能性が高まったこと。

このことから現在、このサーバーではCentOS Stream 8を使用している。


ただ、全員がこのような判断をしたわけではない。

そもそもRedHat系を見捨ててDebian系に移行するのは別として――

1つはRHELに移行するという方法。

有償契約というのもあるが、一定の条件を満たせば無償利用ができる。

CentOS Streamにはマイナーバージョンの表記がないのだが、

これは最新の開発状況に合わせた最新版だけが存在しているためである。

指定のマイナーバージョンに固定しなければならない用途ではCentOS StreamはCentOSの代替にならないと。

従来のCentOSはRHEL導入前の評価目的で使われることもあったので、

条件付きで無償利用を認め、本格的に使うなら有償利用にしてねと。

このような選択肢もRed Hat社は示したわけである。


そしてもう1つ言われたのがCentOS以外のRHEL派生ディストリビューションに移行するという方法である。

当時はまだRHELのソースコードは無償配布されていた。

なので今後も従来のCentOSみたいなものを作れると思っていたわけである。

主に名前が挙げられていたのが AlmaLinux、Rocky Linux、Oracle Linux、MIRACLE Linuxといったところ。

AlmaLinuxは従来のCentOSの趣旨に最も近いものだと有力視されたらしい。

当初のCentOSはRedHatとは独立したプロジェクトだったことを考えれば、原点回帰とも言えるものである。


ところがRedHat社はRHELのソースコードの一般公開を止めてしまった。

GPLの規定ではプログラムを利用できる人から要求があればソースコードを公開すればよいので、必ずしも一般に公開しなくてもよい。

問題はこのソースコードの使い方について契約上の制約があるということ。

Red HatがクローンOSベンダを非難、「付加価値もなくコードをリビルドするだけなら、それはオープンソースに対する脅威だ」と (PublicKey)

RHELのサブスクリプション契約で再配布を禁止する規定がある。

この規定により入手したソースコードをそのまま使ってLinuxディストリビューションを作ることは契約違反となる。


これは実態としてGPLの規定を死文化させるものではないかと批判はある。

最新バージョンのRHELのアップストリームにはCentOS Streamがあり、

CentOS Streamを無償公開することでRedHat社がOSSに手を加えた成果はほとんど公開されることとなる。

では、Red Hat社はRHELのなにを利用されたくないのか?

それはマイナーバージョンごとの長期間のメンテナンス活動の成果ではないかと言われている。


さっき「CentOS以外のRHEL派生ディストリビューション」という話を書いた。

実はこの中には大手のベンダーが関わって、なおかつ有償サポートを提供するものが多いのである。

AlmaLinuxはCloudLinux、Oracle LinuxはOracleが有償サポートを提供している。

MIRACLE LINUXを提供しているサイバートラスト社は次期バージョンからAlmaLinuxの日本国内での有償サポート提供に切り替えると言っている。

Rocky LinuxもCIQ社が有償サポートを契約し、Google Cloudと提携関係にある。

これらの取り組みはクラウドコンピューティングとも関係があるようだ。


Red Hat社は長期にわたってサポートを必要とする人は有償利用と考えてきて、

かつてはそれは価値があるものとして受け入れられてきた。

それだけLinuxの業務利用について、Red Hat社の存在は圧倒的だったと。

しかし、RHELのソースコードをほぼそのまま転用して商売する会社がいくつも出現し、

さすがにこれは無視できないとなった結果が冒頭の話なのではないか。

Red Hat社が今後もRHEL開発を通じてOSSに貢献するには必要な策だったと言われると納得感はある。


CentOS Streamで公開されているコードを利用していけば、

RHELと互換性のあるディストリビューションは維持できる可能性がある。

ただ、それはそれで労力がかかるので、それが維持し続けられるかはわからない。

短期的には維持できても、長期的に維持できるかはわからない。

RHELとの互換性を保ちながら性能強化を図ったOracle Linuxは、

単なるRHELのコピーではないから続けるモチベーションはありそうだが、

RHELとの互換性を保つことが段々難しくなることは考えないといけない。


CentOS Streamは持続可能であるということを前提としているが、

あまりに行きすぎるとその状況すら怪しくなってくる。

そうならないことといいんだけど……