237
Railsエコシステムの研究 松田 明 @RubyKaigi2009 2009718日土曜日

Railsエコシステムの研究

Embed Size (px)

DESCRIPTION

RubyKaigi2009初日のセッション「Railsエコシステムの研究」(A Study In The Rails Ecosystem)の発表資料。

Citation preview

Page 1: Railsエコシステムの研究

Railsエコシステムの研究松田 明

@RubyKaigi2009

2009年7月18日土曜日

Page 2: Railsエコシステムの研究

はじめに

•今日話すこと•今日話さないこと

2009年7月18日土曜日

Page 3: Railsエコシステムの研究

今日話すこと

2009年7月18日土曜日

Page 4: Railsエコシステムの研究

今日話すこと

Ruby on Railsに関する何か

2009年7月18日土曜日

Page 5: Railsエコシステムの研究

Outline1. 発表タイトルについて2. Railsについて3. Railsの進化の歴史4. Railsエコシステム5. Contributing to Rails6. 私たちにできること

2009年7月18日土曜日

Page 6: Railsエコシステムの研究

今日話さないこと

2009年7月18日土曜日

Page 7: Railsエコシステムの研究

今日話さないこと

RailsでのWebアプリケーションの作り方

2009年7月18日土曜日

Page 8: Railsエコシステムの研究

そういうのが聞きたい方は

隣の部屋でやってます

2009年7月18日土曜日

Page 9: Railsエコシステムの研究

自己紹介

2009年7月18日土曜日

Page 10: Railsエコシステムの研究

% whoami

2009年7月18日土曜日

Page 11: Railsエコシステムの研究

% whoami

:name => 松田 明,:twitter => @a_matsuda,:github => amatsuda

2009年7月18日土曜日

Page 12: Railsエコシステムの研究

Job

freelance Railer

2009年7月18日土曜日

Page 13: Railsエコシステムの研究

フェロー(笑)

2009年7月18日土曜日

Page 14: Railsエコシステムの研究

来月から社名が変わります

2009年7月18日土曜日

Page 15: Railsエコシステムの研究

Asakusa.rb

http://asakusa.rubyist.net/

2009年7月18日土曜日

Page 16: Railsエコシステムの研究

秋に本が出ます

2009年7月18日土曜日

Page 17: Railsエコシステムの研究

Head First Rails

•オライリー社•超初学者向け•Rails 2.3 Ready!•秋発売予定

2009年7月18日土曜日

Page 18: Railsエコシステムの研究

乞うご期待!

2009年7月18日土曜日

Page 19: Railsエコシステムの研究

Outline

1. 発表タイトルについて2. Railsについて

3. Railsの進化の歴史

4. Railsエコシステム

5. Contributing to Rails

6. 私たちにできること

2009年7月18日土曜日

Page 20: Railsエコシステムの研究

Railsエコシステムの研究

2009年7月18日土曜日

Page 21: Railsエコシステムの研究

去年の前田さんの基調講演

「Rails症候群の研究」

2009年7月18日土曜日

Page 22: Railsエコシステムの研究

今日話すこと

「Rails」と「エコシステム」

2009年7月18日土曜日

Page 23: Railsエコシステムの研究

「Rails」とは?

ご存知 ”Ruby on Rails”

2009年7月18日土曜日

Page 24: Railsエコシステムの研究

「Rails」とは?

Rubyで作られているオープンソースのWebアプリケーションフレームワーク

2009年7月18日土曜日

Page 25: Railsエコシステムの研究

「Rails」とは?

詳しくはまたあとで

2009年7月18日土曜日

Page 26: Railsエコシステムの研究

「エコシステム」とは?

2009年7月18日土曜日

Page 27: Railsエコシステムの研究

「エコシステム」とは?

「生態系」のこと。

2009年7月18日土曜日

Page 28: Railsエコシステムの研究

こんなやつ

2009年7月18日土曜日

Page 29: Railsエコシステムの研究

生態系ピラミッド

2009年7月18日土曜日

Page 30: Railsエコシステムの研究

「エコシステム」とは?

転じて、

2009年7月18日土曜日

Page 31: Railsエコシステムの研究

「エコシステム」とは?「オープンソースの分野では、(中略)オープンソースソフトウェアをどのように開発、改良、利用すれば、オープンソースの世界の健全かつ安定的な発展を促進できるかという問題を解決しようとする理念のことを意味する。」 http://ossipedia.ipa.go.jp より

2009年7月18日土曜日

Page 32: Railsエコシステムの研究

「オープンソース」とは?

昨今話題ですが、今日は深入りはしません

