HN🔥 128
💬 62

OSSプロジェクトが自滅する「ありがちなNG行動」まとめ

chmaynard
約19時間前

ディスカッション (11件)

1
tomwheeler
約18時間前

リストに載っていないようだけど、「過信によるフォーク」ってのもあるよね。誰かが怒りや慢心から既存のプロジェクトをフォークするんだけど、そのフォークが決定的な支持を得ることはなく、最終的に消えていくっていうパターン。

それとは正反対なのがOpenSSH、Jenkins、LibreOfficeのケース。元のプロジェクト(SSH、Hudson、OpenOffice)側が慢心していたせいで、コミュニティが他に移行した瞬間にあっさり忘れ去られちゃったやつだ。

2
Aurornis
約18時間前

このリスト、エッジケースが多いな。自分が使ってきたプロジェクトに限って言えば、大抵はメンテナーの興味が失せるか、姿を消すかのどっちかだ。

フォークはよく解決策として提案されるけど、プロジェクト側がそれを「自分たちの成果を盗もうとする敵対的な行為」とみなす場合もある。前にフォークのデッドロックにハマったことがあるんだ。メンテナーが重要なプルリクエストをマージしようとしないくせに、プロジェクトをフォークしようとする人に対してめちゃくちゃ攻撃的になるっていう状況。メンテナーがプロジェクトやユーザーを自分の小さな帝国みたいに扱い始めたら、もう悲惨な結果になるのが目に見えてるよ。

3
chmaynard
約17時間前

Jekyllなんてのもあるね。完全に死んでるわけじゃないけど、確実に衰退してる。GitHub側がさらなる開発や4.xリリースへのアップグレードをサポートするのを拒否してるせいで、身動きが取れなくなってるみたいだ。

4
prymitive
約16時間前

おじさんと思われるかもしれないけど、昔は「オープンソースプロジェクト」って言ったら「自分が困ったから解決策を作った。同じことで困ってるなら自由に使ってくれ」っていう意味だったんだよ。
最近はもっとこういう感じだよね:

  • 個人のブランド作り
  • スキルのアピール
  • 他人を出し抜こうとする(自分のPRがマージされなかったからって理由でよくある)
  • 単に楽しんでいるだけ

あと、大企業で働いてると「これってうちのエピックの一つと似てるから使い始めて、24時間365日のサポートを要求しようぜ」ってなることも多い。

5
killerstorm
約16時間前

何でもかんでも毎週メンテナンスされることを期待されるのは馬鹿げてるよ。

昔はソフトウェアスタックって、コードを書いたら終わりで、何年経っても、何十年経っても動き続けるものだったのに。

例えば https://sapaclisp.common-lisp.dev/ (https://sapaclisp.common-lisp.dev/) を見てみるといい。1993年に書かれたコードをダウンロードして、最新のSBCLでそのままロードできるから。

6
apollyx_jojo
約16時間前

小さいオープンソースプロジェクトが潰れるパターンで言及されてないやつがあるんだけど、それは声の大きいユーザーに振り回される「スコープクリープ(肥大化)」だね。

ある一つのことを上手くやるためのツールが、周辺機能についてのPRやIssueを受け取り始める。メンテナーがそれに応えようとしてマージしていくと、半年後にはスイスアーミーナイフみたいに何でもできる巨大な代物になってる。こうなるとメンテも難しいし、新しい貢献者も入りづらい。本来の目的は複雑さの中に埋もれてしまうんだ。

その特効薬は、明確なCONTRIBUTING.mdを書くこと。「このプロジェクトは『何をするもの』で『何をしないもの』なのか」を明記して、「それはスコープ外だから、別のプロジェクトとして立ち上げるといいよ」と自信を持ってIssueをクローズすることだね。

まあ、ソロのメンテナーだと、Issueを閉じるたびに誰かをがっかりさせているような気分になって、言うは易く行うは難しなんだけど。

7
zem
約14時間前

プロジェクトが死に至る方法を網羅した素晴らしいまとめだったけど、正直どれも「愚か」だとは思わないな。これらはソフトウェアエコシステムの多様なライフサイクルの一部に過ぎないよ。むしろ、プロジェクトが成功し続けるためにはどれだけ多くの条件が揃わないといけないか(それにどれだけの労力がかかるか)を物語っていると思う。

8
armada651
約14時間前

たいていメンテナーは他のことに興味が移ってしまい、正式に引き継ぐほどプロジェクトが重要だと思っていなかった

僕が管理してるプロジェクトを引き継いでくれるような、意欲的なメンテナーのプールってどこにあるんだ?

9
lacewing
約14時間前

これはAIが生成したような奇妙で中途半端な分類の記事だね。オープンソースプロジェクトが死ぬ理由を並べてるけど、どれも「愚か」だとは思わないな。趣味でコードを書いている以上、当たり前に起こることだよ。仕事が忙しくなったり、飽きたりすることだってあるでしょ。だから何なの?

このLLMの著者は、オープンソースプロジェクトが死ぬ最大の理由を知らないらしい。それは「興味や需要が集まらない」ことだよ。僕も理論上は一部の人に好かれるOSSをいくつか作ったけど、全然流行らなかったし、一生縛り付けられるほどの価値もなかった。

10
nickjj
約14時間前

もう一つ重要なのは、メンテナンスにかかる時間と、どれだけ注目されているかのバランスだね。これは燃え尽き症候群とは別の問題。

僕はFlask[0]、Rails[1]、Django[2]、Node[3]用のDocker Composeスタータープロジェクトを作って維持してる。6〜7年続けていて、少なくとも週に1回はすべてを最新の状態に保つようにしてるんだ。

以前はPhoenixもサポートしてたけど、約5年でやめた。一番人気がない上に、Live Viewの仕様が何度も劇的に変わるせいで、他の例を全部合わせるよりもアップグレードに時間がかかったからだ。おまけに自分自身が日常的にPhoenixを使わなくなったから、作業自体も楽しくなくなってね。5つのプロジェクトの中で一番人気がないっていう事実も相まって、終了させるのは簡単な判断だった。

https://github.com/nickjj/docker-phoenix-example/issues/16 (https://github.com/nickjj/docker-phoenix-example/issues/16) に6ヶ月のアーカイブ計画を提示したけど、フィードバックはゼロだったから、2026年の初めにアーカイブしたよ。