0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

License 有名なライセンスのまとめ

Posted at

image.png

はじめに

前回の「このライセンスは嘘じゃないよね?」でライセンスを調べたので、ちゃんとしたライセンスもまとめます。

そもそもOSSライセンスとは?

OSSライセンスは、ソースコードの利用・変更・再配布に関するルールを定めたものです。
プロジェクトにOSSを使うときは、ライセンスの内容を守る義務があります。

Java系のライセンス

私は開発言語の中で Java の経験が長いですが、ライセンスについては詳しくないです。
「Classpath例外」の話は何となく聞いた事がある程度です。

Java(OpenJDK)

  • 主なライセンス:GPL v2 + Classpath Exception
  • 商用利用:OK
  • 特徴:クラスパス例外により商用アプリでも問題なし

Spring Framework (Java)

  • 主なライセンス:Apache License 2.0
  • 備考:商用でも安心

Classpath Exception

GPLライセンスの“強いコピーレフト”の影響を回避するための特例条項。

  • 背景:GPLライセンスは「改変したら全部公開」しないといけない
    • GPLソフトウェアを使ってプログラムを開発し、それを配布する場合、あなたのプログラムのソースコードも公開しなければならない
  • 問題:JDK(Java開発キット)がGPLだと…?
    • OpenJDK を使ってビルドしたアプリを配布したら、そのアプリのソースコードも公開義務がある(!)
  • 解決:Classpath Exception の登場
    • 「OpenJDK のライブラリ(java.*, javax.*など)を クラスパスに含めるだけ なら、GPLのソース公開義務を適用しません」

有名なソフトウェアライセンス

ライセンス 商用利用 ソース公開義務 改変再配布の制限 特許保護 備考
MIT OK なし(著作権表示のみ) なし なし 超シンプル
Apache 2.0 OK なし(著作権・変更明示) なし あり 特許保護が強い
GPL OK あり(すべて) 強い なし OSSの理想主義
LGPL OK 一部(ライブラリ部分) 中程度 なし 動的リンクならOK
BSD OK なし(著作権表示) なし なし MITに似ている
MPL OK 改変ファイルのみ 緩い なし 中間的な立場
EPL OK 改変ファイルのみ 緩い あり Eclipse系で使用多

MITライセンス(MIT License)

特徴

  • 超シンプル&ゆるいライセンス
  • 商用利用、改変、再配布すべてOK
  • ライセンス表記(著作権表示)さえ残せば自由に使える

条件

  • オリジナルの著作権表記とライセンス文を残すこと

保証はない

  • 「このソフトを使って問題が起きても責任持ちませんよ」という免責も明記されている

向いている用途

  • OSSライブラリ(特にJavaScript系などに多い)
  • 商用アプリやクローズドな社内システムにも安心して使える

Apache License 2.0

特徴

  • MITより少し厳しめ、でも商用利用OK
  • 特許(patent)に関する保護が明記されている
  • 改変部分を明示する必要がある(modified files must be marked)

条件

  • 著作権表示とライセンス文の保持
  • 改変した箇所がある場合、それを明示
  • 特許権の使用を許諾する(ライセンスに含まれている)

向いている用途

  • 法務的に慎重な企業でも安心して使える
  • 特許トラブルを避けたい中~大規模プロジェクト

GPL(GNU General Public License)

特徴

  • コピーレフト(Copyleft):派生物にもGPLを適用する必要がある
  • 自由に使えるが、改変して配布する場合はソースコードの公開義務がある
  • 商用利用は可能だが、利用者にソースを開示する義務があるため、商用プロダクトに組み込みづらいことも

向いている場面

  • OSSの精神を守りたいとき
  • 他人のコードが自分の改変によってクローズドになってほしくないとき

注意点

  • 自分のアプリに組み込んで配布する場合、自分のコードもGPL化される必要がある
  • 組み込みがライブラリ形式(静的リンク)だとGPL義務が及ぶことがある

LGPL(Lesser GPL)

特徴

  • GPLの「やや緩め」バージョン
  • ライブラリがLGPLでも、そのライブラリを動的リンク(DLLや.so)で使用する場合は、アプリ全体をGPLにする必要はない

向いている場面

  • OSSライブラリを使ってクローズドなアプリを作りたい場合
  • GPLほど強制力はいらないけど、改変されたライブラリ自体は公開してほしい場合

