2020-06-22

OSS の持続可能

ここ最近の COVID19Radar https://github.com/Covid-19Radar/Covid19Radar 上でのゴタゴタにより、開発者の @kazumihirose さんが https://twitter.com/kazumihirose/status/1274616019420471296 疲弊してしまいっているのを見て、(今回の揉め事根本的な原因はソフトウェアOSSとして公開されているのが原因ではないと思うが)いたたたまれない気持ちになったので書く。書いてみた結果ただのとりとめもないOSSへの愚痴になってしまった。

増田について

いくつかのOSSプロジェクトのメインコントリビュータとして関わっています

OSS メンテナのバーンアウト

私の周囲のソフトウェアエンジニアOSSに対して以下のような意見を述べているのをよく聞く。

かにOSS特定企業所属していないので特定企業方針運営が捻じ曲げられる心配がなく民主的で、細かい実装が気になったらソースコードを読むことが出来、顔も合わせたこともない優秀なエンジニア議論を交わし共通のゴールに向かってともに開発を進められる。OSS楽しい

しかし一方、OSSメンテナのバーンアウトが近年問題になってきている(なんとなくここ数年で目につく数がなんとなく増えてきている)気がする。

というのも、OSS運用していく上では楽しく優秀なエンジニアと開発をすすめるだけではなく、ドキュメントを読めば分かるようなことを質問してくる人、PR に対して changes required を下すと怒ってくる人、Twitter でこのライブラリは使いにくくて最悪だと罵ってくる人、こういった普通会社ならカスタマーサポートさんがワンクッション挟んでくれる人たちに対しても開発者が直接対応しなければならない。

元々楽しくて始めた/関わり始めたはずのサイドプロジェクトだったのに、いつの間にか日々やってくる頓珍漢で再現環境のないバグレポートや、Issueも立てずに突然提出される意味不明PRに対して、義務感で、就業後や土日の時間を削って、根気よくコメントを続けていると、何で貴重な自由時間をこんな訳のわからない連中のために使っているんだ?という気持ちになってくる。

実際、私の関わっていた一つのプロジェクトでは、もともと6人ほどいたアクティブコントリビュータが徐々にプロジェクトを離れていき、(私を含めて)2人はメンテナンスに疲れてしまったのでしばらく距離を置くと宣言休みを取っている(あまり精神回復したので戻れるのかは不明...)。

こういう現場を見ていると、手放しにオープンソース万歳!透明性最高!と言いながら自分自身は大してOSSに貢献してない人たちに対して苦い気持ちを覚える。

うまく回っているOSS

一方、私の関わっているもう片方のプロジェクトは非常に円滑に運用が回っていた。もうひとつプロジェクトと何が違ったかというと、そちらのプロジェクトはいくつかの企業ソフトウェアエンジニア業務時間の半分/全部をそのプロジェクトメンテナンスに費やしていたのである。(何人かのメインコントリビュータが企業から出向する(?)する形で運用している)。

issueへの一次対応などの日々のつまらないタスク業務メンテナンスしてくれているエンジニアがやってくれるおかげで、他のメンテナが対応する必要のあるissueやPRは減り、みんなが開発やバグ対応に集中できている。業務OSSに取り組んでいるエンジニアストレスはないのかと聞いたところ、多少大変ではあるけれどお金をもらいながら自分仕事オープンにできるし、仕事だと思えば多少のストレス我慢できる。とのことだった。

このプロジェクトに限らず、なんとなく長期間運用がうまくいっている大規模なOSSプロジェクトはだいたいどこかの企業支援しているような印象を受ける(Facebook とか MS とか Google とか(大企業ばっかだな...))。もちろん全てのソフトウェア企業に大してOSSに大して大金をつぎ込めというのは現実的ではないが、open collective や github sponcers なんかに企業として少しずつでも寄付してくれたら、OSSコミュニティはもう少し良くなるんじゃなかろうか。

結局何が言いたかたかというと、エンドユーザー(OSS利用者)がめちゃくちゃ増えてきた昨今、個人レベルでそれなりの規模のプロジェクトメンテナンスしていくのは最早厳しくなってきており、結局企業によるバックアップなんかがないと持続的な開発は難しいんじゃないかと思っている。

2020/06/24 23:00追記

今日になって思ったより多くの方に読んでいただいて驚いています。あまりオープンインターネットで話しにくい話題だけど皆がどう思っているのか気になっていたので嬉しい。増田ブクマされても通知は来ないんですね(そりゃそうか)。

@bouzuya

まず焦点を当てている持続可能性が見出しから思い浮かべるものより狭いんだと思う。「最悪フォークすれば持続可能」みたいなのがぼくだと最初に思い浮かぶ

https://twitter.com/bouzuya/status/1275675654135189504

かにOSSの持続可能性という少し主語の大きいタイトルにしてしまったが、この文章ソフトウェアの持続性というよりかはOSSに携わる人のバーンアウトに対する憂いをつらつらと綴っているもので、ソフトウェアの持続性という意味では他にも色々やりようがある気はする。

また、私が目にしたうまく回っているのが企業による支援を受けたプロジェクトだったので、バーンアウト対策として企業による支援について述べたが、企業による支援がなくともうまく回っているプロジェクトは世の中にはいろいろあるだろうし、今後OSS企業による支援がないとやってけないと決めつけるのは早合点ではあった。反省。(とはいえ問題意識は変わらないし、その一つの解決策が企業による支援だと思っているのも変わりない)。

---

自分記事を読み直してみて、一番問題に感じているのはユーザーサポート工数なんだなと分かったが、@mathane さんがその問題への一つの解答をつぶやいていた。

(このツイートはこの記事へのコメントではないが)

@methane

雑な質問バグレポート(99%レポート者のミス)をする場所は、とにかくメンテナ以外の人が回答しやす場所でしてもらう事が重要だと思う。

Issue Trackerはメンテナ以外が質問気づきにくいし、メンテナはIssue整理したいか疲弊する。

https://twitter.com/methane/status/1275620072669638656


これは確かに。私はまだOSSコミュニティ初心者なので、こういうOSSメンテナンスする上で重要なことをどんどん知りたい。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん