--- title: "MIT ライセンスなのにソース非公開は違反? 求められるのは著作権表示と許諾文の同梱" description: "MIT ライセンスの部品を使ったアプリのソースを非公開にしても、違反ではありません。MIT が求めるのは著作権表示と許諾文を残すこと。「ライセンスの条件」と「OSS という状態」は別の軸、という整理を、指摘のメッセージが来た場面から。" url: https://ryuuneko.com/blog/mit-license-closed-source published: 2026-09-12 20:46:41.92526 updated: 2026-09-12 21:03:18.054129 --- 「アプリの中で MIT のライブラリを使っていますよね。MIT ならソースコードの公開が必要なはずでは?」 違反ではありません。MIT ライセンスが求めているのは、著作権表示と許諾文をコピーに残すことだけで、ソース公開については一行も書いていません。「ライセンスが何を要求しているか」と「ソースが手に入る状態かどうか」は、別の軸の話です。 この記事は、実際にありがちな指摘を架空のやり取りで再現した記録です。ライブラリ名は架空ですが、根拠は MIT・Apache-2.0・ISC の本文、オープンソースの定義(OSD)、Visual Studio Code の実例で、末尾にまとめてあります。 --- ## 「MIT ならソース公開が必要では」というメッセージ 配ったアプリを使ってくれている人から、こう来ました。 > アプリの中で MIT のライブラリ使ってますよね? > MIT ならソースコードの公開が必要なはずでは? > 非公開のままだと違反だと思います 悪意は無い。だから余計に返しづらい。記憶で返すのは嫌なので、アプリ内の「ライセンス」画面と、MIT の本文を突き合わせました。 ``` neat-lines v3.0.1 MIT License Copyright (c) 2024 other Permission is hereby granted, free of charge, ... The above copyright notice and this permission notice shall be included in all copies ... ``` 許諾文が求めているのは、この表示だけです。ソース公開は書いていない。一行も(出典 3)。 --- ## ライセンスは「条件」、OSS は「状態」 この人が混ぜていたのは、次の 2 つです。 - **ライセンス**は、作者が「何を許可し、どんな条件を付けるか」を書いたもの。MIT は表示だけを条件にしている - **オープンソース**は、許可があって、ソースも手に入る、という状態のこと。オープンソースの定義(OSD)は第 2 条で、ソースが手に入らないものはオープンソースとは呼べない、としています(出典 4) つまり、MIT の部品を使ったアプリのソースを非公開にしても、**違反ではない。ただし、そのアプリはオープンソースとは呼ばれない。** この 2 つは両立します。 ![横軸「部品のライセンスの条件を守ったか」、縦軸「自分のアプリのソースを出すか」の 2 軸。MIT は表示を残せば守れていて、ソースを出すかは自分の選択、という図](/blog/uploads/mit-license-closed-source-two-axes.svg) ちなみに OSD は、法律の条文ではなく「ライセンスが満たすべき条件のリスト」です。元は Linux を配っている Debian の人たちの基準で、そこへ「オープンソース」という言葉が生まれて何を指すか説明して守る必要が出たので、Debian 固有の部分を除いて定義にした、と OSI 自身が書いています(出典 1、2)。配る側の道具として生まれたものです。「無料のソフト」が全部そこに入るわけではない、という話は [フリーソフトと OSS の違い](/blog/freeware-vs-open-source) で。 --- ## 問いを 2 つに分ける 混ざらないように、問いを割ります。 | 問い | 答え | |---|---| | 使った部品の MIT の条件を守ったか? | 表示を残していれば、守れている。「違反じゃない」はこっちの話 | | 自分のアプリを OSS として公開するか? | 義務ではなく、選択 | 左は他人の部品のライセンスの話、右は自分のアプリの出し方の話で、別々に決まります。MIT の部品を使ったら自分のアプリも MIT になる、というわけではありません。MIT 本文に、自分の作品のライセンスを指定する条項はありません。 大きいソフトでも同じことをやっています。Visual Studio Code は、GitHub のソースは MIT ですが、配布されている製品そのものは Microsoft の独自ライセンスです(出典 5)。中で使っている他社のコードの表示は、ThirdPartyNotices.txt にまとめて列挙してあります(出典 6)。 「MIT と書いてある」と言われたら、**誰のライセンスか**を見る。部品のライセンスと、製品のライセンスは別です。 --- ## アプリの「ライセンス」画面の中身 自分のアプリに戻ります。あの画面は AI が付けてくれたものだったので、中身を見ていませんでした。 ``` tidy-text/ src/ package.json THIRD_PARTY_NOTICES.md ← AI が作っていた neat-lines — MIT Copyright (c) 2024 other Permission is hereby granted, ... ``` 使った部品の著作権表示と許諾文が、配るものと一緒に置いてある。アプリ内の「ライセンス」画面はこれを読んでいるだけです。MIT はそこまでしか求めていないので、表示が残っていれば条件は満たしています。 ついでに、そもそも何が入っているかも出しました。 ``` $ npx license-checker --summary ├─ MIT: 29 ├─ ISC: 3 └─ Apache-2.0: 2 ``` (数字は架空) MIT だけではなかった。混ざることがあります。MIT は表示で済むけれど、他は本文を開く。 --- ## 「MIT」と書いてあっても、本文を開く 名前は MIT でも、本文に一行足してあることがあります。 ``` MIT License Copyright (c) 2025 someone Permission is hereby granted, free of charge, ... Commercial use is NOT permitted. The above copyright notice and this permission ... ``` 「商用は禁止」。MIT の本文に用途の制限はないので、この一行が足された時点で、もう MIT ではありません。用途を縛る条件は、OSD 第 6 条「特定の分野での利用を制限しない」にも当たらなくなります。どれくらいの頻度であるかは一次情報で数えられないので、「こういうこともある」までしか言えません。 有料版も考えているなら、この部品は使えない。差し替えるか、作者に聞く。名前だけで信じないのは、これがあるからです。 ``` package.json "dependencies": { - "glam-table": "^1.2.0", // 「MIT」+商用禁止の一行 + "plain-cells": "^3.0.1", // MIT(本文どおり) } THIRD_PARTY_NOTICES.md ← 差し替えた分の表示も更新 ``` 差し替えは 1 行。表示ファイルも一緒に直します。入れる前に本文を見る手順は [GitHub のコードは勝手に使っていい?](/blog/github-code-license-can-i-use) に書きました。 --- ## Apache-2.0 は残すものが 1 つ増える 一覧に出ていた Apache-2.0 の部品はどうするか。 ``` node_modules / some-parser(Apache-2.0) LICENSE Apache License 2.0 NOTICE 作者が「これを残して」と書いたファイル README.md ``` Apache-2.0 は、NOTICE ファイルがあれば、その中身も一緒に残します(4 条 (d)、出典 8)。直したファイルには変更した印も要ります(4 条 (b))。MIT より残すものが多い。だから「MIT は表示だけ」を、そのまま他に当ててはいけません。 ![MIT・ISC・Apache-2.0 の「表示」の中身の違い。3 つともソース公開は求めていない、という表](/blog/uploads/mit-license-closed-source-notices.svg) | ライセンス | 残すもの | ソース公開 | |---|---|---| | MIT | 著作権表示と許諾文 | 要らない | | ISC | 著作権表示と許諾文(MIT とほぼ同じ) | 要らない | | Apache-2.0 | ライセンス本文+表示+NOTICE の中身(直したファイルには変更の印) | 要らない | 3 つとも、ソース公開は求めていません。求めているのは「表示」で、その中身が少しずつ違う。GPL 系など別の種類の話は、また別の記事で扱います。 --- ## 結局どうするか 1. **MIT の部品を使うなら、表示を残す。** ソース公開は要らない。今の画面のままでいい 2. **「MIT」は誰のライセンスか、を見る。** 部品が MIT でも、自分のアプリは MIT ではない 3. **名前だけで信じず、本文を開く。** 一行足してあることがある 違反と言われて焦ったけれど、要るのは表示だけでした。ただし、自分のアプリを OSS と呼びたいなら、ソースも出す。それは義務ではなく、作った人の選択として残っています。 --- ※ この記事は 2026 年 8 月時点の各ライセンス本文と OSI のページを確認して書いています。メッセージのやり取りとライブラリ名(neat-lines、glam-table、plain-cells、some-parser)は架空で、`license-checker` の出力の数字も架空です。法律・規約は概要の説明なので、判断は各ライセンス本文で確認してください。 ## 動画版 同じ題材を、YouTube「黒猫開発部」では 2 人の会話で扱っています。動画は 2026-09-22 公開予定です。 - [チャンネル: 黒猫開発部](https://www.youtube.com/@黒猫開発部) ## 出典 1. [Open Source Initiative — History of the OSI](https://opensource.org/history) — "The Open Source Definition was then created during the launch of the OSI in Feb. 1998 by revising the DFSG and removing Debian-specific references." / "focusing on explaining and protecting the 'open source' label." 2. [Open Source Initiative — The Open Source Definition (Annotated)](https://opensource.org/osd-annotated) — "We require access to un-obfuscated source code because you can't evolve programs without modifying them." 3. [Open Source Initiative — The MIT License](https://opensource.org/license/mit) — "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."(本文に "source code" の語は無い) 4. [Open Source Initiative — The Open Source Definition](https://opensource.org/osd) — 第 2 条 "The program must include source code, and must allow distribution in source code as well as compiled form." / 第 6 条 "No Discrimination Against Fields of Endeavor" 5. [Visual Studio Code — License](https://code.visualstudio.com/license) — "Source Code for Visual Studio Code is available at https://github.com/Microsoft/vscode under the MIT license agreement"(ページ本体は Microsoft の独自ライセンス) 6. [microsoft/vscode — ThirdPartyNotices.txt](https://github.com/microsoft/vscode/blob/main/ThirdPartyNotices.txt) — "This repository incorporates material as listed below" 7. [Open Source Initiative — ISC License](https://opensource.org/license/isc-license-txt) — MIT とほぼ同じ許諾文。表示を残す 8. [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0) — 4(b) "You must cause any modified files to carry prominent notices stating that You changed the files" / 4(d) NOTICE ファイルの内容を含める 9. [GitHub Docs — Licensing a repository](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/licensing-a-repository) — LICENSE ファイルが作者からの許可