2009年7月18日土曜日

Page 33: Railsエコシステムの研究

生態系ピラミッド

オープンソースのエコシステムを表現してみる

2009年7月18日土曜日

Page 34: Railsエコシステムの研究

最も単純なOSSのエコシステムの構造

コミッタ

ユーザー

2009年7月18日土曜日

Page 35: Railsエコシステムの研究

最も単純なOSSのエコシステムの構造

コミッタ

ユーザー

作る人

使う人

2009年7月18日土曜日

Page 36: Railsエコシステムの研究

最も単純なOSSのエコシステムの構造

コミッタ

ユーザー

越えられない壁

作る人

使う人

2009年7月18日土曜日

Page 37: Railsエコシステムの研究

日本のRubyエコシステムの構造

コミッタ

ユーザー

越えられない壁

作る人

使う人

2009年7月18日土曜日

Page 38: Railsエコシステムの研究

日本のRubyエコシステムの構造

ML参加者

コミッタ

ユーザー

越えられない壁

作る人

使う人

2009年7月18日土曜日

Page 39: Railsエコシステムの研究

ユーザー

日本のRubyエコシステムの構造(詳細版)

越えられない壁コミッタ

作る人

使う人

2009年7月18日土曜日

Page 40: Railsエコシステムの研究

ユーザー

日本のRubyエコシステムの構造(詳細版)

越えられない壁

作る人

使う人

2009年7月18日土曜日

Page 41: Railsエコシステムの研究

ユーザー

日本のRubyエコシステムの構造(詳細版)

越えられない壁ruby-core

作る人

使う人

2009年7月18日土曜日

Page 42: Railsエコシステムの研究

ユーザー

日本のRubyエコシステムの構造(詳細版)

越えられない壁

唯一神

ruby-core

作る人

使う人

2009年7月18日土曜日

Page 43: Railsエコシステムの研究

ユーザー

各種ライブラリ作者

日本のRubyエコシステムの構造(詳細版)

越えられない壁

唯一神

ruby-core

作る人

使う人

2009年7月18日土曜日

Page 44: Railsエコシステムの研究

ユーザー

ruby-dev各種ライブラリ作者

日本のRubyエコシステムの構造(詳細版)

越えられない壁

唯一神

ruby-core

作る人

使う人

2009年7月18日土曜日

Page 45: Railsエコシステムの研究

ユーザー

ruby-list

ruby-dev各種ライブラリ作者

日本のRubyエコシステムの構造(詳細版)

越えられない壁

唯一神

ruby-core

作る人

使う人

2009年7月18日土曜日

Page 46: Railsエコシステムの研究

日本のRubyエコシステムの構造(詳細版)

•唯一神「Matz大神」の存在

•MLの棲み分け•「使うだけの人」から上にのぼる道が険しい

2009年7月18日土曜日

Page 47: Railsエコシステムの研究

上にのぼる道が険しい

Rubyはそれでいい

2009年7月18日土曜日

Page 48: Railsエコシステムの研究

ユーザー

ruby-list

ruby-dev各種ライブラリ作者

日本のRubyエコシステムの構造(詳細版)

越えられない壁

唯一神

ruby-core

作る人

使う人

2009年7月18日土曜日

Page 49: Railsエコシステムの研究

ユーザー

ruby-list

ruby-dev各種ライブラリ作者

日本のRubyエコシステムの構造(詳細版)

越えられない壁

唯一神

ruby-core

作る人

使う人もうひとつの壁

2009年7月18日土曜日

Page 50: Railsエコシステムの研究

Railsエコシステム

では、Railsは?

2009年7月18日土曜日

Page 51: Railsエコシステムの研究

Railsエコシステムの構造

2009年7月18日土曜日

Page 52: Railsエコシステムの研究

Railsエコシステムの構造唯一神

2009年7月18日土曜日

Page 53: Railsエコシステムの研究

Railsエコシステムの構造

Rails Core

唯一神

2009年7月18日土曜日

Page 54: Railsエコシステムの研究

コントリビューター

Railsエコシステムの構造

Rails Core

唯一神

2009年7月18日土曜日

Page 55: Railsエコシステムの研究

報告者

コントリビューター

Railsエコシステムの構造

Rails Core

唯一神

2009年7月18日土曜日

Page 56: Railsエコシステムの研究

Activists

報告者

コントリビューター

Railsエコシステムの構造

Rails Core

唯一神

2009年7月18日土曜日

Page 57: Railsエコシステムの研究

ユーザー

Activists

報告者

コントリビューター

