13 ポイント 投稿者 xguru 2024-09-12 | 3件のコメント | WhatsAppで共有
  • 3か月前、Yaakがオープンソース化しない理由を説明する記事「Why Not Open Source」を公開した
  • 過去のオープンソースプロジェクトでバーンアウトを経験していたため、その意思決定プロセスが他の人の役に立つと思い共有した
  • Yaakのユーザーの大半は同意したが、より広いオープンソースコミュニティでは内容の大半に強く反対された

オープンソースコミュニティの反応

  • 「オープンソース/フリーソフトウェアを、GitHubの特定の社会的モデルやコントリビューションと混同するな」 - lobste.rs

  • 「しかし、それらはすべてクローズドソースソフトウェアにも当てはまる」 - ycombinator.com

  • 「この記事の主張は完全なたわごとだ。この『アプリ』が何なのかも分からない。不要だ。歴史のゴミ箱へ行け」 - reddit.com

  • 返信の大半は建設的ではなかったが、500語に及ぶlobste.rsのコメントは本当に素晴らしかった。これを読んで、自分が間違っていたのかもしれないと思った

オープンソースの利点

  • オープンソースは必ずしもオープンコントリビューションを意味しない
  • コードを公開するだけでも、ほとんどの利点を得られる:
    • セキュリティ監査に開かれる
    • 機能の透明性(怪しいことはない)
    • 柔軟性(フォークして修正できる)
    • 開発者が去っても実行できる

オープンソース化するがコントリビューションは限定的に許可

  • SQLiteのように、オープンソースでありながら外部からのコントリビューションを受け付けないプロジェクトが存在する
  • Litestreamは当初コントリビューションを受け付けていなかったが、最終的にバグ修正のみ受け入れる形へ変更した
  • Yaakもこのモデルを採用し、MITライセンスでオープンソース化し、バグ修正のみコントリビューションを許可する

3件のコメント

 
rmekdma 2024-09-12

多くのコメントを読み、建設的な内容を汲み取って受け入れたことに感心しました。心が開かれている人ですね。

 
savvykang 2024-09-12

建設的なコメントも本当に素晴らしいです

 
xguru 2024-09-12

記事本文に含まれていた500字の lobster.rs コメントの要約です。
このコメントは元記事 Why Not Open Source ? について書かれたものです。

  • 結論から言うと、「オープンソース」や「自由ソフトウェア」を、GitHub の特定のソーシャルモデルである Drive-by Contribution や、Contribution そのものと混同しないでください
  • オープンソースが機能しない理由についての説明には同意しがたい
  • 提示された多くの点は誤った二分法である。たとえば「機能追加は現実的に難しく、メンテナー自身が実装したほうが速いことが多い」
  • クローズドソースなら常に自分でやるしかないが、オープンソースでも望むならそうできる。他人の貢献を受け入れる義務はない

各ポイントへの反論

機能追加が可能 - 🟥 現実的には難しい

  • オープンソースであるために、誰が提出したものでも受け入れる必要はない

透明性が高まる - 🟧 透明性のためにオープンソースは必要ない。コード以外にも公開ロードマップなどで実現できる

  • 良い指摘だ。ただし、コードしかないのではなく、コードもあるということ。透明なコードとロードマップの両方を持てる

セキュリティが改善される - 🟧 場合による。ユーザーがオープンソースプロジェクトのコードを監査し、問題を公開できる

  • オープンソース化しても悪くはならない。改善する可能性はともかく、少なくとも欠点ではない

コミュニティが成長する - 🟧 努力を投資してはじめて可能。オープンソースに限った話ではない

  • これもやはり悪くはならないが、筆者の言うほど大きな関連はない点は認める

欠点への反論

無礼なフィードバックへの対応が難しい

  • クローズドソースでもフィードバックは来る。どちらであっても受け入れる必要はない

長いフィードバックサイクルの管理が難しい

  • フィードバックや変更提案の提出を受け付けなければよい。改善サイクル自体がなくなる

承認なしに送られてきた貢献を断りづらい

  • README に「貢献は受け付けない」と書き、すべての PR を自動で閉じればよい

プロジェクトが成熟すると大半を断りづらくなる

  • クローズドソースでもユーザーは要求し続ける

良い貢献者が去ると苦しい

  • 他の貢献者を受け入れなければよい。オープンソースかクローズドソースかで違いはない

人々が無償で働くという事実を受け入れがたい

  • 自由ソフトウェアは無料を意味しない。商用の自由ソフトウェアも可能であり、他人が無償であることを受け入れる必要もない

1000件を超える未解決 issue があるのはよくない

  • 自動で閉じればよい

終わりがないのがつらい

  • ユーザーや顧客を持つクローズドソースでも同じこと