背景

OSSプロジェクトのライセンスとして ISC が設定されていたが、コントリビュートガイドを整備する際に「一般的なのか?」という疑問が出た。調査の結果 MIT に変更した。

ISC と MIT の比較

  ISC MIT
内容 著作権表示 + 免責 著作権表示 + 免責
許可される行為 使用・複製・改変・再配布 使用・複製・改変・再配布・サブライセンス・販売
制限 なし(著作権表示のみ) なし(著作権表示のみ)
文面の長さ 短い(2段落) やや長い(3段落)
採用率 npm のデフォルト GitHub上で最も多い
認知度 Node.js界隈で一般的 業界全体で最も広く認知

実質的な法的効果はほぼ同一。

なぜ ISC がデフォルトになったか

npm init を実行すると package.json の license フィールドに ISC が自動設定される。npmの作者 Isaac Z. Schlueter が ISC ライセンスの簡潔さを好んだことに由来する。そのため Node.js プロジェクトでは ISC が多い。

MIT を選ぶべき理由

  • 認知度: 開発者の大多数が MIT の内容を理解している。ISC は「それ何?」と聞かれることがある
  • GitHub のデフォルト: リポジトリ作成時のライセンス選択肢で最上位に表示される
  • コントリビューターの安心感: 見慣れたライセンスの方が貢献のハードルが下がる
  • 企業の法務審査: MIT は多くの企業で事前承認済み。ISC は個別審査が必要になる場合がある

変更時の作業

ISC → MIT への切り替えで必要な変更箇所:

  1. LICENSE ファイルの作成(MIT の全文を記載)
  2. package.jsonlicense フィールドを "MIT" に変更
  3. README.md のライセンス表記を更新

まとめ

ISC と MIT は法的にはほぼ同等だが、OSSプロジェクトの認知度・コントリビューションの観点では MIT が無難。特に理由がなければ MIT を選んでおけば間違いない。