Railsエコシステムの構造

Rails Core

唯一神

2009年7月18日土曜日

Page 58: Railsエコシステムの研究

ユーザー

Activists

報告者

コントリビューター

Railsエコシステムの構造

Rails Core

唯一神作る人

使う人

2009年7月18日土曜日

Page 59: Railsエコシステムの研究

ユーザー

Activists

報告者

コントリビューター

Railsエコシステムの構造

Rails Core

唯一神作る人

使う人

ごく薄い境界

2009年7月18日土曜日

Page 60: Railsエコシステムの研究

Railsエコシステムの特徴•レイヤー間の垣根が低い。フルスタック•作る人多め•下のあたりもとっても柔軟な構造•コミュニティをうまくドライブして活用するための意図的な工夫•Railsの駆動力を支えるための重要な装置

2009年7月18日土曜日

Page 61: Railsエコシステムの研究

人口分布

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神

2009年7月18日土曜日

Page 62: Railsエコシステムの研究

人口分布

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神 1

2009年7月18日土曜日

Page 63: Railsエコシステムの研究

人口分布

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神 1

6

2009年7月18日土曜日

Page 64: Railsエコシステムの研究

人口分布

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神 1

6

1372

2009年7月18日土曜日

Page 65: Railsエコシステムの研究

人口分布

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神 1

6

1372

多数

2009年7月18日土曜日

Page 66: Railsエコシステムの研究

人口分布

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神 1

6

1372

多数

もっと多数

2009年7月18日土曜日

Page 67: Railsエコシステムの研究

人口分布

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神 1

6

1372

多数

もっと多数

星の数ほど

2009年7月18日土曜日

Page 68: Railsエコシステムの研究

ユーザー

Activists

報告者

コントリビューター

日本における人口分布

Rails Core

唯一神 0 / 1

0 / 6

数名 / 1372

数名 / 多数

? / もっと多数

やたら多数

2009年7月18日土曜日

Page 69: Railsエコシステムの研究

いきなり結論

みんなもっと参加しようよ!

2009年7月18日土曜日

Page 70: Railsエコシステムの研究

でもどうやって?何のために?

本日のテーマ

2009年7月18日土曜日

Page 71: Railsエコシステムの研究

まとめでした

以上、まとめおわり。

2009年7月18日土曜日

Page 72: Railsエコシステムの研究

Outline1. 発表タイトルについて

2. Railsについて3. Railsの進化の歴史

4. Railsエコシステム

5. Contributing to Rails

6. 私たちにできること

2009年7月18日土曜日

Page 73: Railsエコシステムの研究

Railsについて

Railsについてちょっとおさらい

2009年7月18日土曜日

Page 74: Railsエコシステムの研究

「Rails」とは?(reprise)

2009年7月18日土曜日

Page 75: Railsエコシステムの研究

「Rails」とは?(reprise)

開発が始まってからまだ5年

2009年7月18日土曜日

Page 76: Railsエコシステムの研究

開発が始まってまだ5年

驚異的な進化のスピード

2009年7月18日土曜日

Page 77: Railsエコシステムの研究

驚異的な進化のスピード

AWDwR(日本語版)の表紙を見ればわかる

2009年7月18日土曜日

Page 78: Railsエコシステムの研究

AWDwR(日本語版)の表紙

2006年 2007年

2009年7月18日土曜日

Page 79: Railsエコシステムの研究

I18n.t(“Rails”) == “線路”

「電車」のメタファー

2009年7月18日土曜日

Page 80: Railsエコシステムの研究

「電車」のメタファーの持つ意味

CoC

2009年7月18日土曜日

Page 81: Railsエコシステムの研究

「電車」のメタファーの持つ意味

•Rapidity•走り続けるフレームワーク

2009年7月18日土曜日

Page 82: Railsエコシステムの研究

Rapidity

in another word, “Agility”

2009年7月18日土曜日

Page 83: Railsエコシステムの研究

Agile

アジャイルであれ、という気持ちが名前に込められている e.g. AWDwR

2009年7月18日土曜日

Page 84: Railsエコシステムの研究

Agility

Agile => “Embrace Change”

2009年7月18日土曜日

Page 85: Railsエコシステムの研究

Ch-ch-ch-ch-Changes

変わり続けるということ

=>

走り続けるということ

2009年7月18日土曜日

Page 86: Railsエコシステムの研究

走り続けるということ

線路は続くよどこまでも

2009年7月18日土曜日

Page 87: Railsエコシステムの研究

「電車」のメタファー(reprise)

•Rapidity•走り続けるフレームワーク

