LKMLへの参加方法
致命的なバグを見つけ、それが自分の確認できる範囲内で修正されたことを確認し、Git を使ってパッチファイルを作ることにも成功した。後はこれを今のLinux のソースコードに反映させるだけである。しかし、どのようにして大元のソースコードに修正を反映させるのか。
Linux の場合はメーリングリストを使っている。メーリングリストに修正パッチファイルを送り、それをいろんな人が見て、修正箇所を議論し、修正を反映できる人がとりこんだ時初めてそれが全体に反映される。この議論を行うメーリングリストが、Linux Kernel Mailing List。略してLKML である。
こちらにもソースコード同様独特の文化があり、適当に送っても採用されるどころか無視されることもある。ここではメーリングリストへの登録方法と、簡単な注意事項をまとめる。
LKMLの登録
まずはメーリングリストに参加する。http://vger.kernel.org/vger-lists.htmlにLinux 絡みのメーリングリストがたくさんあり、その中から自分の参加するメーリングリストを選ぶことになる。
今回はKernel の開発に参加すると言うことで、linux-kernel というメーリングリストに参加する。リンクをクリックし、詳細の上の方にあるsubscribe をクリックする。ここに参加するためのメールの定型文や送り先が書かれている。メールの新規作成ウィンドウが出てくるので、必要な部分をコピーしてLKML用のメールアドレスで送ることになる。LKMLに登録するメールアドレスはどこのものでも良いが、できれば本名を連想しやすいとか、関係のある文字列であることが好ましい。
メールを送ると、英語のメールが送られてくる。内容的には「登録したいってメール送ったけど大丈夫?本当に登録するなら以下の内容が本文のメールを送ってね。」という感じの文章が書かれている。内部構造は次のようになっている。
auth 何かよく分からん文字列subscribe メーリス名登録メールアドレス
これだけを本文にして送り返すと登録が完了する。
注意事項
まず注意事項として、メールの量が半端ない。多い日には300 通来ることになる。Gmailで見たところ、テキストベースなので容量は小さいが、それでも日に4MB ずつ消費されることを覚悟すること。
次に、LKML にも文化はあるので、少し不安な人は様子見をすると良い。例えばメールの返信の仕方もある程度決まりがあり、普通少人数のやり取りでは会話が混乱しないので自分の文章を書いた後返信元文章を書くことが多いが、LKML は量が多く会話も入り乱れるので、簡単な挨拶、返信元文章、自分の文章という順番でメールが書かれることが多い。こうでもしないと何について書いたメールかが判別できない。
パッチの送り方だが、添付ファイルではなくメールの本文に直接貼り付けることになる。複数ある場合はタイトルに(n/N) のように全部でいくつ送るのか、今はいくつめのメールなのかを明記し、1 つずつ送る。これはテキストベースでしかメールのやり取りができない人を考慮するためだとか、解凍や添付ファイルのコピー等の面倒な作業ではなく単純なコピペで済ませるためなどいろいろ言われている。パッチに関しても、1 つの機能や1 つの修正に対して1 つのパッチにしないと、修正箇所が良く分からなくなるので分割方法についても注意が必要である。
他にも、相手は人間である。そのため、過去にあった質問や過去に議論されたような機能追加等に対しては(相手も人間なので、何度も何度も同じ議論をしたくはないため) 冷たく対応されることがある。自分で過去ログを検索することも重要である(よくググれカスなどという表現がネット上で見られるが、自分でできる限り調べることは最低限のマナーである。自分が面倒だからと言って面倒な作業を他人に押し付けるべきではない)。
最後に、英語のメーリングリストは怖いかもしれないが、何となく伝わる内容であれば十分である。みんながみんな正しい英語できっちりとしたやりとりをするのではなく、時には誰かがぶちぎれて汚い言葉を喚き散らすこともあるメーリングリストである。良くも悪くも、ちゃんとコミュニケーションをとろうと努力すれば何とかなるものなので、そこら辺は勇気を振り絞って頑張ってほしい。