Rubyはお金(Money)という価値を生み出す言語に変化した

まつもとゆきひろ氏:最後になりますが、最も重要なものは、お金ですね。

昔は、「RubyKaigi」とか「Ruby Conference」とか、みんな趣味で集まっていたんですね。

2001年に、最初のRuby Conferenceはフロリダ州のタンパというところでやりましたが、その時に来てくださった方は34人しかいなかったんですね。

(Ruby Conferenceが開催されたのは)「OOPSLA」という、ACM(Association for Computing Machinery)という学会の会議の前の週だったので、OOPSLAに出る人がついでに、「Rubyがおもしろそうだから顔を出すか」と顔を出した人たちがほとんどでした。

別にお金が儲かるからとか、なにかについて学びたいから来たわけではなくて、「なんかRubyっていう新しいテクノロジーがおもしろそうだから」って来たわけですね。それはそれですごく楽しくて良かったです。

でも、現代においては、かなり数多くの人たちが、単に趣味ではなくて、例えば仕事に使うから、あるいは、この技術でビジネスが回っているので、会社に応援されて「じゃあ、ちょっと行ってRubyについて学んでこい」というふうに言われたりして来る人もたくさん増えました。

それは、Rubyがお金という価値を生むようになったからこそできることではないかなと思います。

これは、「Top Ruby Companies」というサイトです。西嶋さん(西嶋悠貴氏)がこういう公開情報を使って、Rubyで世界中のトップRubyカンパニーの情報を集めましたというサイトです。

これを見ると、Rubyを使っている公開企業で最も時価総額が高いのがAirbnbだそうです。AirbnbはJRubyを使っているんですけれども、時価総額が60.2ビリオンなので、602億ドル(笑)? ドルだとちょっと想像がつかないんですが、602億ドルの時価総額があります。

2番目がShopifyで、394億ドルだそうです。ものすごいお金を稼いでいるわけですね。Square、Coinbase、Zendeskと続きますね。ちょっと飛んで、7位にGitLabがいたり、Coupaとかmondayとか、Brazeとかありますね。

日本企業はちょっと下がって、20位にFreeeさん、146億ドル。次がMoney Forwardさん。ちょっと飛んで、MIXIですね。まぁ、MIXIは全面的にRubyを使っているわけではないんですけれども、「モンスト」のバックエンドがRubyだと聞いたことがあります。

こんな感じで、何百億ドルというお金をですね……、まぁ時価総額をどう見るかは諸説あると思いますけれども、いずれにしても、たくさんのビジネスがRubyで回っていることは明らかだと思います。

もちろん、価値はあるけれども、そもそも公開していない企業もたくさんありますので、これ以上に、たくさんの企業がRubyを使って世の中に価値を生み出してくださっていると思います。

これは別のWebブログ記事です。Y Combinator、超アーリーステージのベンチャーキャピタルと言っていいのかな。卒業生の中でトップ50のソフトウェア企業を集計したという記事があります。

トップ50のソフトウェアスタートアップの1位はStripeです。StripeはRubyでできているんですね。続いて、Cruise、Airbnb、DoorDash、Twitch、Instacartと並びます。

この中で、例えばCruiseやAirbnbは先ほど名前が出ましたね。それからTwitchもRubyを一部使っています。InstacartもRubyですと書いてあります。

これはその続きになりますが、集計した場合、トップ50のうち13企業、26パーセントがRubyを使っています。この数だけだと、2位のPythonとは22パーセント、26パーセントであまり変わらないんですけど、注目すべきはトータルバリュエーションのほうです。トップ50企業の時価総額のうち52パーセントはRuby関連企業から生まれています。それは2位のPython、17パーセントに比べて随分高いというね。なんか、いい感じの数字ですよね。

これは昨日スポンサーブースからもらってきた、転職ドラフトさんのグラフです。上に行けば行くほど企業から求められていて、右に行けば行くほど給料が高いというグラフです。

2019年から2021年、全般的に給料が上がっているので、下の軸を見るとずれているんですね。左側のグラフだと620と630のところに縦の線が入っているんですが、右のグラフを見ると、660と670のところに縦の線が入っているんですね。

これを見ると、平均的にもだいぶ上がっているんですが、赤い点がRuby関連テクノロジーなので、「RSpec」とかは非常に高いところにいる。みんなRSpecを使うと、高い給料で転職できるかもしれません(笑)。

ユーザーに期待したいコントリビューションは「Publicity(広報)」

こういうことを考えると、なんか親切な人たちにインターネットで「Rubyは死んだ」と言われても、気にしなくていいんじゃないかなと思うんですね。価値を生み出している限りは、私たちが気にすることはあまりないと思います。

