3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Railsプロジェクトのライセンスを調査した

Last updated at Posted at 2024-10-03

「Railsプロジェクトで使用しているOSSライセンスを出力したい」という要件があったので、OSSライセンスを pivotal/LicenseFinder を使用して調べてみました。

この記事を参考にしましたが、時間が経ってオプションが変わっていました。

pivotal/LicenseFinder を使う

インストール

無駄な依存関係が増えてしまうため、あまり好ましくないけど Gemfile に以下を追加して bundle install を実行します。

gem 'license_finder', :group => :development

Gemfile より直接インストールするこちらのほうが良いみたいです。

$ gem install license_finder

とりあえずライセンスの情報を出力してみます。

bundle exec license_finder report --format html --save license_report.html

次のようなHTMLが出力されました。

image.png

許可設定していないため全て unapproved となっています。

ライセンス許可を設定する

許可するにはサブコマンドの approvals で gem を個別で許可するか、permitted_licenses でライセンス単位で許可するのかの2種類があります。

個別は手間がかかるので、ライセンス単位で許可してみます。

bundle exec license_finder permitted_licenses add mit 'Simplified BSD' 'Apache 2.0' 'New BSD' WTFPL ruby

また、コマンドでライセンスの判断がつかないものは、該当プロジェクトのリポジトリ等でライセンスを調べて licenses add サブコマンドで設定します。

bundle exec license_finder licenses add evma_httpserver lgpl2

再度レポートを出力すると、次のようになります。

image.png

設定ファイル

デフォルトだと doc/dependency_decisions.yml に設定が書き込まれます。

プロジェクトの名前や許可したライセンス、削除したライセンスが書かれます。

licenses add や、licenses remove を実行するたびに設定ファイルの既存のものが上書きされず追加されていくので、ある程度最終形が決まったら手動で整理するほうがいいと思います。

まとめ

コマンドを実行するだけで一つずつライセンスを調べる必要が無いので便利ですが、もしかしたらライセンスを間違って判定してる可能性もあるかもしれないので、最終的には目視で確認したほうがいいかもしれません。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?