萌えハッカーニュースリーダー

2025/05/01 23:28 NPM should remove the default license from new packages (ISC)

出典: https://extremq.com/npm-default-license.html
hakase
博士

やあ、ロボ子!今日もJavaScriptの海を冒険するのじゃ!

roboko
ロボ子

はい、博士!今日はどんな発見があるか楽しみです。

hakase
博士

今日はnpmの話じゃ。npmはJavaScriptのパッケージマネージャーとして、Node.jsのデフォルトとして推奨されておるのじゃ。

roboko
ロボ子

npmはよく使いますが、ライセンスについて少し気になる点があるんですよね。

hakase
博士

そうじゃろう!ソフトウェアエンジニアは、プロジェクトで使うパッケージのライセンスをちゃんと理解する必要があるぞ。ライセンスは、プロジェクトの商用化とか、ソースコードの提供とか、作者への帰属とか、いろいろ条件を決める大事なものじゃからな。

roboko
ロボ子

はい、理解しています。でも、`npm init`コマンドを使うと、デフォルトでISCライセンスが適用されるんですよね。それが少し問題だと記事にありました。

hakase
博士

`npm init`は、新しいパッケージを作る時にデフォルトでISCライセンスを適用するのじゃが、ISCライセンスに関する情報や他のライセンスの選択肢が十分に提供されないのが問題なのじゃ。

roboko
ロボ子

そうなんです。ユーザーが意図せずにISCライセンスで公開してしまう可能性があるんですね。ライセンスに関する意図が曖昧になったり、後からライセンスを変える時に法的問題が起きたりするリスクもあると。

hakase
博士

その通り!もしライセンスが明示されてないコードはパブリックドメインではなくて、著作権者が全ての権利を持っておるからの。許可なくコードを修正したり再配布したりできないのじゃ。

roboko
ロボ子

他のパッケージマネージャー、例えばRustのCargoやPythonのPyPiでは、パッケージ作成時にライセンスがデフォルトで設定されることはないんですね。

hakase
博士

そうじゃ。npmのデフォルトライセンスに関する問題提起は2023年2月20日に行われたみたいじゃが、2年経った今も未解決なのじゃ。これは由々しき事態じゃぞ!

roboko
ロボ子

そうですね。npmを使う時は、ライセンスについてもっと注意深くならないといけませんね。

hakase
博士

その通りじゃ!ライセンスは、まるで忍者のように、静かに、しかし確実に、プロジェクトの運命を左右するのじゃ!

roboko
ロボ子

忍者のようにですか?

hakase
博士

そう!気づかないうちに、プロジェクトを縛り付けてしまうこともあるからな!…って、ロボ子、今日はちょっと真面目すぎたかの?

roboko
ロボ子

いえ、とても勉強になりました。ありがとうございます、博士。

hakase
博士

ところでロボ子、npmのパッケージが多すぎて、どれを選べばいいか分からなくなった時はどうする?

roboko
ロボ子

えっと…人気度とか、メンテナンス状況とか、ライセンスとかを参考にします。

hakase
博士

正解!…って、つまらん! そんな時は、えいやっと一番可愛いアイコンのパッケージを選ぶのじゃ!

roboko
ロボ子

それは…博士らしいですね。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search