リーナス・トーバルズ - 私はもうコーディングをしていない
(linux.slashdot.org)最近のオープンソース・サミットのキーノートでのやり取りを移したもの。
開発者に向けた良いメッセージだと思います。
Q: 最近は何をしていますか?
A: メールを読んでいます。メールを書いて、もうコーディングはしていません。
私が書くコードのほとんどはメールリーダーの中で書かれます。誰かが私にパッチやPRを送ってくると、それに反応して「いや、これはこれでいいけれど…」と言いながら疑似コードを送ることがあります。パッチをコンパイルもせず、テストもせず、文字通りメールリーダーの中で書いているので、「私の考えではこうあるべきだと思います」と話すのが私の仕事です。私はもうプログラマーではありません。
私は主にメールを書くよりも、もっと多くのメールを読むので、結局のところ私の仕事は「No」と言うことです。
誰かは人々に「No」と言って断れる存在でなければなりません。
他の開発者たちが何かを誤ると私が「No」と言うと分かっているので、彼らがもう少し慎重になってくれることを願っています。
「No」と言えるためには、その背景を知っていなければなりません。そうでなければ私の仕事はできないからです。だから私は、自分の時間のすべてを人々が何をしているのかを知るためにメールを読むことに使っています。面白い仕事ですが、ほとんどの時間をメールを読むことに費やしています。
開発者たちに私が望むのは、良いコードを作ることだけでなく、そのコードについての良い説明も書いてほしいということです。
だから私にとってコミットメッセージは、コード変更と同じくらい重要です。
時にはコード変更があまりにも明白で、メッセージが不要な場合もありますが、それは非常に非常にまれです。
だから開発者に考えてほしいことの一つは、実際にコードを書く人はコード自体だけでなく、なぜそのコードがそのようなことをするのか、そしてなぜその変更が必要だったのかを説明することです。コードを私に説明してくれれば、そのコードを信頼できるようになるからです。
オープンソースの大部分はコミュニケーションで成り立っています。その一部がコミットメッセージであり、その一部が行き交うメールです。なぜあなたがそれをしているのか、あるいはなぜそれがあなたにとってうまく機能しないのかを説明することは本当に重要です。
2件のコメント
誰かの考え、アイデア、作業に対して No と言うのは本当に難しいことです。
No と言うためにはその背景を理解していなければならない、という言葉に深く共感します。
あの方ほどのレベルなら、ただ「No」と言うだけで自ら反省するんじゃないかという気もしますが……親切ですね……(笑)