2009年7月18日土曜日

Page 88: Railsエコシステムの研究

Railsの本質

変化2009年7月18日土曜日

Page 89: Railsエコシステムの研究

変化

RubyKaigi2009のテーマは、「変わる/変える」です。 http://rubykaigi.org/2009/ja より

2009年7月18日土曜日

Page 90: Railsエコシステムの研究

変化し続けるということ

絶え間ない「カイゼン」

2009年7月18日土曜日

Page 91: Railsエコシステムの研究

最新のRailsが最高のRails

Railsは永遠に未完成であるという宿命

2009年7月18日土曜日

Page 92: Railsエコシステムの研究

Rails格言

"edge is more stable than stable, so use edge"

http://groups.google.com/group/rails-i18n/browse_thread/thread/24143dbaff2841bf

より

2009年7月18日土曜日

Page 93: Railsエコシステムの研究

「枯れたバージョンのRails」?

Railsの本質と矛盾

2009年7月18日土曜日

Page 94: Railsエコシステムの研究

Railsの本質

Railsは走り続ける電車 =>

永久に枯れない。枯れたら死ぬ。

2009年7月18日土曜日

Page 95: Railsエコシステムの研究

「エンタープライズRails」

とっても難しい分野

2009年7月18日土曜日

Page 96: Railsエコシステムの研究

近年のRailsの進化の歴史

数々の新しい試み

2009年7月18日土曜日

Page 97: Railsエコシステムの研究

数々の新しい試み

2.1 Named Scope2.2 Rails I18n2.3 Engines / Templates / nested attributes

2009年7月18日土曜日

Page 98: Railsエコシステムの研究

数々の新しい試み

2.1 Named Scope2.2 Rails I18n2.3 Engines / Templates / nested attributes

3.0 Merb

2009年7月18日土曜日

Page 99: Railsエコシステムの研究

近年のRailsの大きな変化

いずれもコアチームが作ったものではない

2009年7月18日土曜日

Page 100: Railsエコシステムの研究

ユーザー

Activists

報告者

コントリビューター

ここ

Rails Core

唯一神

2009年7月18日土曜日

Page 101: Railsエコシステムの研究

近年のRailsの大きな変化

コミュニティの産物

2009年7月18日土曜日

Page 102: Railsエコシステムの研究

Contributors

Railsの変化力 / 駆動力の源

2009年7月18日土曜日

Page 103: Railsエコシステムの研究

Contributors

Railsの成功の秘訣

2009年7月18日土曜日

Page 104: Railsエコシステムの研究

ユーザー

Activists

報告者/要望者

コントリビューター

人口分布

Rails Core

唯一神 1

6

1372

多数

もっと多数

星の数ほど

2009年7月18日土曜日

Page 105: Railsエコシステムの研究

コントリビューター

コントリビューターの人数がすごいことに

2009年7月18日土曜日

Page 106: Railsエコシステムの研究

Railsの早さの秘密

今のRailsは1400人が同時多発的に開発を行っているという恐るべき状況

2009年7月18日土曜日

Page 107: Railsエコシステムの研究

これを実現している仕組み

あとで詳しく

2009年7月18日土曜日

Page 108: Railsエコシステムの研究

なにも最初からこうだったわけではない

コントリビューターの人数がすごい件

2009年7月18日土曜日

Page 109: Railsエコシステムの研究

Outline1. 発表タイトルについて

2. Railsについて

3. Railsの進化の歴史4. Railsエコシステム

5. Contributing to Rails

6. 私たちにできること

2009年7月18日土曜日

Page 110: Railsエコシステムの研究

専制君主制(DHH一人プロダクト時代) =>代表民主制(svn, Trac時代) =>直接民主制(GitHub, Activists)

Political Change

2009年7月18日土曜日

Page 112: Railsエコシステムの研究

その後しばらく

ふつうのオープンソース

2009年7月18日土曜日

Page 114: Railsエコシステムの研究

何がこの状況をもたらしたのか?

2009年7月18日土曜日

Page 115: Railsエコシステムの研究

何がこの状況をもたらしたのか?

GitHub

2009年7月18日土曜日

Page 116: Railsエコシステムの研究

GitHubがもたらしたもの

直接民主制の始まり

2009年7月18日土曜日

Page 117: Railsエコシステムの研究

直接民主制?

ユーザー == コミッタ(使う人) (作る人) という理想

2009年7月18日土曜日

Page 118: Railsエコシステムの研究

誰もがコミット権を持つ社会

全てのユーザーが自分の持つオレオレforkに好きなだけコミットする自由

