_ [debian] 続々々々々・mikutter パッケージング

mikutter を Debian に収録するに際して DFSG に即したものか、即していないならどのような対応を行ったか、行う予定か、現状(r1089)の報告です。 発端として OSC Tokyo 2012 (2012/9/11) にて mikutter を Debian に収録しようという話になり、ライセンスに何か問題はないか、としぁさんIwamatsuさん と相談・調査を始めました。 まず、スキンデータ(core/skin/)に関しては本体のライセンスである GNU GPL v3 をそのまま適用すると原作者のコントロールが効かなくなってしまうため、スキンデータ(core/skin/)は別途 CC BY-SA-3.0 を適用するのがよいという結論になりました。CC BY-SA-3.0 は DFSG に矛盾せず Debian に収録が可能(The Big DFSG-compatible Licenses: CC BY-SA v3.0)で、なおかつ原作者のコントロール下に置くことができます。 さらにスキンデータ(core/skin/)全体に CC BY-SA-3.0 が適用できるのか詳細を確認したところ、

  • core/skin/data/loading.png
  • core/skin/data/notfound.png

については はちゅねミク そのままでした。これらには ピアプロ・キャラクター・ライセンス (PCL) が適用され、DFSG とは矛盾すると考えられたため、r1031 にて変更を行っていただきました (#517: 画像ロード中・画像読み込みエラーの時の画像を変更する)。 また、

  • core/skin/data/icon.png

は「初音ミク」ではなくオリジナルの「みくったーちゃん」とのことですが、厳密に PCL が適用されると考えた場合、DFSG と矛盾するため収録することができません。先頃 CC BY-NC-3.0 を適用することも可能となりましたが、「NC(非営利)」の部分が DFSG に矛盾するため、やはり収録することができません。(CC BY-NC-3.0 が適用されるのは公式イラストのみだったので修正: 弊社キャラクター公式イラストへのクリエイティブ・コモンズ・ライセンス付与につきまして: 2012/12/21 15:23)。よって、該当ファイル core/skin/data/icon.png の差し替えを行わなけば Debian には収録できません。こちらはどのように進めるべきか対応を検討中です。 次に、ライブラリ(core/lib/)に関しては、

なお、mikutter上で動作するプラグイン及び添付されている外部ライブラリ(core/lib以下の全て)、スキンファイル(core/skin以下の全て)については、このライセンスの適応対象外です。

ref. mikutter/README

とありましたが、ライブラリ(core/lib/)ディレクトリには本体のライブラリと外部ライブラリが混在して配置されていました。中にはライセンス・著作権者表記のないファイルがあり、README の表記に従うとライセンス・著作権者が不明なファイルが多数含まれる状態となっていました。そこで r1060 にて本体のライブラリ(core/lib/)から外部ライブラリを別ディレクトリに(vendor/)を分離し、README を修正していただきました (#534: 外部ライブラリをvendorディレクトリに分けた)。

なお、mikutter上で動作するプラグイン及び添付されている外部ライブラリ(vendor以下の全て)については、このライセンスの適応対象外です。

ref. mikutter/README

さらに、vendor/ 以下の外部ライブラリが、GNU GPL v3 である本体に同梱して配布可能かを確認しました。含まれている外部ライブラリは以下の通りです。

  • addressable
  • bsearch
  • hmac
  • json
  • memoize
  • oatuh
  • typed-array

addressable はファイル中に Apache License v2.0 が明示されています。Apache License v2.0 は GNU GPL v3 であれば矛盾しないとされているため(Apache License v2.0 and GPL Compatibility, GPL-Compatible Free Software Licenses: Apache License 2.0)、同梱に問題ありません。 bsearch および hmac はファイル中に Ruby's License が明示されています。Ruby’s License は 2-Clause BSD License を選択することも可能であり、これは GNU GPL v3 とは矛盾しないため(GPL-Compatible Free Software Licenses: FreeBSD license)、同梱に問題ありません。 json はファイル中に記載がないため、これ単体で見た場合にライセンス・著作権者が不明なので問題があると考えており、対応を検討中です。なお、json/README には Ruby’s License、GNU GPL v2 と記載があるため、ライセンス・著作権者が明示されれば同梱に問題ありません。 memoize もファイル中に記載がないため、これ単体で見た場合にライセンス・著作権者が不明なので問題があると考えており、対応を検討中です。なお、memoize-1.3.1.tar.bz2 中の README には Artistic License v2.0 と記載があり、これは GNU GPL v3 とは矛盾しないため(GPL-Compatible Free Software Licenses: Artistic License 2.0)、ライセンス・著作権者が明示されれば同梱に問題ありません。 oauth および typed-array もファイル中に記載がないため、これら単体で見た場合にライセンス・著作権者が不明なので問題があると考えており、対応を検討中です。なお、oauth/LICENSE および typed-array/LICENSE.txtMIT License (Expat License とも呼ぶ)であり、これは GNU GPL v3 とは矛盾しないため(GPL-Compatible Free Software Licenses: Expat License)、ライセンス・著作権者が明示されれば同梱に問題ありません。 まとめです。

  • core/skin/data/icon.png は DFSG に矛盾するため、Debian に収録する際には差し替える必要がある。
  • vendor/ を同梱するには json, memoize, oauth, typed-array は各ファイルもしくはディレクトリにてライセンス・著作権者の明示の必要がある。パッチ提出済(#534: 外部ライブラリをvendorディレクトリに分けた)。

以上が解決できれば ITP する予定です。現状は git.debian.org にて作業を行っています。