ある企業が、オープンソースにどれだけコントリビュートしているかを視覚化するプロジェクトStackalyticsの最新のデータによれば、CNCFのオープンソースエコシステムに対して、Googleが変わらぬ大きな影響力を保持していることが明らかになった(Stackalyticsは、Mirantisによって設立され、OpenStack Foundationによってホストされている)。確かに、このデータによれば、GoogleはCNCFプロジェクトへコミットされる全てのコードの、およそ53%を担っている。2番目に大きなコントリビューターであるRed Hatは、7.4%とはるかに引き離されている。
CNCFはKubernetesの総本山だ。KubernetesはGoogleがオープンソース化した非常に人気の高いコンテナオーケストレーションサービスである。このことを考えれば、Googleがトップコントリビューターである事実に大きな驚きはないだろう。しかし、データによれば、Kubernetesを考慮に入れなかったとしても、Googleは依然として、全CNCFプロジェクトに対するトップコードコントリビューターなのだ。その理由の一部は、同社がCNCFに寄付したキューイングプロジェクトであるGRPCと、YouTubeのために開発したデータベースクラスタリングシステムVitessの主要コントリビューターでもあることにも由来している。
それでもGoogleが主なコントリビューターではないプロジェクトも沢山ある。例えばJaegerの64%のコントリビューションはUberから提供されたものであり、LinkerDのコードコミットの84%はBuoyantのエンジニアから出てきたものだ。興味深いのは、レポートによれば、特定の1社が40%以上のコントリビュートを行っていないプロジェクトは1つしかないということだ。それはモニタリングソリューションのPrometheusである。これはSoundCloudによってCNCFに寄付されたものだが、現在その大部分がRedHatの個人開発者たちによって保守されている。
こうした統計情報を読めば、GoogleはCNCFエコシステムの中で少々支配的すぎると言いたくなるかもしれない。だがもちろんGoogleは、そうは考えていない。
「Googleは、オープンソースソフトウェアへのコントリビューションに対して、長い貢献と尊重の歴史を持っています。私たちは還元することが喜びなのです」と語るのは、GKEならびにKubernetes、そしてGoogle CloudのグループプロダクトマネージャーであるAparna Sinhaである。「まず心に浮かぶ例はKubernetesです。オープンソース史上最も速く成長したプロジェクトの1つであり、現在は活発なコミュニティと幅広い業界からの支持を受けています。Googleは、コミュニティとより広範なCNCFの中で変わらぬ推進力を発揮し、中心的な役割を果たして来ました。その勢いの主要な部分は、広範なエンジニアリングの専門知識、コードのコントリビューション、そして計算機リソースの供与、あるいはプロジェクトマネジメントや、テストならびにドキュメンテーションの提供といった、Googleによるプロジェクトの成功への深いコミットメントによるものです。私たちはこれまで同様に、プロジェクトに献身的に取り組んでおり、より広いKubernetesコミュニティがプロジェクトの未来を形作り、その長期的な成功を確実にし始めていることに興奮を抑えることができません」。
CNCFがDevStatsツールを介して自身のデータを公開していることも注目に値する。これは内容的にはStackalyticsと似たような傾向は読み取れるものの、コントリビューターとしてのGoogleの優位性をさほど大きく示してはいない。Mirantisの共同創業者でCMOのBoris Renskiにこれらの不整合について尋ねたところ、Stackalyticsがコミットそのものに焦点を当てているのに対し、CNCF自身のツールはレビュー、コメント、提出されたイシューなどへのコントリビューションに着目していることを指摘した。またStackalyticsは、Red Hatがかなりのコントリビューションを行っている、CNCFのサンドボックスプロジェクトも考慮に入れていない。2つのツールはまた、属性を異なる方法で処理している。DevStatsは、以前CoreOSから提供されていたコントリビューションに関しては、RedHatによる買収後は全てRedHadからのコントリビューションとして取り扱っている。
Twitter上でRenskiは、それぞれの組織はこうした不整合を取り除くために各データソースをマージすべきであると提案した。だが筆者の見るところ、CNCFとOpenStackが、現在どれほどきちんと共同作業を行うことができるのかはわからない。
[原文へ]
(翻訳:sako)