Skip to content

2026-08-11 コードとドキュメントを MIT、創作物を CC BY 4.0 とする

  • 課題: リポジトリはすでにpublicだが LICENSE がなく、法的には既定(All rights reserved)のままだった。README がコントリビューション手順を案内している一方で、外部コントリビューターは自分の貢献がどう扱われるかを判断できない状態だった。README 自身も「本番公開前にプライバシー方針とライセンスを確定してください」と公開前の条件に挙げていた(Issue #3)。
  • 決定: ソフトウェアと創作物でライセンスを分ける。 コードとドキュメントは MIT License、イラスト・音源などの創作物は CC BY 4.0 とする。著作権者の表記はどちらも henkaku Community で、LICENSECopyright (c) 2026 henkaku Community と記載する。
  • 分けた理由: MIT はソフトウェア向けの文面で、非ソフトウェアの著作物へ適用すると再利用者の条件が読み取れない。 MIT の義務は「Software の substantial portion の複製物にライセンス表示を含めること」であり、画像をWebページへ埋め込んだ第三者や、音源を再生・再配布する第三者が何をすれば条件を満たすのかが文面から導けない。CC BY 4.0 なら帰属表示がライセンス上の義務として成立するため、Issue #13 が求める「制作者クレジットを残す」が運用ルールではなく条件になる。
  • この決定はPRのレビューで変わった: 当初は「適用範囲が単純になる」ことを優先し、創作物を含めてすべて MIT に揃える形で PR を出した。レビューで、上記の読み取れなさを理由に2ライセンス構成へ変更する判断が示されたため、そちらへ改めた。Issue #3 のコメントで takerunakao さんが挙げていた指摘が採られた形になる。
  • MIT を選んだ理由(コード側): henkaku-center の public リポジトリ36件のうち LICENSE があるのは7件で、いずれも MIT だった(henkaku-community / henkaku-wiki / kamon-nft / henkaku-nengajo-contract / henkaku-ticket-contract / henkaku-ticket-contract-old / henkaku_ipfs_uploader)。organization の慣行に揃う。
  • 採らなかった案: Apache-2.0。特許の明示的許諾とコントリビューターからの特許許諾(第3条)が利点だが、このリポジトリは Next.js アプリと Supabase スキーマで独自のアルゴリズムを含まず、具体的な特許リスクの想定がない。条文の短さと org 内の前例で MIT を採った。
  • 採らなかった案: CC0 / Unlicense。著作権表示の保持義務がなくなるため、Issue #13 の「制作者クレジットを残す」という要件と整合しない。
  • コントリビューションの扱い: Pull Request は上の区分に沿った同じライセンスで提供されたものとみなす(inbound = outbound)。CLA の署名や著作権の譲渡は求めない。参加時の負担を増やさないためで、一般的な慣行にあたる。henkaku Community は代表表記であり、権利を集約するものではない。
  • 音源を創作物に含めた点: レビュー時点で決まっていたのは「イラストは CC BY 4.0」までで、音源の扱いは示されていなかった。境界を「コードとドキュメント以外の創作物」と定義し、音源もCC BY 4.0に含める形で提案した。CC BY 4.0 は媒体を問わない創作物向けのライセンスで、音源への適用は通常の用法にあたる。
  • 音源に固有の制約: 音楽には作曲・作詞の権利と原盤(録音)の権利があり、別々の人に帰属しうる。 片方しか押さえずに CC BY 4.0 を付けるとライセンス自体が無効になる。加えて権利が JASRAC・NexTone へ信託されている場合は、作った本人であっても CC BY 4.0 で提供できないことがある。CONTRIBUTING.md に収録前の確認事項として書き、当てはまる場合は収録せず Issue で相談することにした。
  • 創作物の帰属表示: 素材の配置ディレクトリに CREDITS.md を置き、作品ごとに「作品名 / 制作者の名義 / 出典 / CC BY 4.0」を記録する。名義を省略できるのは提供者が匿名を希望した場合だけとする。
  • create-next-app の既定アセットを削除した: public/next.svg public/vercel.svg public/file.svg public/globe.svg public/window.svgapp/favicon.ico はスキャフォールド時(a4e042a)から残っていたもので、app/ からも components/ からも参照されていなかった。ライセンスの境界を宣言するうえで、権利表示のない第三者素材がリポジトリにあると、どのファイルが宣言の対象なのかを読み手が判断できない。 現時点では削除し、HENKAKU 自身のロゴ・favicon・OGP画像へ置き換える作業は Issue #13 や今後の素材追加とあわせて別途行う。
  • app/favicon.ico の削除による変化: App Router のファイル規約により、Next.js は app/favicon.ico の存在から <link rel="icon"> を生成していた(ソース上に参照はない)。削除するとこのタグがなくなり、ブラウザのタブは既定のアイコン表示になる。独自のfaviconを追加した時点で解消する。
  • 影響範囲: LICENSE LICENSE-CC-BY-4.0.txt CONTRIBUTING.md を追加し、README のライセンス節と公開前チェック、docsサイトの guide/introduction.md guide/contributing.md を更新した。公開前の条件として残るのはプライバシー方針(Issue #36)のみになる。
  • 残る作業: Issue #13 のイラストは、cinnamon さん本人が CC BY 4.0 での提供に同意しているかの確認が必要(原本は Discord 投稿)。main のブランチ保護・必須CI・レビュー要件は GitHub 側の設定で、リポジトリの変更では行えない。

秘密情報(SESSION_PASSWORD、Supabaseキー、Safeの認証情報)はドキュメント・Issue・ログへ貼らないでください。