2009年7月18日土曜日

Page 119: Railsエコシステムの研究

オレオレRails

コミットの価値が認められれば本家に取り込まれる

2009年7月18日土曜日

Page 120: Railsエコシステムの研究

社会の変革

GitHubの登場はコミッタを特権階級から追い落とす革命だった http://blog.s21g.com/articles/1341

2009年7月18日土曜日

Page 121: Railsエコシステムの研究

Railsらしいところ

Railsの社会に革命をもたらしたGHもまたRailsで作られている、というメタ革命

2009年7月18日土曜日

Page 122: Railsエコシステムの研究

The 3rd Impact

•Dave ThomasによるRubyの発見•DHHによるRubyの発見•RubyistによるGitの発見

2009年7月18日土曜日

Page 123: Railsエコシステムの研究

viva GitHub!

Thank you Scott!

2009年7月18日土曜日

Page 124: Railsエコシステムの研究

Outline1. 発表タイトルについて

2. Railsについて

3. Railsの進化の歴史

4. Railsエコシステム5. Contributing to Rails

6. 私たちにできること

2009年7月18日土曜日

Page 125: Railsエコシステムの研究

Railsエコシステム

話は戻って、

2009年7月18日土曜日

Page 126: Railsエコシステムの研究

あらためてエコシステムを上から

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神

2009年7月18日土曜日

Page 127: Railsエコシステムの研究

唯一神

What does he actually do?

2009年7月18日土曜日

Page 128: Railsエコシステムの研究

唯一神

DHHがどこかで言ってた「みんなのパッチを判断してコミットするだけの簡単なお仕事」 ソース not found

2009年7月18日土曜日

Page 129: Railsエコシステムの研究

あらためてエコシステムを上から

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神

2009年7月18日土曜日

Page 130: Railsエコシステムの研究

コアチーム

メンバー紹介http://rubyonrails.org/core

2009年7月18日土曜日

Page 131: Railsエコシステムの研究

メンバー

日本人は居ません

2009年7月18日土曜日

Page 132: Railsエコシステムの研究

会社の存在

•37signals•Engine Yard

2009年7月18日土曜日

Page 133: Railsエコシステムの研究

会社の存在

日本ではMatzぐらいなのに

2009年7月18日土曜日

Page 134: Railsエコシステムの研究

あらためてエコシステムを上から

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神

2009年7月18日土曜日

Page 135: Railsエコシステムの研究

コントリビューター

Railsはコアチームのみにて作られるにあらず

2009年7月18日土曜日

Page 136: Railsエコシステムの研究

コントリビューター

ここからは僕らでもなれる

2009年7月18日土曜日

Page 137: Railsエコシステムの研究

ランキング

Rails Contributors http://contributors.rubyonrails.org/

2009年7月18日土曜日

Page 138: Railsエコシステムの研究

集計方法

•GitのcommitのAuthorを gritで抜き出して集計•Git便利•微妙に集計誤差もあるから参考程度に

2009年7月18日土曜日

Page 139: Railsエコシステムの研究

Contributors

•1372 people!•実際は 1400+ とも言われている

2009年7月18日土曜日

Page 140: Railsエコシステムの研究

Contributors

ちなみにオレオレ

2009年7月18日土曜日

Page 141: Railsエコシステムの研究

Japanese

でも日本人超少ない><

2009年7月18日土曜日

Page 142: Railsエコシステムの研究

条件

Railsのバグfixやenhancementのパッチをなんかコミットすること

2009年7月18日土曜日

Page 143: Railsエコシステムの研究

必要スキル / 必要なもの•Ruby(公用語)•英語(公用語)•Railsのソースを読み書きできること (特にテストが大変)•LHのアカウント•Git

2009年7月18日土曜日

Page 144: Railsエコシステムの研究

実際にやること

あとで

2009年7月18日土曜日

Page 145: Railsエコシステムの研究

あらためてエコシステムを上から

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神

2009年7月18日土曜日

Page 146: Railsエコシステムの研究

報告者

LHでバグ報告

2009年7月18日土曜日

Page 147: Railsエコシステムの研究

LightHouse

RubyでいうところのRedmine http://rails.lighthouseapp.com

(LH使いづらい・・・よね?)

2009年7月18日土曜日

Page 148: Railsエコシステムの研究

必要なもの

•英語(公用語)•LHのアカウント

2009年7月18日土曜日

Page 149: Railsエコシステムの研究

あらためてエコシステムを上から

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神

2009年7月18日土曜日

Page 150: Railsエコシステムの研究

Activists

ちょっといったん置いといて、

