|
オープンソース ソフトウェアのライフサイクルが終了する時期を事前に把握することで、移行を計画し、個人データをより適切に保護することができます。
特にオープンソースソフトウェアにおいては、永遠に続くものはありません。オープンソース技術の最も人気のあるバージョンでさえ、最終的にはライフサイクルの終わり(EOL)を迎えます。 オープンソース ソフトウェア パッケージのメジャー バージョンの場合、EOL イベントは、将来のバージョンにのみ統合される新しい機能を使用できなくなるというだけでなく、オープンソース ソフトウェアに依存するアプリケーションにセキュリティ上のリスクをもたらします。 例えば、Apache Strutsフレームワークに最近、重大な脆弱性(CVE-2024-53677)が発見されました。この問題は、現在もサポートが継続されているStruts 6バージョンで発見されましたが、現在も数千ものアプリケーションで使用されている、非推奨でサポート終了となったStruts 2バージョンにも適用されます。 Struts 2に依存している企業は、Struts 6にすぐに移行できない限りリスクに直面しますが、ほとんどのアプリケーションにとってこれは非現実的です。もう1つの選択肢は、信頼できる長期サポートプロバイダーのオープンソースライブラリから直接代替手段を使用することです。これらのソリューションには脆弱性パッチが含まれており、特に規制の厳しい業界の企業にとって、差し迫った災害に対して、実用的で安全かつほぼ瞬時に対応できるソリューションを提供します。これにより、移行を綿密に計画する時間を確保できます。HeroDevsのチームは、Struts 2向けに同様のソリューションを提供しています。CVE-2024-53677が発見されてから1週間以内に、当社のStrutsソリューションへの関心は20倍に増加しました。これは、サポートされていないOSSユーザーにとって、重大なCVEがいかに大きな影響を及ぼしうるかを浮き彫りにしています。 オープンソースソフトウェアのサポート終了(EOL)のタイムラインを事前に把握することで、移行をより適切に計画し、自社および顧客のデータをリスクにさらすことを回避できます。この12のプロジェクトのリストは、2025年にEOLを迎えると私が考える最も重要なプロジェクトの一部です。ただし、このリストは網羅的なものではないことにご注意ください。私のチームは、2025年に150件近くの主要なオープンソースEOLイベントを特定しており、予測不可能なイベントは他にも多数発生する可能性があります。 サポート終了イベントは1種類だけではないことに注意することが重要です。パッケージを完全に廃止することと、特定のバージョンのサポートのみを停止することの違いがあります。AngularJSは、Googleが現代のWeb環境のニーズを満たさなくなったと判断したため、2022年1月に完全に非推奨となりました。一方、.NET FoundationとMicrosoftは、より新しい.NET 8以降のバージョンに注力するため、2024年11月に.NET 6のサポートを終了しました。2025年にサポート終了を迎えるプロジェクトのほとんどは、.NET 6のバージョンサポート終了(EOL)に似ています。 1. Laravel v10(2025年2月4日)LaravelはPHPベースのフルスタックWebアプリケーションフレームワークです。開発者にとって非常に使いやすく、広く利用されており、強力なコミュニティを擁しています。Web開発の簡素化と高速化を目指しています。Laravel v10は2025年2月4日にライフサイクルが終了します。 2. OpenSSL v3.1 (2025 年 3 月 14 日)OpenSSLは、Webおよび通信プラットフォームにおける暗号化された安全な通信に広く利用されています。このリストの中ではおそらく最も広く使用されているパッケージであり、APIを備えたものはすべてOpenSSLを使用していると考えられます。OpenSSL v3.1は、2025年3月14日にライフサイクルが終了します。 3. Ruby v3.1(2025年3月31日)Rubyは、Ruby on Railsウェブフレームワークで広く使用されているプログラミング言語です。Ruby on Railsは、ウェブベースのアプリケーションを迅速に開発できることで知られています。Ruby v3.1は、2025年3月31日にライフサイクルが終了します。 4. Node.js v18(2025年4月30日)Node.jsは、説明の必要のないクロスプラットフォームのJavaScriptランタイム環境です。多くの企業(大手企業を含む)が、高速でスケーラブルなアプリケーションの構築にNode.jsを使用しています。Node.js v20では、権限モデルとV8エンジンのパフォーマンス向上が導入されました。Node.js v18は、2025年4月30日にライフサイクルが終了します。 5. Django v5.0 および v5.1 (2025年4月30日)Djangoは、迅速、簡単、そしてクリーンなアプリケーション開発を可能にするPythonベースのウェブアプリケーションフレームワークです。複雑なデータベースを効率的に処理できるため、データ集約型アプリケーション、データサイエンスツール、ソーシャルメディアアプリケーションに最適です。Django v5.0およびv5.1のサポートは2025年4月30日に終了します。 6. Kafka v3.4 (2025 年 5 月 3 日) および v3.5 (2025 年 8 月 25 日)Kafka は、最もスケーラブルで広く採用されている分散型パブリッシュ/サブスクライブフレームワークの一つであり、リアルタイムデータパイプラインや分析ユースケースに適しています。スケーラブルかつフォールトトレラントな方法で膨大な量のデータを処理できる Kafka は、多くの大規模データアーキテクチャの基盤となっています。v3.4 は 2025 年 5 月 3 日にライフサイクルが終了します。v3.5 は 2025 年 8 月 25 日にライフサイクルが終了します。 7. Drupal v10(2025年6月16日)Drupalは、その柔軟性、拡張性、そして拡張性で知られるCMSおよびフレームワークです。ウェブサイト、コミュニティ、ソーシャルプラットフォーム、メディア企業など、コンテンツ中心のプラットフォームで広く利用されています。Drupal 10の最終サポートバージョンであるDrupal v10.3は、2025年6月16日にサポートが終了します。 8. Kubernetes < v1.32 (2025年7月)Kubernetesは、最も広く利用されているコンテナオーケストレーションプラットフォームです。コンテナ化されたアプリケーションのほとんど、特にマイクロサービスアーキテクチャのメリットを享受できる複雑なシステムでは、何らかのバージョンのKubernetesが使用されています。多くのオープンソースソフトウェアのリリース計画と同様に、Kubernetesのリリースは構造化されたタイムラインに従っており、各マイナーリリースはリリース後1年間は完全サポートを受け、その後ライフサイクル終了前に2か月間のメンテナンスが行われます。Kubernetes v1.34は2024年5月15日にリリースされ、2025年5月に完全サポートが提供され、2025年7月にライフサイクルが終了する予定です。 9. MongoDB 6(2025年7月31日)MongoDBは、様々な業界で広く利用されている汎用性と拡張性に優れたNoSQLデータベースです。完全構造化データ、半構造化データ、非構造化データなど、あらゆる種類のデータを柔軟にサポートすることで高い評価を得ています。MongoDB 7では、クエリ可能な暗号化機能など、いくつかの画期的な機能強化が図られていますが、同時にバージョン6は2025年7月31日にライフサイクル終了を迎えることも意味します。 10. NumPy v1(2025年9月17日)NumPyはNumeric Python (Numeric)のフォークから派生し、Numarrayの改良点を取り入れて誕生しました。Python科学計算コミュニティで広く採用されており、高負荷な数値データ処理や計算アプリケーションに最適です。v1の全バージョンは、2025年9月17日にライフサイクルが終了します。 11. Postgres v13(2025年11月13日)PostgreSQLは、クエリとデータ管理にSQLをサポートする、スケーラビリティの高いリレーショナルデータベース管理システムです。データ分析、ビジネスデータベース、Webアプリケーションなどで広く利用されています。バージョン13は、2025年11月13日にライフサイクルが終了します。 12. Angular v17(2025年5月15日)およびv18(2025年11月19日)Angularは、2010年にGoogleのエンジニアによって導入された包括的なフレームワークで、2016年にAngularJSの後継として書き換えられました。スケーラブルなウェブアプリケーションの構築に広く利用されています。Angular v17は2025年5月15日に、v18は2025年11月19日にサポートが終了します。 移行には多大な時間(と費用)がかかります。移行の複雑さは、オープンソースパッケージ/フレームワーク、コードベースのクリーンさ、チームの規模、アプリケーションの規模など、さまざまな要因に左右されます。HeroDevsでは、組織と移行および修復のオプションについて、多くの時間をかけて議論しています。フロントエンドのAngularJSの移行(10万行のコードの移行に2.7年かかる場合があります)から、Spring 5から6への移行(多くの依存関係を持つ大規模プロジェクトでは6年以上かかる場合があります)まで、これらのサポート終了(EOL)時期は計画的に、そして予算に組み込む必要があります。 あなたが利用しているOSSソフトウェアパッケージが来年サポート終了(EOL)を迎えると仮定しましょう。この場合、特に医療(HIPAA)、決済(SOC 2およびPCI DSS)、教育(FERPA)、政府機関(FedRAMP)など、規制の厳しい業界であれば、すでに計画と移行を開始しているはずです。 もっと時間が必要な場合は、他の選択肢もあります。直接またはサードパーティの商用サポートでは、長期にわたるサポートを提供できるため、ご自身のスケジュールに合わせて移行を計画し、データのセキュリティを確保できます。 |