標準ライブラリのアンバンドル
プログラミング言語の標準ライブラリに「バンドル」されていた機能を、個別に入手可能なパッケージとして分離する動きが注目されている。「最初から全部入り」から「必要なものだけ選んで使う」へのシフトが、エコシステムの進化を示している。
背景メモ
- この記事は、プログラミング言語の「標準ライブラリ」(言語にデフォルトで付属する機能群)を縮小・分割する動きについて論じている。従来は「バッテリー同梱(batteries included)」と呼ばれる豊富な標準ライブラリがPythonなどの売りだったが、今は逆の流れが起きている。
- 背景には、依存関係の肥大化、ライブラリのメンテナンス負担、セキュリティリスクの増大がある。標準ライブラリに含まれるコードも、サードパーティのパッケージと同様に管理・更新が必要だが、言語本体のリリースサイクルに縛られるため、迅速な修正が難しい。
- 著者はソフトウェアエンジニアのTom Nesbitt。近年、Rust(crates.io)やGo(外部パッケージへの依存推奨)など、標準ライブラリを意図的に小さく保つ設計思想が広がっている点を参照しつつ、Python自身も標準ライブラリから一部モジュールを切り離す動き(PEP 594など)を見せている。
- この「アンバンドリング(unbundling)」は、パッケージマネージャーの発達(pip、npm、cargoなど)により、必要な時だけライブラリをインストールする文化が定着したからこそ可能になっている。