2009年7月18日土曜日

Page 151: Railsエコシステムの研究

おまけ

ちょっと毛色は違うけど、

2009年7月18日土曜日

Page 152: Railsエコシステムの研究

プラギン/gemライブラリ作者

•独自路線•我が道を行ってください•運が良ければコアに取り込まれるという 出世コースも

2009年7月18日土曜日

Page 153: Railsエコシステムの研究

必要なもの

•Githubのアカウント•Ruby•Git

2009年7月18日土曜日

Page 154: Railsエコシステムの研究

プラギンとかgemとか

きょうびGithub以外で開発とかないよね?

2009年7月18日土曜日

Page 155: Railsエコシステムの研究

Activists

上記以外のなにかしらの形でRails社会に参加/貢献したい人

2009年7月18日土曜日

Page 156: Railsエコシステムの研究

例えば、

Ruby on Rails Wikiプロジェクト http://groups.google.com/group/rubyonrails-wiki

2009年7月18日土曜日

Page 157: Railsエコシステムの研究

Rails Wiki プロジェクト

•コンテンツの充実•各国語に翻訳•既に成果が反映され始めている http://wiki.rubyonrails.org/

•... no Japanese?

2009年7月18日土曜日

Page 158: Railsエコシステムの研究

Rails Feedback Forum

Rails 3に今後実装してほしいものなどについて要望を出す

2009年7月18日土曜日

Page 159: Railsエコシステムの研究

Rails Feedback Forum

uservoice.com http://rails.uservoice.com

2009年7月18日土曜日

Page 160: Railsエコシステムの研究

... and much more!

2009年7月18日土曜日

Page 162: Railsエコシステムの研究

必要なもの

•英語(公用語)•情熱

2009年7月18日土曜日

Page 163: Railsエコシステムの研究

あらためてエコシステムを上から

ユーザー

Activists

報告者

コントリビューター

Rails Core

唯一神

2009年7月18日土曜日

Page 164: Railsエコシステムの研究

ユーザー

いわゆる「お客さん」

2009年7月18日土曜日

Page 165: Railsエコシステムの研究

ユーザー

このトークが終わったあとでここの人口が変わらなかったら失敗・・・?

2009年7月18日土曜日

Page 166: Railsエコシステムの研究

日本人にとっての最大の障壁

英語

2009年7月18日土曜日

Page 167: Railsエコシステムの研究

英語

Rubyに次ぐ公用語

2009年7月18日土曜日

Page 168: Railsエコシステムの研究

英語

何をするにも必要

2009年7月18日土曜日

Page 169: Railsエコシステムの研究

Railsはもともと英語のフレームワーク

Designed forEnglish use only

2009年7月18日土曜日

Page 170: Railsエコシステムの研究

Rails I18n以降

最近は状況が変化

2009年7月18日土曜日

Page 171: Railsエコシステムの研究

Rails I18nがもたらしたもの

Railsが世界のフレームワークに

2009年7月18日土曜日

Page 172: Railsエコシステムの研究

Rails I18nがもたらしたもの

Railsコミュニティが世界規模に拡大

2009年7月18日土曜日

Page 173: Railsエコシステムの研究

非英語圏のみなさんの英語

かなりひどい

2009年7月18日土曜日

Page 174: Railsエコシステムの研究

英語

かなりひどい英語でも大丈夫。みんな優しい。

2009年7月18日土曜日

Page 175: Railsエコシステムの研究

日本人でもOK

今がチャンス?

2009年7月18日土曜日

Page 176: Railsエコシステムの研究

Outline1. 発表タイトルについて

2. Railsについて

3. Railsの進化の歴史

4. Railsエコシステム

5. Contributing to Rails6. 私たちにできること

2009年7月18日土曜日

Page 177: Railsエコシステムの研究

モチベーション

もちろん「義務」とかではない

2009年7月18日土曜日

Page 178: Railsエコシステムの研究

モチベーション

•自分の好みに合わせてRailsを改変する権利•純粋に楽しい•成り行き上

2009年7月18日土曜日

Page 179: Railsエコシステムの研究

成り行き?

偶然ではなく、巧妙に仕組まれた罠

2009年7月18日土曜日

Page 180: Railsエコシステムの研究

Railsに仕組まれた罠

1. Railsは永遠に未完成なフレームワーク2. 続々と新機能3. 新機能に関してはそれなりに実装できたら出す

2009年7月18日土曜日

Page 181: Railsエコシステムの研究

開発者が罠にはまるパターン

1. 続々と新機能

2. ワクワクするから使いたくなる

