はじめに
Elasticsearch、Grafana、Fluentd など、
現代のシステム運用に欠かせない OSS は数多くある。
ただ、OSSを実際に大規模・長期で運用している立場からすると、
どうしても拭えない違和感がある。
なぜ、こんなに頻繁に新しいバージョンが出るのか?
なぜ、新機能が出ただけで古いバージョンが EOL 扱いされるのか?
今回は
OSSが嫌いなわけでも、新機能を否定したいわけでもない
運用者の正直な気持ちを書いてみる。
OSSの「サポート終了(EOL)」とは何か
まず前提として。
OSSの EOL は
- セキュリティ修正を出さなくなる
- バグ修正を行わなくなる
- 新しい依存関係や環境への追従をやめる
という 「これ以上、責任を持たない」という宣言に近い。
問題はここからで、
現実の現場では EOL がこう扱われる。
EOL = 危険物 / 即アップデート必須
運用者視点だと、これが本当にしんどい
多くの OSS は、
- 今も安定して動いている
- 重大な脆弱性も報告されていない
- 業務要件も十分満たしている
それでも、
- 「EOLですよね?」
- 「監査的に大丈夫ですか?」
- 「なぜ最新じゃないんですか?」
と突かれる。
結果として、
新機能が欲しいからではなく、
EOL という言葉を回避するために
バージョンアップせざるを得ない
という、本質的ではない作業が発生する。
なぜ OSS は毎年のように新バージョンを出すのか
これは技術的な必然というより、構造的な問題だと思っている。
1. OSSが「実質的な企業プロダクト」になった
多くの OSS は、もはや純粋なコミュニティプロジェクトではない。
- 開発主体は企業
- マネタイズはサブスクリプション
- 新機能はマーケティング材料
結果として、
開発が止まる = プロダクトが死んだと見られる
ため、止まれない。
2. 安定していることは評価されにくい
-
3年間、何も壊れず動いた
→ 誰も気づかない -
新機能を追加した
→ 技術ブログ、登壇、SNSで称賛
OSS の評価軸が
「変化量」になってしまっている。
3. メジャーバージョンという免罪符
互換性を維持するのは地味で大変だ。
だから、
「破壊的変更?
メジャーバージョンなので OK です」
という構図が生まれる。
そのコストは
すべて運用者側が支払う。
新機能が悪いわけではない
誤解されたくないので強調すると、
- 新機能そのものを否定したいわけではない
- 技術の進化を止めたいわけでもない
ただし、
運用者の9割が使わない新機能のために
EOL をちらつかせて移行を迫られる
この構図には、強い違和感がある。
本来あってほしい姿
個人的には、OSS はもっとこうであってほしい。
- LTS を明確に定義し、5年程度は維持する
- 新機能は experimental 扱い
- EOL は「致命的脆弱性対応終了」に限定する
- メジャーバージョンアップは
誰が見ても明確なメリットがあるときだけ
Java や Linux が比較的うまく回っているのは、
この思想がある程度共有されているからだと思う。
運用者としての現実的なスタンス
現実問題として、
- 「EOL = 即アップデート」は非現実的
- 重要なのは リスクを理解し、説明できること
つまり、
- なぜ今は上げないのか
- どのリスクを許容しているのか
- いつ、どうなったら上げるのか
を 自分の言葉で語れることが大事。
これはもう
エンジニアというより 意思決定の仕事だと思っている。
おわりに
OSS の進化はありがたい。
でも同時に、進化のスピードに疲弊している現場があるのも事実。
「新しいものを追い続けること」が
本当に価値を生んでいるのか。
一度、立ち止まって考えてもいい時期なんじゃないかと思う。