composer、npm、yarn、pip でパッケージのライセンスを確認する

こんにちは。フリーランス・コンサルタント&エンジニアの 九保すこひ です。

さてさて、開発を進めるに当たって気をつけないといけない部分はたくさんあると思いますが、中には自分のコードとは関連のない部分にも気をつけるべきものがあります。

それが・・・・・・・

(インストールする)パッケージのライセンスを確認すること

です。

正直なところ、近年の開発ではインターネット上に公開されている「パッケージ」をインストールせず開発することはほぼ皆無といっていいんじゃないでしょうか。

パッケージを使うと、開発を大幅にショートカットすることができますし、世界中の人たちが使っているものなら、バグもすぐ発見&修正されるので開発者にはとても便利なものです。

ただ、その反面気をつけないといけないのが「ライセンス」です。

パッケージのライセンスには、以下のようなものがあります。

  • MIT
  • Apatche
  • BSD
  • ISC
  • GPL

そしてこの中でよく「気をつけるべきもの」として紹介されるのがGPLで、シンプルに言うと、

パッケージを含んだものを配布する場合、全ソースコードを公開してね

というものになっています。

つまり、配布を前提とする開発には向いていないということになります。

※ 過去にGPL違反の影響でプレイステーション2の「ICO」が販売終了&廃盤になったそうです。詳しくはこちら

そこで❗

今回は以下4つのパッケージ・マネージャーでライセンスをチェックする方法をご紹介したいと思います。

  • composer: PHP
  • npm: JavaScript
  • yarn: JavaScript
  • pip: Python

ぜひ何かの参考になりましたら嬉しいです。

「ライセンス表示がないパッケージは
インストールしないことにしています」

composer(PHP)でインストールしたパッケージのライセンスを確認する

composer にはライセンスの一覧を表示する機能がありますので、composer.jsonが設置されているフォルダでコマンドを実行するだけでOKです。

composer licenses

すると、以下のようにズラーッと表示されます。

npm(JavaScript)でインストールしたパッケージのライセンスを確認する

composerのようにライセンス一覧を表示する機能がないみたいですので、license-checkerというパッケージをインストールします。

以下のコマンドを実行してください。

npm i -g license-checker

※ なお、グローバル環境にインストールするので管理者権限が必要になる可能性があります。その場合はsudoをつけて実行してください。

sudo npm i -g license-checker

あとは、以下のコマンドを実行するとlicenses.txtというテキストファイルの中に全ての情報を書き込んでくれます。

license-checker > licenses.txt

実際にjQueryVueをインストールして試した結果は次のとおりです。
licenses: *****の部分がライセンスになります。

├─ jquery@3.6.0
│  ├─ licenses: MIT
│  ├─ repository: https://github.com/jquery/jquery
│  ├─ publisher: OpenJS Foundation and other contributors
│  ├─ url: https://github.com/jquery/jquery/blob/3.6.0/AUTHORS.txt
│  ├─ path: /home/sukohi/php-dev/yarn_test/node_modules/jquery
│  └─ licenseFile: /home/sukohi/php-dev/yarn_test/node_modules/jquery/LICENSE.txt
├─ vue@2.6.14
│  ├─ licenses: MIT
│  ├─ repository: https://github.com/vuejs/vue
│  ├─ publisher: Evan You
│  ├─ path: /home/sukohi/php-dev/yarn_test/node_modules/vue
│  └─ licenseFile: /home/sukohi/php-dev/yarn_test/node_modules/vue/LICENSE

(以下省略)

yarn(JavaScript)でインストールしたパッケージのライセンスを確認する

yarnにもライセンスを確認するコマンドが用意されています。

そのため、package.jsonが設置されているフォルダ内で以下のコマンドを実行するだけでOKです。

yarn licenses list

実際の結果はこちらです。

pip(Python)でインストールしたパッケージのライセンスを確認する

pipもコマンドは用意されていないようですので、パッケージをインストールして確認します。

以下のコマンドを実行してください。

pip install pip-licenses

これでpip-licensesというパッケージがインストールされるので、続いて以下のコマンドを実行すればOKです。

pip-licenses

実際の出力はこうなります。

開発のご依頼お待ちしております
開発のご依頼はこちらから: お問い合わせ
どうぞよろしくお願いいたします! by 九保すこひ

おわりに

ということで今回は短い記事になってしまいましたが、ライセンスはとても重要な部分ですのであえて公開させていただきました。

ちなみに、一言で「ライセンス」と言っても冒頭で紹介したようにいくつも存在していますし、さらに「バージョン違い」や「派生したライセンス」などで内容が違ってくるので注意が必要です。

そのため、一度はこちらのようなページで確認をしておくことをおすすめします。

なお、もし今回の記事を見て「GPLは使わないほうがいい」とは考えてほしくないのも事実です。要は使いどころですし、世界中で人気になっているwordpressGPLライセンスだからここまで広まった部分もあるかと思います。

ぜひ一度皆さんもチェックしてみてくださいね。

ではでは〜❗

「運動不足なので、すぐ心拍160超えます😫」

このエントリーをはてなブックマークに追加       follow us in feedly