3. ドキュメントないし、ソース読まないと危なくて使えない

4. 使ってみたら壊れてるし、ソース読んでるうちに直したくなる

5. GitHubという誰でも開発に参加できる仕組み

6. 自然にパッチができている

2009年7月18日土曜日

Page 182: Railsエコシステムの研究

Railsの本質

「完成していないこと」

2009年7月18日土曜日

Page 183: Railsエコシステムの研究

The Rails Way

コントリビューターへの信頼を前提としているからこその攻めのプロダクト

2009年7月18日土曜日

Page 184: Railsエコシステムの研究

非常にうまく機能している

とてつもない進化のスピードを実現

2009年7月18日土曜日

Page 185: Railsエコシステムの研究

これを踏まえて、

Railsの正しい使い方

2009年7月18日土曜日

Page 186: Railsエコシステムの研究

Railsの正しい使い方

完成してないところは自分が完成させながら使えばいいじゃん。

2009年7月18日土曜日

Page 187: Railsエコシステムの研究

「Rails開発」の2つの意味

Railsで作りながらRailsを作る

2009年7月18日土曜日

Page 188: Railsエコシステムの研究

手元のRailsが直ったとして、

何故パッチをコミットするのか?モンキーパッチで充分なのでは?

2009年7月18日土曜日

Page 189: Railsエコシステムの研究

Railsのモットー

Don’t Repeat Yourself

2009年7月18日土曜日

Page 190: Railsエコシステムの研究

Railsのモットー

Don’tRepeatYourself

2009年7月18日土曜日

Page 191: Railsエコシステムの研究

Don’t Repeat Yourself

•あなたが踏んだバグを他の誰かにも 踏ませてはならない•あなたが書いたモンキーパッチを 他の誰かも書く必要はない

2009年7月18日土曜日

Page 192: Railsエコシステムの研究

究極のDRY感覚

世界中のRailerたちの間でDRYを共有

2009年7月18日土曜日

Page 193: Railsエコシステムの研究

世界をDRYに

あなたが手元のパッチをコミットするべき理由

2009年7月18日土曜日

Page 194: Railsエコシステムの研究

Outline1. 発表タイトルについて

2. Railsについて

3. Railsの進化の歴史

4. Railsエコシステム

5. Contributing to Rails

6. 私たちにできること2009年7月18日土曜日

Page 195: Railsエコシステムの研究

Practices

•Railsのバグを発見するコツ•LHの使い方•GHの使い方

2009年7月18日土曜日

Page 196: Railsエコシステムの研究

Railsのバグを発見するコツ

•常に先っちょのRailsを使う•新機能を積極的に使う•フレームワークを疑う•フレームワークのコードをとにかく読む

2009年7月18日土曜日

Page 197: Railsエコシステムの研究

Edge

常に先っちょが最良で最高のRailsなんだから、ここまでは必然

2009年7月18日土曜日

Page 198: Railsエコシステムの研究

Railsのバグをうまく踏むコツ

「新機能」を積極的に使う

2009年7月18日土曜日

Page 199: Railsエコシステムの研究

新機能

RESTとかBDDとか、新しいトレンドの実装はRuby/Rails界からどんどん産まれてきている

2009年7月18日土曜日

Page 200: Railsエコシステムの研究

昔はJavaだった

"今のRubyは10年前のJavaだ。” -- EngineYardのひと

2009年7月18日土曜日

Page 201: Railsエコシステムの研究

新しい技術

せっかくRuby/Railsを使っててこれを使わないなんて勿体ない!

2009年7月18日土曜日

Page 202: Railsエコシステムの研究

Practices

フレームワークを疑う

2009年7月18日土曜日

Page 203: Railsエコシステムの研究

フレームワークを疑う

•フレームワークのデザインを疑う•フレームワークの実装を疑う

2009年7月18日土曜日

Page 204: Railsエコシステムの研究

フレームワークのデザインを疑う

•Rubyはキメると気持ちいい•Railsもキメると気持ちいい•Ruby/Railsは開発者が自然に気持ちよく 書けるようにデザインされているはず

2009年7月18日土曜日

Page 205: Railsエコシステムの研究

自然に気持ちよく書けなかったら

デザインが間違っているはず

2009年7月18日土曜日

Page 206: Railsエコシステムの研究

フレームワークの実装を疑う

Railsは、ユーザーに叩いてもらうことを見越して、そこそこの完成度で早めに出してくる

2009年7月18日土曜日

Page 207: Railsエコシステムの研究

特に新機能は

大抵どっか壊れてる