私たちは、前に進み続けようと思うんですね。Rubyがますます発展する、価値を生み続けるための鍵になるのは、やはりコミュニティだなと思います。私たちが前に進むためにも、より多くの力が必要であると思います。

一部の人たちががんばるだけでは、前にドライブするのは限界があるので、みんな一緒に強くなるということが求められるんじゃないかなと思います。

こちらからお願いするのはだいぶ心苦しいんですが、みなさんのコントリビューションが非常に重要になってくると思います。最初に、みなさまに期待したいコントリビューションとしては、広報、「Publicity」というのがあります。

Rubyはちょっと誤解されたり、情報が広く伝わらなかったりすることがたびたびあるので、お願いしたいなと思います。ブログとかTwitterとかを通じて、広く情報を伝えたいなと思います。

例えば、みなさん自身がRubyで開発していて経験したこととか、あるいは、新しい技術を解説するテクノロジーブログであるとか。

それから、Rubyでプロダクトを作ってもらって、それは自社プロダクトかもしれませんし、趣味のプロダクトかもしれませんが、そういうものを自慢してもらって、「俺こんなの作ったよ、すごいだろう」みたいな感じのことを、どんどん書いてもらうことでRubyについての正しい認識がより広まって、誤解が少なくなったり、親切な人が余計なお世話な忠告をしてくることが減ったり、私の精神安定がより進んだりということが起きるんじゃないかなと思います。

バグ報告や機能要望も大歓迎

さらに、Rubyでバグを見つけた時、あるいは、Rubyにこんな機能があったらいいのにと思うことはたびたびあるんですけれども、そういうことを私たちに教えてくださることによって、Rubyの開発をドライブできると思います。

実際、毎年Rubyはリリースしていて、いろいろな新しい機能が入っていますが、コミュニティからの「こんな機能があったらいいと思うんだけど」という提案をベースにして作られたものが、そのうちのかなりの割合を占めています。

Rubyの初期の頃は、もちろんすべての機能を私がデザインしていましたし、なにか新しい機能を作る時も、私が「こうあるべきだ」と思って作ったもののほうが多かったんですね。すごく初期の頃は。

でも、ここ10年ぐらいは、どちらかというと、コミュニティから出た「こんな機能があったらRubyがもっと良くなると思うんだけど」という提案をベースにして、改善したもののほうが圧倒的に多いんですね。

ということは、このバグレポートやフィーチャーリクエストみたいなものは、Rubyの進歩、言語の進歩のドライビングフォースになっていると思います。

あて先はこちらのアドレスにお願いしますということで、「(https://)bugs.ruby-lang.org」ですね。気軽に書いていただければ。

残念ながら、提案されたもののうちの8割、9割はリジェクトされるんですね。ほかの機能と矛盾するとか名前が気に入らないとか、いろいろありますが、さまざまな理由でリジェクトされます。

提案したからといって、それをすぐ採用できるかというと、それはできないんですけれども、ただ、もしかするとあなたの提案が、明日のRubyの進歩につながるかもしれないという期待を心に秘めつつ、いろいろ思いついたことを提案していただけるといいんじゃないかなと思います。

ただし、断られた時も心を平安にしていただければなと思います。

GitHubのプルリクエスト、ドキュメンテーションの不備の指摘も受け付けている

次です。バグレポートするだけではなくバグを直すとか、機能提案するだけではなく、機能を実際に実装するということも、だいぶ期待されています。

最近Rubyは、GitHubのプルリクエストを受け付けるようになりました。あて先はこちら、「(https://)github.com/ruby/ruby」ですね。こちらでプルリクエストを受け付けています。ただ、プルリクエスト付きで機能を提案される方もけっこういらっしゃるのですが、もともとの機能が採用されないと当然マージされることもありませんので、そこらへんはご承知おきください。

最初に議論して「入れる」と決めてから、フィーチャーリクエストに関してはプルリクエストを作っていただいたほうが、無駄がなくていいんじゃないかなとは思います。

ちょっと疲れちゃった。休憩(笑)。

気を取り直して。プログラマーのうちの多くは、ドキュメンテーションを書くのがあまり好きじゃないんですね。良くないことではあるんですが、どうしてもコードを書いているほうが楽しいんですね。

そういうこともあって、ドキュメンテーションがなおざりになることがけっこうあります。そういうことのないように、最近追加されたこの機能がドキュメント化されていないとか、気がつかれたら、ドキュメンテーションのアップデートのプルリクエストとか、あるいは、「このへんが間違っているよ」という指摘だけでも十分なので、先ほどのバグレポートで教えていただけると大変感謝します。

タイポの修正は、いきなりプルリクエストを送ってもらってだいたい大丈夫なので、期待しています。実際、いろいろなものを最近ももらっていて、感謝しています。

(次回へつづく)