注意点

  • 静的リンクで使用した場合はGPLと同じく公開義務が発生する可能性あり

BSDライセンス(2条項 or 3条項)

特徴

  • MITに非常に似ており、シンプルで商用利用にも寛容
  • 「著作権表示」「免責の明記」などの基本ルールのみ
  • 3条項BSDは「開発者名を広告などに使わない」旨が含まれる

向いている場面

  • MITとほぼ同様。特許を気にしない場合に気軽に使える

まとめ

  • 完全自由でシンプルにしたい → MIT / BSD
  • 企業利用も安心、安全に → Apache 2.0 / EPL
  • OSSとしての自由・共有を守りたい → GPL / LGPL
  • 部分的にOSS化したい → MPL / EPL

ライセンス利用

プログラミング言語のライセンス一覧

言語 主なライセンス 商用利用 特徴
Python PSF License(MITベース) ✅OK 非常に自由度が高い
Java(OpenJDK) GPL v2 + Classpath Exception ✅OK クラスパス例外により商用アプリでも問題なし
C / C++ 多数(GCCはGPL + 例外) ✅OK 実装ごとに異なる(例:ClangはApache 2.0)
Go BSD-3-Clause ✅OK Googleが開発、非常に寛容なライセンス
Rust MIT or Apache 2.0(二重ライセンス) ✅OK 商用でも安心して利用可能
Ruby BSD or GPL(二重ライセンス) ✅OK 柔軟に選択できる
PHP PHP License(MIT類似) ✅OK Apacheに似た独自ライセンス
JavaScript 実装による(例:V8 → BSD) ✅OK 多くがMITまたはBSD系
Swift Apache 2.0 ✅OK Apple公式、特許保護あり

フレームワーク・ライブラリのライセンス一覧

フレームワーク/ライブラリ 主なライセンス 備考
Spring Framework (Java) Apache License 2.0 商用でも安心
React (Meta/Facebook) MIT License 過去は特許条項あり→現在はMITに変更済
Vue.js MIT License 業務利用にも最適
Angular (Google) MIT License エンタープライズ利用にも安心
Django (Python) BSD License 柔軟で企業でも使いやすい
Flask (Python) BSD License 軽量Webフレームワーク
Express (Node.js) MIT License Node.jsで最も有名なFW
TensorFlow (Google) Apache License 2.0 AI/MLライブラリ、商用利用可
PyTorch (Meta) BSD License 学術・商用ともに広く使用
Bootstrap (CSS/JS) MIT License デザイン系で広く使われる
jQuery MIT License 歴史あるJSライブラリ

モバイル系フレームワーク

フレームワーク 主なライセンス 備考
Flutter (Google) BSD License 商用利用・改変OK
React Native (Meta) MIT License スマホアプリ開発にも安心
SwiftUI Apple製(ライセンス未公開、使用にAppleの規約が関わる) App Store経由で商用利用前提

クラウド&インフラ関連OSS

ソフトウェア ライセンス 備考
Docker Apache License 2.0 商用利用OK
Kubernetes Apache License 2.0 Google発、クラウドネイティブ
Terraform MPL v2(以前はMPL、今はBSL※) 商用利用可(ただし改変には注意)
Ansible GPL v3 ソース公開要注意(配布しない限りOK)

まとめ:商用で安心して使いたいなら?

ライセンス 商用利用 OSSとしての強さ 備考
MIT / BSD / Apache ✅ 非常に使いやすい 🟢 柔軟で企業向けに最適
GPL / AGPL ⚠️ 要注意 🔴 配布するならソース公開義務
MPL / EPL ⚠️ 一部ファイル公開あり 🟡 中間タイプ(柔軟性あり)

おわりに

OSSライセンスって、難しそうで後回しにされがち。
でも、MITみたいな「自由に使っていいよ!」から、GPLの「ちゃんと公開してね!」、Apacheの「特許もOK!」まで、それぞれのルールには理由があります。
Classpath Exception のように、「このままだと使いづらいから、ちょっと緩めよう」なんて工夫もされてるんです。
結局のところ、OSSライセンスって、エンジニア同士の信頼で成り立ってるルールなんだなと思いました。


参考(感謝)

  • AIに聞きました
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?