DUICUO

オープンソース文化で避けるべき7つの欠点

翻訳者 | 李睿

校正:孫淑娟

オープンソースソフトウェアがコードの作成と開発において持つ利点は否定できません。LinuxオペレーティングシステムからMySQLに至るまで、現代のコンピューティングの中核を成す多くのソフトウェアパッケージは、オープンな共有と共同開発モデルを用いて開発されました。40年にわたり、オープンカルチャーに育まれたオープンソースコードは、オープンソースの理念が本当に有効であるのかという問いに取り組んできました。

オープンソースソフトウェアには多くのメリットがありますが、欠点がないわけではありません。オープンソースソフトウェアが主流となった今、オープンソース文化の欠点、つまり文化的な問題というよりも現実の問題を理解することが重要です。開発者がオープンソースプロジェクトに貢献する際に慎重に検討すべき7つの理由をご紹介します。

1. オープンソースはクラウドコンピューティングには適用できません。

現在のオープンソースライセンスの多くは、クラウドコンピューティングの登場以前に取得されたものであり、当時はユーザーはソフトウェアをダウンロードしてデスクトップデバイスで実行することでライセンスを利用していました。それ以来、クラウドプロバイダーは、コード変更の独自性を維持しながら、オープンソースソフトウェアを無料で利用する方法を見つけてきました。ある大手クラウドプロバイダーのオープンソースビジネスマネージャーは、通常はソフトウェアを配布しているため、ソースコードを共有する必要がないと述べています。

今日、クラウドコンピューティングプロバイダーがオープンソースプロジェクトの特別バージョンを作成し、クラウド上で再販する例は数多くあります。最も顕著な意見の相違の一つは、AWSとElasticsearchの開発者間の対立です。両者は合意に至らず、最終的に袂を分かつことになり、Elasticsearchのコードベースには2つの有効なバージョンが存在しました。

一部のオープンソース支持者は、より厳格なライセンスや修正条項(公開規約など)を策定することで、クラウド共有に抵抗しています。将来的には改善が見られるかもしれませんが、これらは元のオープンソースライセンスの下で運用されているレガシーシステムには役立ちません。

2. オープンソースには多様性の問題がある。

オープンソースコミュニティでは「コミュニティ」という言葉が広く使われていますが、だからといってオープンソース文化が理想的な状態であるとは限りません。オープンソース開発者は過激な集団になることもあり、失礼で、注意散漫で、頑固で、意地悪で、時には意地悪で不親切です。オープンソースソフトウェアにおける多様性の問題はよく知られており、著名人の中には人種差別的、性差別的な傾向があると非難されている人もいます。個人が比較的匿名で、メールや掲示板だけでコミュニケーションを取っている場合、構造的な不平等は目立たないかもしれませんが、この匿名性は疎外感を生み出し、コラボレーションのプロセスを見た目ほど楽しくなく、インクルーシブなものにしてしまう可能性があります。

3. コミュニティの設立と維持には時間がかかります。

多くの企業が自社製品のオープンソース版を「コミュニティ版」としてリリースしています。これは優れたマーケティングツールであり、ユーザーからのフィードバックを集める良い方法であり、時には製品改良のためのコードを書く機会にもなります。しかし、プロジェクトを中心に真のコミュニティを構築するには、時間とリソースが必要です。ユーザーや潜在的な貢献者は、オンラインコミュニティの掲示板で質問する際に、回答を期待しています。多くの貢献はオープンソースの精神に基づいて行われていますが、コミュニティの構築と育成には依然として時間がかかります。コミュニティがうまく運営されれば、優れたコードを開発する開発チームが急速に成長するかもしれませんが、その過程では通常、多くの作業が伴います。このトレードオフの結果、大企業のプロジェクトがこの分野を席巻する傾向があります。彼らは、中小企業では管理できない有給の役割を通じて、コミュニティモデルに資金を提供することができます。

4. オープンソースのメンターは驚くほど少ない。

多くの開発者は自分のコードを誰とでも喜んで共有しますが、だからといって他の人の学習を支援することに積極的とは限りません。Gitリポジトリへのアクセス権を誰かに付与するのはほんの数分で済みますが、開発者および貢献者としての成長を支援することは大きなコミットメントとなります。一部のプロジェクトでは、貢献者契約に、貢献者は参加やサポート、さらには質問への回答さえも期待すべきではないという条項が含まれている場合もあります。本質的に、オープンソースプロジェクトへの貢献は、池の深いところに水を注ぐようなものです。膨大なコード行と解決すべき問題が山積みです。何が起こっているのかを説明するコメントはほとんど見つからないでしょう。

5. 理想主義者であっても補償を受ける必要がある。

オープンソースソフトウェア開発者の多くは理想主義者です。名声や富に駆り立てられるのではなく、生計を立てる必要があるのです。現実世界には、オープンソースソフトウェアの自由な共有の精神と相容れない多くの制約があります。希少性はデジタルの世界では馴染みのない概念かもしれませんが、開発者にとっては非常に現実的な問題です。

オープンソースソフトウェアは、小規模なスタックや、報酬を期待する人がほとんどいないプロジェクトの開発には非常に有効ですが、フルタイムの開発者がサポートする大規模なコードベースには適さない可能性があります。無料版を選択するユーザーが多すぎると、プロジェクト全体が崩壊する可能性があります。

6. 真に無料のものなど存在しない。

オープンソースコミュニティでは、「TANSTAAFL」という頭字語を目にすることがあるかもしれません。これは「ただ飯はない」という意味です。オープンソースソフトウェアをダウンロードして使用すると、ユーザーはその限界に気づき始めます。コードにわずかな改良を加えるだけで済む場合もあれば、オープンソースソフトウェアに必要な機能が不足している場合もあります。オープンソースソフトウェアが無料で提供される場合、ユーザーが機能の不完全さについて不満を言うことはほとんどありませんが、完全に機能するオープンソースソフトウェアを開発することは開発者にとって大きな負担となります。たとえ無料のオープンソースソフトウェアが目標の99%を達成したとしても、開発作業の最後の1%は開発者にとって非常に困難なプロセスとなる可能性があります。

7. 一部のプロジェクトはオープンソースにすべきではありません。

あるデータベース開発者は、オープンソースプロジェクトの開発を真剣に考えたことは一度もないと述べました。彼のクライアントは、膨大なデータセットを保有する複数の大企業です。彼らは十分な予算を持っており、開発作業を完了するために彼に支払う意思があります。クライアントが希望すれば、ソースコードも喜んで提供します。しかし、オープンソースプロジェクトを公式バージョンに分割する手間はかけたくないとのことでした。

オープンソース版のコードは、それを広く利用し、開発に協力できる開発者に適しています。しかし、場合によっては、ソフトウェア開発に対して報酬を得る方が、よりシンプルで持続可能な方法となることもあります。

原題:オープンソース文化の7つの欠点、著者: Peter Wayner