オープンソースで正気を保つ

<font color="Grey">*[Staying sane in open source](https://aiven.io/blog/staying-sane-in-open-source)の翻訳です。*</font>

2021年10月11日

# オープンソースで正気を保つ

コミュニティの一員であることは必ずしも容易ではありません。オープンソースプロジェクトに貢献し、維持する個人をサポートするためにAivenが行っていることをご覧ください。

コミュニティの一員であることは、人間がそのためにデザインされたものです。人は群れる。共有スペースで共存することで、互いに支え合い、仲間を提供する。今日、こうした空間がますますバーチャル化、オンライン化、非同期化されているからといって、人間集団の基本的な仕組みが変わるわけではない。


しかし、誰もそれが簡単だとは言っていない。どんなコミュニティにも、人間がお互いにどう行動するかによって生じる問題がある。交友関係に加え、地位の奪い合いもある。サポートに加え、地位のために奔走することもある。そして常に--常に--衝突がある。


部外者は、ボランティアの緩やかな集合体であるオープンソースコミュニティは、それらすべてから免除されていると思うかもしれない。そうではない。オープンソースコミュニティには、悪い振る舞いが野放しにされる他のコミュニティと同じようなパワーゲーム、ハラスメント、議論、虐待が絶対にある。


そして、人間は社会的で共同体的な動物であるため、コミュニティでの劣悪な経験は精神的な幸福に大きな影響を与える。この記事では、バーチャルなオープンソースコミュニティの好ましくない側面と、その非常に現実的な影響について見ていこう。


## 時代は変わりつつある


長い間、オープンソース・プロジェクトのメンテナは、年中無休で働き、オンデマンドでプロジェクトの修正や機能追加を行うことが当然と思われていた。彼らは、大量の否定的なフィードバック、時には罵詈雑言にさえ耐えなければならない。そして、これらすべてを無給でこなさなければならない！


メンテナーだけではない。オンライン・ディスカッションは、概して発言するのに安全な場所ではなかったからだ。


この1年半の間に、私は大きな変化を目の当たりにした。パンデミックのせいで、多くの人々の社会人生活がオンラインに移行し、突然オンライン・ウェルビーイングへの関心が急上昇したのだ。オープンソースコミュニティの問題が解決されたと主張するつもりはないが、少なくともインターネット人口の大部分には認知されている。


## オープンソースコミュニティにおけるボランティアの燃え尽き症候群


素晴らしい改善にもかかわらず、まだ多くの未解決の問題がある。最も大きな問題の1つは、オープンソースの作業の自発的な基盤であり、今後もそうあり続けるだろう。


オープンソースのメンテナーは、熱意とやる気を持ってプロジェクトを開始する。彼らは、金銭的な報酬を得ることなく個人的な時間を仕事に費やし、単にそれをするのが好きだからであり、彼らの労働の成果が収穫され、より大きく美しいオープンソースのパイに焼き上がるのを見るのが好きだからである。


しかし、貢献者は感謝や感謝、好意を受けるどころか、嫌がらせや虐待を受けることも多い。ユーザーはメンテナにプレミアムなサービスを要求するが、その対価を支払う気はない。これは、メンテナが匿名の要求を記録的な速さで無料で満たすことを期待される有害な環境を生み出す。


休日を返上してまで。


時間が経ち、要求が増えたり、酷使されたりすると、そのモチベーションは下がり始め、ついにはクラッシュして燃え尽きてしまう。多くのメンテナーはプロジェクトを放棄する。


そして、彼らには有害な状況から抜け出す権利が十分にあるのです。あなたもそうでしょう？ボランティアに24時間365日の永続的なコミットメントを要求したり期待したりする権利は誰にもありません。


## なぜ私たち全員が気にかけなければならないのか


もしあなたがオープンソースプロジェクトのメンテナや貢献者でないなら、この話は少しよそよそしく聞こえるかもしれない。もちろん残念なことだと思うかもしれないし、誰かが何かをするべきだと思うかもしれない。


それは間違いだ。


私たちが知っているインターネットは、オープンソースプロジェクトに大きく依存している。それらのプロジェクトのかなりの部分は、一人のメンテナの仕事に依存している。2014年の[Heartbleed](https://en.wikipedia.org/wiki/Heartbleed)を覚えているだろうか？あの脆弱性は、安全なインターネットの基盤で使用されている重要なライブラリであるOpenSSLに突き止められ、たった一人によって保守されていた。


そして、もしその一人の重要人物が、ありがたくないボランティア活動にうんざりして辞めたとしたら、オンラインショッピングやソーシャルメディアはどうなると思う？


これは単なる仮定の話ではない。2016年、ウェブ開発は、npmの´left-pad´パッケージを構成する[1人のプログラマーが11行のコードを削除した](https://qz.com/646467/how-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/)ために深刻なヒックを経験した。


しかし、それは最悪の事態ではない。私たちは、真っ向から犯罪に手を染めるケースも見てきた。2018年、人気のあるNode.jsライブラリのメンテナが、メンテナの役割から離れることを決めた。ある開発者が新しいメンテナになることを申し出て彼に連絡し、引き継ぎはきちんと行われた。しかししばらくして、[新メンテナーは、[ビットコインのウォレットから盗み出す悪意のあるコード](https://www.trendmicro.com/vinfo/dk/security/news/cybercrime-and-digital-threats/hacker-infects-node-js-package-to-steal-from-bitcoin-wallets)をライブラリに挿入した。


現状を変えなければ、このようなことは起こり続けるだろう。


## 私たちはもっと良くできる - プロとして


コミュニティが取った大きな一歩は、行動規範を採用することです。これによってメンテナーは、オープンソースコミュニティのフォーラムをより安全な環境とし、参加することが報われるようなルールを強制することができます。これは、コミュニティをより多様で、より歓迎されたものにするのに役立ちます。


しかし実際には、インターネットの匿名性のおかげで、コミュニティから追放された悪質な行為者が新しいIDを名乗り、再び同じ行為に及ぶことを防ぐものは何もないのです。


Aivenでは、独自のオープンソース・プログラム・オフィス（OSPO）を立ち上げている。その目的は、現在のオープンソースコミュニティの負担を軽減することです。


OSPOのチームメンバーは全員、いくつかのメインストリームプロジェクトのメンテナや長年の貢献者であり、オープンソースコミュニティの現状を理解しています。私たちのチームでよく耳にするのは、「趣味を仕事にした」という言葉です！


私たちは、Aivenが下流で利用している様々なオープンソースプロジェクトに新機能を追加するためだけに働いているわけではありません。技術的負債を取り除くなどして、これらのプロジェクトをより持続可能なものにしています。オープンソースコミュニティにルーツを持つ企業として、これは素晴らしい貢献の仕方だと感じています。そうでなければ、無給でこの仕事をしなければならないボランティア開発者たちの精神的健康を維持していると思いたいのです。


しかし、私たち自身の精神的な健康にも気を配る必要があります。私たちは、このようなハードで認知度の低い仕事をこなす努力と、同じエンジニアたちに十分やりがいのある創造的でやりがいのある仕事を与えることのバランスをとることを目指しています。


OSPOチームはまた、自分たちのオープンソース・プロジェクトを取り巻くコミュニティを強化することも目指しています。[私たちの行動規範](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)を遵守することに加え、オープンに物事を議論し、合理的な「対応までの時間」を定義します。私たちはコミュニティの安全を守りたいのです。


## まとめ


オープンソースコミュニティスペースにおける個人のメンタルヘルスをサポートすることは、単に人道的なことであるだけでなく、接続された世界全体を安全に保つための重要な要素でもある。私たちが個人による無償の愛の労働に依存している限り、少なくとも私たちにできることは、それらの個人の安全と正気を保つことです。


Aivenは、オープンソースソフトウェアだけでなく、それを生み出すコミュニティにもコミットしています。


まだAivenのサービスをご利用になっていませんか？<https://console.aiven.io/signup>から無料トライアルにお申し込みください！


また、[changelog](https://aiven.io/changelog)や[blog](https://aiven.io/blog)のRSSフィード、または[LinkedIn](https://www.linkedin.com/company/aiven/)や[Twitter](https://twitter.com/aiven_io)のアカウントをフォローし、製品や機能関連の最新情報をご確認ください。