Ruby on Railsはどのように生まれ、発展してきたのか[前編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開

今回は「Ruby on Railsはどのように生まれ、発展してきたのか[前編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開」についてご紹介します。

関連ワード (回目、容易、年頃等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


最も有名なWebアプリケーションフレームワークの1つである「Ruby on Rails」は、もともと37signals社が社内向けに開発したフレームワークでした。

現在ではGitHubやShopifyなど大規模なWebサービスを支えるRuby on Railsも、登場初期には「スケールしない」という批判にさらされ、また競合となるフレームワークが登場するなどの経緯を経ています。

こうしたRuby on Railsのこれまでを、作者であるDavid Heinemeier Hansson(以下、DHH)氏や関係者が振り返る動画「Ruby on Rails: The Documentaryが、昨年(2023年)11月に公開されました。

Ruby on Railsがどのような経緯で開発され、発展してきたのか。DHH氏やコアチームの発言によって紹介されています。この記事では、その内容をかいつまんで紹介していきましょう。

Ruby on Rails: The Documentary

37Signals共同創業者兼CEO Jason Fried氏。

Ruby on Railsの作者であるDHH氏との最初の出会いを振り返ります。

fig

「1999年か2000年頃、私は37signalsというWebデザイン企業を経営していました。2人のビジネスパートナーとWebデザインを受注していたのです」(Fried氏)

Fried氏は本業とは別に再度プロジェクトとしてオンライン書籍データベースの開発に取り組んでいました。開発はPHPで行っていたものの、Fried氏はプログラミングでつまづきます。

当時はまだStackOverflowのような技術的な質問に答えてくれる掲示板などなかった時代。Fried氏はブログに「誰かこの問題を解決する方法をご存じですか?」と書き込みます。

するとデンマークからメールが届きます。メールを書いてきたのがDHH氏でした。

fig

「私は(37signals社の)Signal vs. Noiseというブログを以前から熱心にフォローしていました」とDHH氏。

「ブログで彼の質問を見て、私は『おお、この答えを知っているぞ!』と思いました。 彼への返事は、私が彼らのブログを読んで楽しんだり学んだりしてきたことへのお返しです。私は彼がPHPでやりたいと思っていたことについての説明を詳しく書きました」

その後もFried氏とDHH氏のプログラミングのやり取りは続きます。そしてある日、Fried氏は全体のコードをDHH氏に見せたところ、DHH氏が「これはひどい、最初からやり直したほうがいい、私にやらせてください」と発言。

Fried氏とDHH氏のパートナーシップは、こうして始まったと説明されました。

プログラミングの学習に2度失敗したDHH氏

DHH氏は、初めてコンピューターを手に入れたのは1985年、6歳のときだったと語ります。

fig

「プログラミングに初めて触れたのは、ビデオゲームのプログラムを雑誌から入力したときでした。しかし入力が下手だったのか、プログラムのうち数本しか動かせませんでした。

10歳か11歳、12歳くらいのときにもう一度プログラミングを学ぼうとしました。そのとき使ったのはEasy AMOS と呼ばれるプログラミング環境でしたが、私にとっては簡単ではなく、私はまたしてもプログラミングの学習に失敗しました」

「1995年にHTMLと出会って、何かを実際に作れるチャンスがあると思えるようになり、そして1999 年に私は他のプログラマと一緒にPHPでゲームのWebサイトの制作を始めて、初めてうまくできました。

当時私は20歳で、プログラミングを学ぶのは3回目ですが、ようやく理解できたのです」

DHH氏の報酬はコンピュータ機器

Fried氏とDHH氏のパートナーシップが始まった後、二人はシカゴで実際に会い、いくつかのクライアント向けのプロジェクトに取り組むことになりますが、忙しくなってきたことでプロジェクトをきちんと管理するツールが必要になります。

fig

そこで、そのためのプロジェクト管理ツールを自分たちで作ろうとしたのです。2003年に開発が始まる「Basecamp」がそれでした。Fried氏はBasecamp開発のためにDHH氏に報酬を払うことにします。

Fried氏。「当時の彼は『お金は要らない、ラップトップが欲しい、コンピューター機器が欲しい』という感じでした。というのも、デンマークに住む彼にとって最新のApple製品の入手は容易ではなかったようです。

そこで彼が米国に来るたびに、これはおそらく違法なのですが、私は彼にラップトップを与えたり、彼がその時に必要としていたものを何でも与えました。それはBasecampに関する報酬でした」

fig

Rubyとの出会い

そしてここでDHH氏はRubyと出会うことになります。

「私はちょうどその年の初めにMartin Fowlerの著作を通じてRubyを知りました。また、Dave Thomas はプログラミング雑誌でプログラミングの概念をRubyで説明していて、これは本当に興味深いプログラミング言語だと思いました。

まず第一に、私はRubyをそれまで知りませんでしたが、その時点で私はWebに何年も取り組んでいて非常に興味をそそられました。またRubyは日本から登場したことも、とても興味深かったです。

Rubyのコードはまるで疑似コードのように見えました。つまりプログラミングの概念を説明しようとするときに、正確に正しい構文ではなく、英語に近い概念的なコードを書いてしまうことがあります。Rubyはまさにそう見えました。そしてそれは本当に興味深いことでした」

「Rubyの好きなところは、最小限のあいまいさでHello WorldをWebに公開できるPHPの即時性と、非常に洗練され、よく考えられた一貫したオブジェクト指向プログラム言語が組み合わさっているところなのです」

Ruby on Railsの誕生

こうしてDHH氏はBasecampの開発でRubyを試すことにしたのです。

「まず簡単なことから始めました。2週間の猶予期間を自分に与え、RubyでレンダリングされたHTMLを画面に表示できるかどうか、データベースと通信できるかどうか、これらを簡単に実現できるかどうかを試したのです」

これがRailsの始まりでした。

「そこから6カ月から7か月かけて私たちはBasecampを開発し、開発の過程で私はRailsを生み出しました。あらじめ何らかのデザインがあったわけではなく、大きなWebフレームワークが欲しかったから作ったのです」

2004年2月にBasecampがリリースされた後、DHH氏は6カ月かけてRuby on Railsの内容やドキュメントを精査し、完成させた上でリリースしましました。

そしてRuby on Railsが話題になると、DHH氏は新たな悩みを持つようになります。それはRuby on Railsに対してさまざまな要求が寄せられるようになったことです。

「自分が作ったものがこれほどの盛り上がりを見せているのを見るのはとても嬉しかったです。一方で、私はRailsに込めたビジョンの完全性を非常に大切にしていました。

Railsに興味を持つ人が増えると、Railsの方向性を指示しようとする人も出てきます。そうなると物事はコントロールを失い、他人からの貢献に喜んで時間を費やしているうちに、『ノー』ということが難しくなります。誰かに対して『ノー』と言ってしまうと、意見が衝突してしまうのです。

しかし私はRailsに望まない多くの意見に『ノー』と言い続けました。

カナダで行われた、あるカンファレンスでの有名なスライドがこれです」

fig

「私はRailsに取り組みたいからそうしているのであって、問題を解決し、フレームワークの整合性を守っていきます」

「オープンソースは商業的な関係ではなく、何をすべきか、Railsが取るべき方向性を私に指示することはできないのです。判断は私自身がしていきます。もちろん、フィードバックは受け付けています。

そしてRailsが強存在するのは、何千人ものコントリビュータのおかげなのです。そうした人々には、私は躊躇せず『イエス』と答えていました」

≫後編に続く。後編ではRailsコアチームに所属していた開発者が、これまでの経緯を振り返ります。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
ニコン、生成AIの業務利用を解禁–作業短縮効果は1年で3万時間以上
IT関連
2023-09-16 13:06
マイクロソフト、8月の月例セキュリティパッチ–「Print Spooler」の脆弱性など修正
IT関連
2021-08-11 06:40
「マネーフォワード クラウド経費」、「Microsoft OneDrive」「Google Drive」と連携
IT関連
2022-06-25 12:07
NTT Comら、AIが化学プラントの運転を支援する新サービス
IT関連
2022-04-14 12:11
ラズパイで「Windows 10 on ARM64」を動かす(事前準備編) :名刺サイズの超小型PC「ラズパイ」で遊ぶ(第37回)(1/2 ページ)
アプリ・Web
2021-02-25 04:23
primeNumber、「海外展開」「無料プラン」で攻勢–データ活用のすそ野を拡大へ
IT関連
2023-03-03 01:41
デロイトと福島県、データ駆動型農業の実証でブロッコリー栽培を開始
IT関連
2023-10-17 17:20
一般人が撮影したネット上の写真から建物を高品質に3D化するGoogleの機械学習技術 :Innovative Tech
トップニュース
2021-01-29 23:20
次のLTS版となる「Node.js 22」正式リリース。WebAssembly GCがデフォルトで利用可能に
JavaScript
2024-05-01 19:57
スタバが交通系電子マネーに対応
ライフ
2021-01-14 02:04
MongoDBのCTOが語る、AIがソフトウェア開発にもたらす大きな変化
IT関連
2023-07-01 06:32
IIJ、高校野球のネット中継にクラウド提供 最大100試合の同時配信に対応
クラウドユーザー
2021-07-15 04:32
改正個人情報保護法施行から半年–消費者の不安や嫌悪感に対応できているか
IT関連
2022-12-03 18:37
Oracle Cloudのリージョンを社内に持てる「OCI Dedicated Region」、最小12ラック、年間1億3000万円からの対応をオラクルが発表
Oracle
2022-06-23 00:19