2009年7月18日土曜日

Page 208: Railsエコシステムの研究

特に日本人は

欧米の開発者が想定してなかったようなレアケースを踏んでしまうことが多いような気がする

2009年7月18日土曜日

Page 209: Railsエコシステムの研究

フレームワークのコードを読む

•同じRubyで書かれているから抵抗なく読める•頭から読む必要はない。 自分が引っかかったところから•毎日の差分をGitで読む(後述)

2009年7月18日土曜日

Page 210: Railsエコシステムの研究

LHの使い方

•チケットは検索しにくい•投稿時にプレビューがなくて はまる

2009年7月18日土曜日

Page 211: Railsエコシステムの研究

僕の場合

とりあえずチケットには全て目を通す。気になったチケットはwatchしまくって、あとはメールで追う。

2009年7月18日土曜日

Page 212: Railsエコシステムの研究

GHの使い方

コミットは全部目を通す

2009年7月18日土曜日

Page 213: Railsエコシステムの研究

僕の場合

% git log

2009年7月18日土曜日

Page 214: Railsエコシステムの研究

git log

% git log -p --stat --reverseで数日に一回差分を読むぐらいで。

2009年7月18日土曜日

Page 215: Railsエコシステムの研究

Contributing through your job

ケーススタディ

2009年7月18日土曜日

Page 216: Railsエコシステムの研究

実際のお仕事の開発案件

•永和システムマネジメントさん•リクルートMTLさん

2009年7月18日土曜日

Page 217: Railsエコシステムの研究

2009年2月開発スタート

nested attributesとかどうしても使いたくてRails 2.3.0(beta1)系Edgeを採用

2009年7月18日土曜日

Page 218: Railsエコシステムの研究

新機能

かなり早い段階からRails 2.3の新機能が使えた

2009年7月18日土曜日

Page 219: Railsエコシステムの研究

会社にとってはリスク

「責任はオレが取る」 - @kakutani

2009年7月18日土曜日

Page 220: Railsエコシステムの研究

Edge時代

FWの挙動が怪しいとソースを読む日々

2009年7月18日土曜日

Page 221: Railsエコシステムの研究

成果

問題の報告をしたり、パッチがいくつか採用されたり

2009年7月18日土曜日

Page 222: Railsエコシステムの研究

というわけで、

永和システムマネジメントとメディアテクノロジーラボはRailsの開発に貢献しています!

2009年7月18日土曜日

Page 223: Railsエコシステムの研究

2009年7月18日土曜日

Page 224: Railsエコシステムの研究

こんな会社がもっと増えるといいな

これもまた、会社としてオープンソースを支援する一つの手段ではないでしょうか?

2009年7月18日土曜日

Page 225: Railsエコシステムの研究

そろそろ結論

2009年7月18日土曜日

Page 226: Railsエコシステムの研究

みんなもっとRailsの開発に参加しよう

2009年7月18日土曜日

Page 227: Railsエコシステムの研究

でもどうやって?何のために?

2009年7月18日土曜日

Page 228: Railsエコシステムの研究

どうやって?

•Edge Railsで暮らす•そしてcontributeする

2009年7月18日土曜日

Page 229: Railsエコシステムの研究

何のために?

よりよい(Railsの)世界を作るために

2009年7月18日土曜日

Page 230: Railsエコシステムの研究

Outline1. 発表タイトルについて

2. Railsについて

3. Railsの進化の歴史

4. Railsエコシステム

5. Contributing to Rails

6. 私たちにできること2009年7月18日土曜日

Page 231: Railsエコシステムの研究

日本に居てRailsを使うということ

日本のRailsは遅れているが、日本のRubyは進んでいる

2009年7月18日土曜日

Page 232: Railsエコシステムの研究

ガイジンどもにはできないこと

Rubyの母国という強みを生かした貢献e.g. Ruby 1.9 M17n

2009年7月18日土曜日

Page 233: Railsエコシステムの研究

M17n

なるせさんをお招きしてRailsのM17N関連にダメ出しする会 @ Asakusa.rbhttp://qwik.jp/asakusarb/56.html

2009年7月18日土曜日

Page 234: Railsエコシステムの研究

Asakusa.rb #11

3本のパッチをコミット

2009年7月18日土曜日

Page 235: Railsエコシステムの研究

宣伝

Asakusa.rbではこんな活動を行っております。

続きはAsakusa.rbで!

2009年7月18日土曜日

Page 236: Railsエコシステムの研究

end

2009年7月18日土曜日

Page 237: Railsエコシステムの研究

Thank You!2009年7月18日土曜日