OSSのABC

Eは技術スタックの有効期限を表す。

オープンソースソフトウェアのABCシリーズでは、コンプライアンスからドキュメンテーションまで、あらゆることについてお話してきました。今日は、大きなテーマに取り組みます:Eはエンド・オブ・ライフ(EOL)です

技術に携わる人なら、この言葉を耳にしたことがあるだろう。しかし、実際にはどのような意味なのか、そしてなぜそれがあなたのビジネスにとって重要なのか?それを分解してみよう。

ソフトウェアにおけるEOL(End of Life)の意味とは?

オープンソースのメンテナが、あるプロジェクトが寿命に達したと発表するとき、それはもうアップデートや修正、セキュリティパッチをリリースしないということを意味する。プロジェクトは "死んだ "わけではない。

その例はどこにでもある:

  • AngularJSは2022年に正式にサポート終了となる。
  • Python 2は、20年近くの支配の後、廃止された。
  • jQueryや Lodashのような広く使われているライブラリでさえ、いずれはフェイズアウトする。

なぜこのようなことが起こるのか?コミュニティが新しいフレームワークに移行することもある。時には、単にメンテナに継続する時間やリソースがないこともある。

なぜ企業は製造中止のソフトウェアを稼働させ続けるのか

厄介なのは、EOLになったからといって、それが機能しなくなるわけではないということだ。多くの企業は、EOLソフトを使い続けている:

  • 移行には費用も時間もかかる。
  • 古いシステムはまだ "機能している"。
  • 交換ツールはすべての機能をカバーしているわけではない。

今は大丈夫でも、事故が起きれば大惨事になる。

使用済みソフトウェアの運用リスク

  1. セキュリティ脆弱性
    パッチなし=保護なし。新しいCVEが発見されても、誰も修正しない。そのため、アプリケーションは攻撃される可能性があります。
  2. コンプライアンスの頭痛の種
    GDPRPCI DSSSOC 2のようなフレームワークは、積極的なメンテナンスが必要です。サポートされていないソフトウェアを実行すると、監査人や法務チームに赤信号が灯ります。
  3. 互換性の崩壊
    テクノロジーのエコシステムは動き続けている。ブラウザは進化し、オペレーティング・システムは更新され、依存関係は変化する。あなたのEOLソフトウェアは、ある日突然壊れるまで適応しないでしょう。

ソフトウェアがEOLになったら何をすべきか

ステップ1:慌てず、しかし無視せず
その「車内の奇妙な音」は大きくなる一方だ。

ステップ2:代替案を評価する
代替案は何か?より新しく、サポートされているフレームワークやライブラリはあるか?

ステップ3:移行計画を立てる。

  • マップの依存関係
  • 徹底的なテスト
  • スイッチを入れる前に開発者をトレーニングする

ステップ4:すぐに移行できない場合のリスク管理

  • EOLシステムをクリティカルなワークロードから切り離す
  • モニタリングの強化
  • セキュリティ・パッチを提供できるサードパーティのサポート・プロバイダーを検討する。

大局観すべてがEOLに達する

厳然たる真実:技術分野では、永遠に続くものはない。どんなフレームワークも、言語も、ライブラリも、いずれはEOLになる。問題は「もし」ではなく「いつ」なのだ。

賢い組織は次のような準備をしている:

  • OSSの依存関係を定期的に監査する
  • 移行スケジュールの優先順位付け
  • HeroDevsのようなベンダーと提携し、移行が即座に不可能な場合のネバーエンディング・サポートを提供する。

最終的な収穫

EOLは古いソフトウェアだけの問題ではない。変化への準備なのだ。

サポートされていないOSSを本番稼動させている場合、遅れをとっているだけでなく、リスクもあります。しかし、計画、リスク管理、サポートを適切に組み合わせればタイムラインを進めながらシステムを安全に保つことができる。

次のシリーズは?Fはフォークを意味する

それまでは、コードをクリーンに保ち、依存関係にパッチを当て、移行計画を現実的なものにしておこう。

AIで要約する
ホスト
テイラー・コルベット
多くの企業がELLソフトを使い続けているのは、マイグレーションが高価で複雑だからだ。しかし、EOLソフトウェアを稼動させるのは火遊びだ。