EGLIBCとは
Embedded GLIBC (EGLIBC) は、
GNU Cライブラリ (glibc) から派生した、
組み込みシステムに特化した
標準Cライブラリです。glibcとのソースおよびバイナリレベルでの
互換性を維持しつつ、組み込み機器での利用に最適化されている点が特徴です。EGLIBCの開発者は、glibcのフォークではなく、あくまで派生物であると位置づけていました。しかし、glibcのコア開発者によって受け入れられなかった
パッチを取り込むなど、独自の進化を遂げました。EGLIBCは、GNU LGPLの
ライセンスのもとで配布されるフリーソフトウェアです。
EGLIBC採用の背景
2009年5月、Debianはglibcの開発プロセスに対する懸念を表明し、EGLIBCへの移行を発表しました。この動きに続き、
Ubuntuもバージョン9.10からEGLIBCを採用しました。また、Ark LinuxもEGLIBCを使用しました。Debian自身は、2011年にリリースされたバージョン6.0 (コードネーム: squeeze) から正式にEGLIBCに移行しました。これらのディストリビューションがEGLIBCに移行した背景には、glibcの組み込み環境への対応の遅れや、一部開発者の姿勢に対する不満があったとされています。
EGLIBCの開発終了とglibcへの統合
しかし、EGLIBCの開発は2014年初頭に終了し、glibcへの統合が発表されました。これは、glibc 2.19 (2014年2月リリース) からのフォークを最後に、EGLIBCがglibcに吸収される形となったことを意味します。この決定を受けて、Debianもバージョン8.0 (コードネーム: jessie) からglibcに戻ることになりました。EGLIBCの終焉は、glibc側の組み込み対応が進んだこと、およびコミュニティの統合の必要性が高まったことが背景にあると考えられます。
EGLIBCの意義
EGLIBCは、組み込み機器における
標準Cライブラリの選択肢として、重要な役割を果たしました。組み込み機器への対応強化、オープンな開発環境の維持、そして開発者の協力的な参加を目標に、開発が進められました。その成果は、
組み込みLinuxの発展に大きく貢献しました。
関連情報
EGLIBC: Mission: EGLIBCのプロジェクト目標は、組み込み機器へのglibc対応強化、開かれた開発環境の維持、開発者の協力的な参加を掲げていました。
EmbToolkit: これはEGLIBCプロジェクトの一部ではありませんが、
組み込みLinux向けにEGLIBC
ツールチェーンを提供するビルドシステムです。
批評と評価
EGLIBCは、glibcに対する批判的な視点からも評価されてきました。
Debian switching to EGLIBC: LWN.netの記事では、DebianがEGLIBCに移行した背景が詳しく解説されています。
A tribute Linux Hater's Blog: Linux Hater's Blogでは、eglibcを「It’s just glibc, sans jackass.」と評し、glibcから不要な部分を排除したものであると皮肉を込めて表現しています。
Debianがglibcの派生版「eglibc」を採用へ: アットマーク・アイティの記事では、DebianがEGLIBCを採用した理由が解説されています。
Debianのglibcからeglibcへの移行、もしくはウルリッヒ・ドレッパーの人気に嫉妬: この記事では、glibcの主要開発者の一人であるウルリッヒ・ドレッパーの組み込み機器や希少アーキテクチャへの対応が不十分であったことが、EGLIBC誕生の要因の一つであったと指摘されています。
まとめ
EGLIBCは、組み込み機器の多様なニーズに応えるために誕生したCライブラリでした。glibcとの
互換性を保ちつつ、組み込み環境に最適化されたEGLIBCは、一時的に主要なLinuxディストリビューションで採用されました。しかし、その役割を終え、現在はglibcに統合されています。EGLIBCの歴史は、オープンソースソフトウェアの進化と、コミュニティの動向を示す事例として、重要な意味を持っています。