Open Source Leadership Summit開催 FoundationモデルはOSSのインキュベーションのコアとなる
Linuxに代表されるオープンソースソフトウェアを推進するLinux Foundationは、Open Source Leadership Summit(以下、OSLS)開催に合わせてオープンソースソフトウェアをホストする複数のFoundationの創立を発表した。本稿ではキーノートで紹介されたContinuous Delivery Foundation、GraphQL Foundation、そしてOpenJS Foundationについて紹介したい。
まとめてしまえば、今回のSummitでGraphQL Foundation、Continuous Delivery Foundation、OpenJS Foundationの3つが発表されたことになる。より正確には、GraphQL Foundationの創設は2018年11月にLee Byron氏がブログ記事で公開しており、今回はLinux Foundationのサブプロジェクトとして12月に参加が発表されたJoint Development FoundationにGraphQL Foundationが加わり、標準仕様の開発を進めるということの発表である。Facebookから始まったGraphQLが、ガバナンスを透明化するためにFoundationとして活動を続け、そこにLinux FoundationとJoint Development Foundationが協力するという構図と言える。
キーノートでは、それぞれのソフトウェアを支えるコミュニティの中心となる企業やコアなコントリビュータが登壇し、それぞれの意義などについて多くの時間を割いてプレゼンテーションが行われた。
GraphQL Foundation
最初に登壇したのは、元FacebookでGraphQLの開発の中心にいたLee Byron氏だ。Byron氏はFacebookでの経験を振り返って、どうしてGraphQLが生まれたのかを解説した。
FacebookはもともとWebブラウザをベースとして開発されていたが、近年のスマートフォンの隆盛に合わせてインターフェースを作り変える必要に迫られていたという。その際にHTML5をベースとしてインターフェースを開発することでスマートフォン対応を行おうとしていたが、それは失敗であったと語った。
そこから様々なデバイス、データベースへのクエリーと結果をエレガントに表現できる手段として、React.js、さらにGraphQLの開発を進め、最終的にReact EuropeでGraphQLのオープンソースソフトウェア化を発表し、現在に至るというのが簡単な経緯となる。そのプロジェクトをFacebookで推進したのが、Lee Byron氏である。
そして2019年には安定したリリースとして開発を進め、今回のFoundationという形に着地したという`わけだ。少数の企業のエンジニアがコードを書きつつ、コミュニティを拡大するというやり方には限界があったであろうことは想像できる。
GraphQL Foundation:https://gql.foundation/
Lee Byron氏のブログ記事:Introducing the GraphQL Foundation
Continuous Delivery Foundation
続いてCI/CDを実現するJenkinsの開発元であるCloudBeesの川口耕介氏が登壇し、JenkinsがContinuous Delivery Foundationへ参加した経緯などを紹介した。
なお川口氏は自身のブログでもContinuous Delivery Foundationの創設について記事を公開しているので、参考にして欲しい。
参考:Continuous Delivery Foundationが発足しました
Continuous Delivery Foundation:https://cd.foundation/
川口氏が書いているように、クラウドネイティブなシステムは潤沢なエンジニアリングリソースを持つパブリッククラウドプロバイダーによって存続が危うくなっている状態にある。これはRedis、Elastic、MongoDBなどの「オープンコア戦略」を取り続ける営利企業とっては大きな問題となっている。そういう意味では、同じような機能を果たすツールが一つの団体の中でまとまることは、デベロッパーというよりもユーザーにとって都合が良いだろう。少なくともその団体に属するツールであれば、脆弱性などについてもコミュニティが協力して対処する確率が高いからだ。
またガバナンスや意思決定についても、少数の企業が中心となって行われることでコミュニティの健全な拡大を妨げることにも繋がる。キーノートの後に川口氏に尋ねてみたところ、「Foundationを作り、そこでホストされることで乱立するCI/CDツールが健全な競争を行えるようになることを希望している」というコメントが得られた。
Continuous Delivery FoundationについてはCloudBeesだけではなく、GoogleのエンジニアがTektonを、NetflixのCD担当のDirectorがSpinnakerを紹介するなど、多彩な顔ぶれが揃った。実際Jenkins、Jenkins X、Tekton、Spinnakerなどが揃ってContinuous Delivery Foundationへの参加を決めており、ツール同士で競争しながらも組織としては活性化が促進されると思われる。
現在のビジネス環境ではアプリケーションの迅速な実装が求められており、それを加速するCI/CDはオンプレミス、パブリッククラウド、そしてハイブリッドクラウドにおいてますます重要な役割を果たすだろう。
OpenJS Foundation
またWeb開発という意味では、Node.jsとJavaScriptのそれぞれのFoundationが一つにまとまったことも大きなニュースとなった。現時点でJavaScriptがサーバー側、クライアント側の双方において重要な開発言語であることは明らかだ。しかしこれまでは、Node.jsがio.jsなどにフォークされたり、主な開発を行っていたJoyentがNode.js Foundationを創設したもののあまり上手く運営されているとは言えない状態であった。今回Linux Foundationの下で一つのFoundation、OpenJS Foundationとしてまとまることによって、ガバナンスの透明化とリソースの集中が行われると思われる。
なおGitHubには、OpenJS Foundationとして統合されるまでの打ち合わせのメモが残っており、こういう部分からも透明性を高めたいという意図を感じる。
参考:https://github.com/openjs-foundation/bootstrap
OpenJS Foundation:https://openjsf.org/
JavaScriptのエコシステムの中でNode.jsが果たす役割は大きく、Node.jsと一緒にエコシステムを拡大したいという意図を強く感じるトークとなった。「誰も私達が一つになれるなんて思ってなかったでしょ?」とBurson氏は冗談めかして語ったが、仲介役となったLinux Foundationの成果と言えるのではないだろうか。
OSSにおけるFoundationの必要性
ここでわかるのは、Linux FoundationもCNCFも自然発生的なコミュニティによるガバナンスには限界がある、と考えているということだろう。オープンソースソフトウェアがインフラストラクチャーとして重要な役割を担うようになった現在、もうホビーとしてソフトウェアを作り、ガバナンスをコミュニティに任せるやり方ではその役割に応えることはできない、そのために積極的にFoundation作りに関与することで、インフラストラクチャーとしての責任を果たしていこうという姿勢を感じる一連のセッションとなった。
ちなみに以前、CNCFのCTOであるChris Aniszczyk氏にCI/CDについて重要であるという認識をベースに「CNCFで新しいプロジェクトをホストする予定は?」と質問した際に、「Jenkinsはすでに成熟したコミュニティがあり、CNCFでホストする必要はないと思う」という回答を得たことがある。このことを考えると、すでにCNCFではなく別のFoundationによるホスティングとガバナンスを考えていたのかもしれない。どちらにせよLinux FoundationとCNCFが「Foundationモデル」とでも呼べるような形式でオープンソースソフトウェアのコミュニティを活性化しようとする流れと、Core Infrastructure InitiativeそしてCommunityBridgeの2つのファンディングモデルを活用して、デベロッパーを経済的に支援するという流れには注目していきたい。日本においても、企業発でオープンソースソフトウェアを公開してみたものの、あまり活性化されていないプロジェクトにとっては、大いに参考になる動きであろう。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Open Source Leadership Summit開催、変化に対応し持続するために何をするべきか?
- Open Source Summit Japan 2019開催。Linuxの外に拡がりを見せるLinux Foundationの今
- KubeCon China開催。DPDKとCI/CDのプレカンファレンスを紹介
- RustとGraphQLの連携で高速/シンプルなプログラミングを実現するJuniperとは
- CNDT2020シリーズ:オススメのGitOpsツールをCAのインフラエンジニアが解説
- Linux Foudationの2020年上半期の動きを振り返る(1)
- Google Cloudの開発責任者が語るKubernetesの成功の秘訣
- CNDO 2021、CI/CDのTektonのロードマップをNTTComのエンジニアが振り返る
- Open Source Summit NA 2022開催。Googleが解説する持続可能な信頼できるOSSのためのキュレーターとは?
- KubeCon 2018 EU開催 着実に拡大するKubernetesエコシステム