From: "KISHIMOTO, Makoto" Date: 2011-06-09T16:41:13+09:00 Subject: [ruby-list:48173] Re: RedmineのRuby1.9,Rails3対応 きしもとです。 > > 有用なコミットができたと思ったら、upstreamにpull requestを送ってください。 > > それが採用されてはじめて、上記の大きなグラフの一部に参加することになります。 > > http://help.github.com/send-pull-requests/ > > > なるほどオープンソースの世界のことが少し理解できました。 > Redmineのメインストリームに参加出きるような方針を模索してみます。 > いずれにしても、Rails3.1のリリースを待って何もしないという状況は > 個人的にはよくないとおもいます。 > Rails3.1対応はリリースされてから考えても間に合うでしょう。 > > ここで私があがいてもRedmineのメインストリームに踊りだす可能性は低いと思 > いますが > 職場でRubyが1.9に、Railsが3にバージョンアップしそう! > という方にはうってつけのテーマだと思いますので > 引き続き賛同者を募集します。 メインストリームに参加、というのは、普通、プッシュする権利が与えられて、 自分の判断でメインのリポジトリのコードを変えられるようになる、ということを 言うんじゃないかと思うわけですね。で、それはまずどんなプロジェクトでも 比較的敷居が高いのが当然かと思います。 で、従来の流儀では、そういう参加のしかたをしてない人は、パッチを開発 メイリングリストに投げて採用してもらう、というのが主流のやりかただった、 んではないかと思いますが、 githubは、そこらへんが革命的に変わっていて、単に使うだけでなく、コードに 手を入れたいという人は(従来はそういうことは手元のローカルコピーでやる ものでしたが)、まずforkしてください、というスタンスのわけですね、 というのがまず1点。昔はなんだかんだでforkというのはコストの高い行為でしたが、 githubでのforkは、従来のforkとは全く違うものです。 次にプルリクエストについてですが、プルリクエストというのは、要するに 従来の「パッチを採用してもらう」というのと同じプロセスです。乱暴に言うと。 (巨大な、たとえばYARVであるとかTOMOYO Linuxのようなパッチについては とりあえず考えないとして)バグ修正とかそういう程度のパッチは、 「メインストリームに参加」とかそういう勢いでなくても投げるものですし、 受け付けるものですよね? githubのプルリクエストも、gitのそこらへんの 機能によって、特定の変更部分について、これを取り込んで、とお願いして、 受け入れ側が、いいね、と思えば受け入れ側の判断でその「パッチを当てる」 というものなので(Linuxカーネル開発の手順では「コントリビュータ」と 「コミッタ」という役割となっていましたっけ?)、つまり何が言いたいかと いうと、forkしてプルリクエストを投げて、というのは「メインストリームに 踊りだす」というような気合を入れて取りかかる必要は全くないものですよ、 ということです。