The open source paradox

Salvatore Sanfilippo

オープンソースのパラドックス

原文は Salvatore Sanfilippo により に公開されました。 このブログを購読する

SNSやプログラミングコミュニティで、ひそかに広まりつつある考え方がある。コードを書くことに対して支払われる金額と、その仕事の品質について要求できるレベルは比例する、という考えだ。

誰かが言ったように、最高のコードは、本来やるべき別の仕事をサボっているときに書かれるものだ[1]。有名企業のためにコピーライティングの仕事をしているときではなく、もしかしたら誰からも一銭も支払われないかもしれない小説を書いているときにこそ作家は最高の力を発揮するのと同じように、プログラマーも、馬鹿げていて、退屈で、無意味だと感じながら会社のプロジェクトの断片をまた一つ書く勤務時間中よりも、オープンソースのサイドプロジェクトにはるかに多くのエネルギーを注ぎ込む。そして会社が十分に大きければ、そのプロジェクトはどうせ半年もすれば中止されるか、華々しいローンチの一年後には廃止される可能性が高いのだ。

オープンソースは違う。それは作品であり、自分が本当にやりたいこと、ソフトウェアはこうあるべきだという思い、あるいはコーディングしているときに感じるただの楽しさや喜び、さらには怒りそのものをコードという形に写し取ったものだ。だからこそ、それを最高のものにしたい、完璧なものにしたいと思うし、クソみたいなハイゼンバグが一つあるだけで夜も眠れなくなる。だから、もしあなたのソフトウェアのユーザーが、コードのどこかがひどいと指摘してきて、それをなんとかしようとあなたと一緒に取り組む意欲を見せ、非常に厳しい要求を突きつけてきたとしても、彼らが金を払っていないからといって、自分が搾取されているなどと思わないでほしい。問題は金ではない。もちろん、バグを無視してもいいし、彼らの苦情を無視してもいい。そうしないという契約を結んでいるわけではないのだから、それは可能だ。しかし彼らはあなたを助けているのだ。彼らはあなたと同じものを気にかけている。あなたのソフトウェアの品質、壮大さ、完璧さを。

あなたが本当に持っていて、しかもしばしば活かしきれていない権利がある。それは、ソフトウェアの設計を決められるのはあなただけだということだ。だからこそ、誰かの貢献が自分が設計し構築している全体像に合わないと感じたなら、プルリクエストを拒否したり、ベストプラクティスに従うべきだという提案を断ったりする権利があるのだ。

しかし、もし誰かが指摘していることが、実際にあなたのソフトウェアの欠陥だと気づいたのなら、そのやり取りを金という卑俗な問題に矮小化するという過ちを犯してはならない。あなたは無償で作業をしている。彼らはあなたが書いたものをデプロイして尻に火がつくリスクを負っている。あなたたち二人とも、品質を気にかけているのだ。

追記:もしあなたがOSSを書いていて、ユーザーの要求にうんざりしているのなら、もしかすると今のその仕事が、何らかの理由で会社の仕事と似たものになってしまっているのではないかと考えたことはあるだろうか。

追記2:Hacker Newsのあるユーザーから、このようなタイトルにした理由を尋ねられた。パラドックスとは、OSSの作者は、有償で書いている他の仕事よりも、無償で書いているコードの方を気にかけ、むしろ進んで修正しようとすることだ。

[1] 「最高のプログラムとは、プログラマーが本来取り組むべき別の仕事があるときに書かれたものだ。」 - Melinda Varian。https://twitter.com/CodeWisdom/status/1309470447667421189

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント