九保すこひ@フリーランスエンジニア|累計300万PVのブログ運営中
さてさて、開発を進めるに当たって気をつけないといけない部分はたくさんあると思いますが、中には自分のコードとは関連のない部分にも気をつけるべきものがあります。
それが・・・・・・・
(インストールする)パッケージのライセンスを確認すること
です。
正直なところ、近年の開発ではインターネット上に公開されている「パッケージ」をインストールせず開発することはほぼ皆無といっていいんじゃないでしょうか。
パッケージを使うと、開発を大幅にショートカットすることができますし、世界中の人たちが使っているものなら、バグもすぐ発見&修正されるので開発者にはとても便利なものです。
ただ、その反面気をつけないといけないのが「ライセンス」です。
パッケージのライセンスには、以下のようなものがあります。
- 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
実際にjQuery
とVue
をインストールして試した結果は次のとおりです。
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
実際の出力はこうなります。
おわりに
ということで今回は短い記事になってしまいましたが、ライセンスはとても重要な部分ですのであえて公開させていただきました。
ちなみに、一言で「ライセンス」と言っても冒頭で紹介したようにいくつも存在していますし、さらに「バージョン違い」や「派生したライセンス」などで内容が違ってくるので注意が必要です。
そのため、一度はこちらのようなページで確認をしておくことをおすすめします。
なお、もし今回の記事を見て「GPLは使わないほうがいい」とは考えてほしくないのも事実です。要は使いどころですし、世界中で人気になっているwordpress
もGPL
ライセンスだからここまで広まった部分もあるかと思います。
ぜひ一度皆さんもチェックしてみてくださいね。
ではでは〜❗
「運動不足なので、すぐ心拍160超えます😫」