|
ソフトウェアは世界を変えつつあり、ソフトウェア開発の方法も静かに変化しています。近年、世界的な開発は爆発的な成長を遂げ、ソフトウェアアプリケーションの数は年間1.5倍の割合で増加しています。IDCのデータによると、2020年には世界のソフトウェアコードの総行数は100万行に達し、開発成果の40%はサードパーティコードの再利用によって実現されています。もちろん、サードパーティコードの大部分はオープンソースコミュニティからのものです。 一方、IDCは、2024年までにソフトウェア開発の80%がサードパーティのコードを再利用すると予測しています。その理由は単純です。巨人の肩に立って、車輪の再発明を避けるためです。こうした効率性の向上とグローバル化の潮流の影響を受けて、コードの再利用はますますオープンになっています。 しかし、サードパーティのコードやオープンソースのコードを再利用することは、一度きりの解決策なのでしょうか? 答えは「ノー」です。 オープンソースコードの再利用における課題 まず、オープンソース コードが無数に存在する中で、膨大な量のオープンソース コンポーネントとコードの中から、長期的に保持できるコードをどのように発見し、選択するかが最大の課題です。 第二に、オープンソースソフトウェアは「生きている」ものであり、常に進化を続けています。コミュニティによる継続的な更新、進化する技術、そしてタイムリーなバグ修正をどのように活用して収益を生み出すかが、大きな課題となっています。同時に、企業が社内で開発するコードも絶えず進化しています。この進化をオープンソースコードと統合し、統一されたエンタープライズグレードのソフトウェアを構築することも、重要な課題の一つです。 第三に、コードが存在する場所には脆弱性が存在します。これらの脆弱性をどのように解決し、セキュリティと安定性の問題を回避するかは、オープンソースソフトウェアを選択するプロセスにおける大きな課題でもあります。 これは、他者の成果物を再利用することが容易ではないことを示しています。こうした状況において、Red Hat のソフトウェア開発アプローチは、コードを書く必要があるあらゆる企業にとって極めて重要です。 周知の通り、レッドハットは創業から30年にわたり、エンタープライズレベルのソフトウェア開発においてオープンソースのコンポーネントとコードを活用し、豊富な経験を積み重ねてきました。「将来的には、100万行のコードを書く場合、平均して約80万行はレッドハットと同様の開発アプローチで書かれることになるだろう」と、レッドハットの戦略製品プロモーションマネージャーであるトン・イーチョウ氏は述べています。 Red Hat の R&D 原則では、アップストリーム開発が優先されます。 「アップストリームファースト」は、Red Hatにとって常に中核的なビジネス原則です。Red Hatにとって、この原則は開発の初期段階からアップストリームコミュニティへの貢献を考慮するだけでなく、実装後にコミュニティへの還元も行うことを意味します。この相互に利益のあるアプローチは、オープンソースコミュニティとRed Hatの双方に利益をもたらしました。エンタープライズLinuxのコードのうち、Red Hatが雇用する開発者によって書かれたのはわずか3分の1で、残りの70%はコミュニティから生まれたコードであると報告されています。これは、アップストリームのイノベーションが改良され、コミュニティにフィードバックされる一例です。 Red Hatの開発原則:100%オープンソース Red Hatの成功は、オープンソースへの揺るぎないコミットメントと切り離せないものです。Red Hatは、オープンソース開発モデルこそがイノベーションをより迅速に推進する最良の方法だと考えています。 董一洲氏は、狭義にはLinuxカーネルはGPLオープンソースライセンスの下で開発されており、GPLのコードを使用するコードはすべてオープンソースでなければならないと述べた。国際ルールとオープンソースの原則を厳格に遵守する企業として、Red HatのLinuxは間違いなくオープンソースとなるだろう。 もちろん、Red Hat は Linux、Kubernetes、OpenShift 以外にも多くの製品を提供しています。さらに、Kubernetes をはじめとする多くのクラウドネイティブ コンポーネントは、比較的寛容な Apache オープンソース ライセンスの下でライセンスされています。では、Red Hat はソースコードをクローズするのでしょうか?答えは「ノー」です。 広い視点から見ると、Red Hatはオープンソースモデルを超えたビジネスの成功への道を切り開いてきました。30年にわたり、Red Hatはサブスクリプションベースの価格モデルを堅持し、純粋なオープンソース製品を販売しながら、アップストリームコミュニティへの継続的な投資を行ってきました。Red Hatはオープンソース技術に積極的に貢献しており、オープンソースコミュニティからアップストリーム技術製品を抽出し、それらをテストしてポートフォリオにパッケージ化し、さらに広範な顧客サポート、関連リソース、パートナーサービスを追加することで、製品全体の価値を高めています。そして、これらのエンタープライズグレードの技術製品ポートフォリオを企業や政府機関に販売することで、Red Hatの成功ビジネスモデルを形成しています。 好奇心と自律性は、Red Hat が最も重視する資質です。 Red Hatのオープンソースコミュニティで開発者になるには、小さなバグを解決することから始めることができます。しかし、Red Hatに参加するには、開発者としての好奇心と自主性が求められます。 Red Hatのチーフアーキテクトである張嘉聚氏は、好奇心はRed Hatの文化の一部であり、開発者には研究精神が求められると述べています。開発者がコミュニティに一定の貢献をすれば、当然ボーナスポイントが付与されます。 Red Hatのエンジニアは一般的に非常に自律性が高く、単に指示に従って完了後に報告するのではなく、多くのことを自ら率先して行います。このワークモデルには自律性が欠けています。すべてのプロジェクトが成功するとは限らないため、Red Hatは失敗を奨励しています。 好奇心と自主性は、Red Hatの企業文化に素早く溶け込むために不可欠です。「オープンソースに興味があり、オープンソースが好きで、最初の一歩を踏み出したいのであれば、勇気が必要です。パッチにエラーがあっても心配する必要はありません。アップストリームコミュニティが受け入れてくれるからです。カーネルアップデートであれ、Red Hatが管理する他のオープンソースプロジェクトであれ、Red Hatに参加したい、あるいは入社したいのであれば、勇気を持って最初の一歩を踏み出すだけで十分です」と、Red Hatカーネル開発マネージャーのヤン・ルイルイ氏は述べています。 |