コンテンツにスキップ

依存ライブラリがメンテナンスされているか調べる

OSS に依存したシステムを開発していると、依存ライブラリがメンテナンスされているか気になることがある。 メンテナンスが止まると脆弱性やバグの修正が行われなり、将来的な利用が難しくなる。 こういったリスクに備えるために、依存ライブラリがメンテナンスされているか調べる方法を備忘録として残す。

dep-doctor

dep-doctor は、依存ライブラリがメンテナンスされているか調べるためのツールである。 Ruby や Python,Node.js, PHP, Go, Rust などの言語に対応している。

インストール

$ brew tap kyoshidajp/dep-doctor
$ brew install kyoshidajp/dep-doctor/dep-doctor

glibc が必要な場合

実行時に glibc がなくてエラーが出た。次のコマンドで glibc を setup すると解消した。

apt-get install glibc-source

使い方

$ dep-doctor diagnose --package bundler --file /path/to/Gemfile.lock

使ってみた

Python の requirements.txt に対して使ってみたが、7 割くらい誤検知でメンテナンスが止まっている判定していた。 dep-doctor は依存ライブラリの GitHub URL を見に行って LastCommitedAt の情報からメンテナンスが継続しているかを判定している。pypi に GitHub URL が記載されていない場合はエラー判定になるため誤検知してしまう。