
ついに、私たち全員が同意できる点が見つかりました!オープンソースへのさらなる投資の必要性です。オープンソースプロジェクトの持続可能性を確保するための最善の方法について議論するのは当然ですが、Shopify、AWSなどの企業が、自らが依存するオープンソースプロジェクトに投資していることは、純粋にプラスに働くと言えるでしょう。
AWSで働いていた頃、会社がRustの改善に多額の資金とエンジニアリングサイクルを費やした経緯と理由について記事を書きました。AWSがRustを何らかの形でコントロールしようとしていると不満を言う人もいましたが、多くの人はAWSだけでなく、Facebook、Google、Microsoftなどが慈善事業ではなく自己利益のためにRustの改善に実際に資金を投入していることに感謝しています。
同様に、ShopifyがRubyで行っている取り組みも大変興味深いです。コマースプラットフォーム企業であるShopifyは、採用ビデオのような動画で説明しているように、長年にわたりRubyのセキュリティ、パフォーマンスなどを改善してきました。そして現在、同社は「著名な研究者に資金を提供し、RubyとRubyコミュニティのニーズに焦点を当てた研究に取り組んでもらう」としています。この動きによってRubyがより良くなることを期待する一方で、潜在的なデメリットも懸念されています。
Shopifyが得るもの
Shopifyは長年にわたり、サービスのほとんどをRuby on Railsで構築していると述べてきました。これは当然のことです。Shopifyが2006年に設立された当時、Rubyは高速なランタイムと確かな開発エクスペリエンスを備え、最も魅力的な言語の一つだったはずです。
Rubyの魅力の一つは、当時も今も、そして特に今もなお、成熟したライブラリからなる幅広く奥深いエコシステムにあります。Shopifyは、すべてをゼロから開発するのではなく、Rubyを使うことで、他社が構築する拡大し続けるRubyの世界へと参入することができます。HackerNewsのあるコメントで説明されているように、「Rubyを使い続ければ、書かなくても済むコードが山ほどあります。」
参照: 知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)
しかし、2022年現在、Shopifyは10億ドル規模の企業となり、さらなる成長が求められています。Rubyへの初期の投資から継続的な投資まで、同社は成長を維持するためにRubyを必要としています。その成長の一部はRubyの自然な進化によってもたらされました。しかし、Rubyには、何らかの後押しがなければ開発が進まない可能性のある基礎要素も存在します。そのため、Shopifyは過去1年間で、学術研究者に約50万ドルを寄付し、その後押しを行ってきました。
同社は次のように説明した。
プログラミング言語の研究は、Rubyを使用する企業にとって重要なワークロードに基づいて評価されるべきです。研究者には、コードベースの規模、デプロイ頻度、そしてそこで使用されるコードパターンを理解してもらいたいと考えています。例えば、過去20年間の多くのVM研究では、ピークパフォーマンスを向上させるために長いウォームアップ最適化期間を犠牲にしてきましたが、これはShopifyのように頻繁に再デプロイを行う企業には通用しません。研究者は、私たちが協力して指導しない限り、こうした問題に気付くことはありません。
これはShopifyに限った話ではありません。Shopifyは、小規模から大規模へと拡大を続ける小売業者の膨大な数のWebビジネスを支援しています。Ruby on Railsは、技術に詳しくない小売業者でも、自社のeコマースウェブサイトを自社で構築したり、構築を専門に請け負ったり、Shopifyとシームレスに接続したりすることを容易にします。Rubyの進化は、ShopifyエンジニアとShopifyの顧客体験の向上に繋がります。
しかし、ShopifyはRubyにただ乗りし、貢献することなくRubyを使うという選択肢もありました。結局のところ、世界中のほとんどの企業がオープンソースに対して行っていることです。ある意味ではこれは問題ですが、何十年も前からこのやり方で機能しており、オープンソースは成長を続けています。しかし、Shopifyにとって、貢献することは非常に理にかなっています。依存しているすべてのオープンソースプロジェクトではないかもしれませんが、企業としての存在にとって中核となる基盤プロジェクトに対しては、貢献することが重要です。
Rubyコミュニティ
ShopifyがRuby(プログラミング言語)投資市場を独占しているように思われたくないのですが、そんなことはありません。全く違います。Shopifyは、Eileen Uchitelleのような主要なRuby貢献者を雇用しています。彼女はRubyとRailsの両方に携わり、Shopifyの規模拡大に対応しています。しかし、Ruby on Rails(サーバーサイドスクリプティングやWebアプリ構築に使用されるWebアプリケーションフレームワーク)は、Basecampの開発者たちが開発したものであり、彼らはRuby言語にも多大な貢献をしてきました。
参照: 次の Linux 導入ブームの前に Linux と Docker をマスターしよう (TechRepublic Academy)
Rubyコアチームには、GitHub、Salesforceなどの企業で働いている、または過去に働いていたメンバーに加え、独立コンサルタントもいます。これらの開発者はそれぞれ、自身の経験、そして雇用主のニーズ、そして資金とコードによる貢献を持ち寄っています。このように、多様な貢献者コミュニティが結集することで、たとえ貢献者自身がRubyをより良くしたいだけであっても、Rubyをすべての人にとってより良いものにしていくのです。
一方、Shopifyや他の企業がRubyのようなオープンソースプロジェクトに投資する唯一の本当のデメリットは、貢献する企業が1社か少数の場合です。これはShopifyのような企業にとっても問題です。彼らは貢献する唯一の企業になりたくないのです。これでは、共同投資の目的そのものが損なわれ、コミュニティへの影響力も失われてしまいます。
Shopifyの投資について言及したのは、学術研究者への資金提供はオープンソースにおいて比較的新しい分野だからです。しかし、ShopifyのRubyへの貢献は重要ではあるものの、目新しいものではありません。また、本来あるべきほど一般的でもありません。
あなたの会社は、おそらく幅広いオープンソースプロジェクトに依存しているでしょう。戦略的に重要なプロジェクトを1つか2つ選び、資金やコードを提供して、プロジェクトの改善に役立ててみてはいかがでしょうか。
Ruby についてさらに詳しく知りたい場合は、次の TechRepublic Academy コースをご覧ください。
- 完全なRuby on RailsとRubyプログラミングバンドル
- 包括的なRuby on Rails
- Ruby on Rails 6 ブートキャンプ認定資格の完全バンドル
- 完全なRubyプログラマーコース
開示: 私は MongoDB で働いていますが、ここで述べられている意見は私自身のものです。