saturday06 / VRM-Addon-for-Blender

VRM Importer, Exporter and Utilities for Blender 2.93 to 4.2
https://vrm-addon-for-blender.info
MIT License
1.31k stars 142 forks source link

Feature request: Supports new licensing requirements for the Blender Extensions Platform #548

Open saturday06 opened 2 months ago

saturday06 commented 2 months ago

Is your feature request related to a problem? Please describe

Supports new licensing requirements for the Blender Extensions Platform.

https://extensions.blender.org/approval-queue/vrm/#activity-2783

dfelinto Hey everyone,

Just a heads-up about a recent change regarding the licensing of add-ons on the Blender extension platform. Moving forward, all add-ons will need to be released under the GNU/GPL 3.0 license (SPDX:GPL-3.0-or-later). This is mainly to keep things simple and consistent across the board.

Previously, we accepted various licenses as long as they were compatible with Blender’s distribution. However, to avoid any confusion and streamline the process, all add-ons using the bpy API should now be presented as GPL 3 (the same license the Blender bundle is distributed). Regardless of whether the original code was under GPL 2, or something else like MIT or ZLIB.

Existing add-ons versions won't be affected. However, new updates will need to comply to the revised requirements.

Thanks for understanding, and feel free to reach out if you have any questions.

Describe the solution you'd like

I think it will probably change the license to SPDX-License-Identifier: MIT OR GPL-3.0-or-later. Contact all source code contributors. If permission to change the license is not received within a week or two, a new code is written.

The MIT license is compatible with GPL-3.0, but may be incompatible with GPL-3.0-or-later. Because it is unclear what kind of license "or-later" will be.

https://opensource.stackexchange.com/questions/5247/if-a-project-is-released-under-gplv3-and-gplv4-is-less-restrictive-what-happens

Describe alternatives you've considered

Additional context

現在お問い合わせ中の方

TODO: 日本語話者以外の方

saturday06 commented 2 months ago

旧MToonのglslファイルは、一部UniVRM(MITライセンス)を参考にしたコードが入ってそうだと感じているので、良い機会なので削除します。

saturday06 commented 2 months ago

branch: https://github.com/saturday06/VRM-Addon-for-Blender/tree/license/MIT_OR_GPL-3.0-or-later(Multi-licensing)

FujiSunflower commented 1 month ago

とりあえず連絡大変そうなので一旦コメントだけ残しておきます。

saturday06 commented 1 month ago

ご確認ありがとうございます!ご回答もお待ちしております!

FujiSunflower commented 1 month ago

サンフラワーふじの心情的な観点でのライセンス変更に関しては問題が無いかなと思います。 プルリク当時の記憶だとBlenderのUI機能の啓蒙程度で書いたはずなので、サンフラワーふじに著作権的なものを感じて書いていなかったと思います。 客観的な観点では2つ疑問があります。 1つ目は、MITかGPL-3.0-or-laterかどちらか選べるマルチライセンスという形態が可能なのかという点です。MITはGPL-3.0への互換性があるという回答が仰る通りGNUのところにあるはずですが、GPL-3.0がMITへの互換性があったかには疑問を感じます。 2つ目は、サンフラワーふじの書いたプルリクの厳密なライセンス性に関してです。こちらはソースコードの見直しタイミングとなっているので心配性かもしれませんが気になりました。

saturday06 commented 1 month ago

ご回答ありがとうございます!また、追加のご質問にお答えします!

1つ目は、MITかGPL-3.0-or-laterかどちらか選べるマルチライセンスという形態が可能なのかという点です。MITはGPL-3.0への互換性があるという回答が仰る通りGNUのところにあるはずですが、GPL-3.0がMITへの互換性があったかには疑問を感じます。

ご質問に対する回答としては「可能です」とお答えします!

今回僕が目指している「MITかGPL-3.0-or-laterかどちらか選べるマルチライセンス」とは、例えば

の実現です。

一方GNUのサイトに記載の「GPLと互換性がある(注: これは僕の悪い翻訳で、公式サイトの訳は「両立する」でした)」」という記載は、それを妨げるようなことはできるか?という問題ですが、GNUのサイトの記載は、

ほかのライセンスのもとでリリースされたコードをGNU GPLのもとでリリースされたコードと結合して一つの大きなプログラムにすることができます。

という意味でした。これは、GPLが感染して、他のソースコードのライセンスをGPLに強制上書きする性質を持つライセンスなので、それができない利用条件があるライセンスのプログラムと結合できない点から発生した概念だと理解しています。転じて、互換性がある(両立する)ライセンスは「GPLに自動で変更してもライセンス的にOK」なライセンスであるともいえます。

これはソースコードを合体させたりライセンス変更するときに出てくる概念のため、ソースコードの著作権者が『あっちで配るときはXライセンスで、こっちで配るときはYライセンスにします!』という、本来著作権者が持っている権利を妨げることはできないです。

しかしながら、将来出てくるGPL-999.9に「このソースと同一のソースコードを別ライセンスで配布することを禁じる」とか書いてあったらできなくなるんですが、そうなったらBlenderアドオン以前にOSS界隈がひっくり返って大爆発するので、考えないことにする、という感じです。。。

2つ目は、サンフラワーふじの書いたプルリクの厳密なライセンス性に関してです。こちらはソースコードの見直しタイミングとなっているので心配性かもしれませんが気になりました。

配慮ありがとうございます。こちら、サンフラワーふじさんの書いたコードはサンフラワーふじさんが著作権を持っています。訂正: 日本の法律では「思想又は感情を創作的に表現したものであつて、文芸、学術、美術又は音楽の範囲に属するもの」とのこと

また、そのコードを参考に @saturday06 が書いた、似たようなコードにもサンフラワーふじさんの著作権がどこまで及ぶかどうかは裁判が発生しない限りわからないものだと思っています。現在レポジトリに残っているコードは、ラベル文字列などを除くとほぼこちらになります。

正直、Pull Requestで頂いたコードは、 @saturday06 視点では、BlenderのPythonによるアドオンの書き方の一般的なサンプルを頂いたような認識でした。一般的過ぎて、例えば著作物として利用禁止をされてしまうとUIを含むアドオンがほぼ書けなくなってしまいます。そのため、裁判が発生したとしてもある程度情状酌量がいただけることを期待していますが、やってみないとわからないところではあります。。。

FujiSunflower commented 1 month ago

ざっくり確認したところ、こちらの認識もBlenderアドオンのサンプルを教えているだけという感じなので自分が書いたサンプル自体が何かのライセンスを踏み抜いている可能性は低いのかなぁとは思います。

正直、Pull Requestで頂いたコードは、 @saturday06 視点では、BlenderのPythonによるアドオンの書き方の一般的なサンプルを頂いたような認識でした。

また、GitHub ReleaseとBlender Extensions Platformで異なるライセンスという意味でのマルチライセンスだと納得しました。

saturday06 commented 1 month ago

ご確認ありがとうございます!

すみません一点

-「GitHub ReleaseではMIT版のソースコードを配布する」(これはマルチライセンス版にするかもしれない) -「Blender Extensions PlatformではGPL-3.0-or-later版のソースコードを配布する」

このような説明をしてしまったのですが、Blender Extensions Platformでもマルチライセンス配布がもし可能になったらそちらもマルチライセンス配布に変更する予定です。これは、すみません、最初に目指しているとした方式と違うじゃん!ってなってしまいますが、リリース配布オペレーションのメンテナンスコストを考えると完全に同じソースベースのほうが都合が良いためです。ただ、ぼくの主張としては「『あっちで配るときはXライセンスで、こっちで配るときはYライセンスにします!』がOK」という趣旨は変わってない想定です!

Discord含め粘り強くことらのご要望に付き合っていただきありがとうございます。助かりました!

Cj-bc commented 2 days ago

Xで連絡を頂き、そちらに回答いたしましたが後に確認しやすいようにこちらでも書き込んでおきます。 ライセンス変更の件、私は問題ありません⭕

saturday06 commented 2 days ago

ありがとうございます。助かりました!

iCyP commented 1 day ago

私はライセンス変更について同意します。 気づくのが遅くなり申し訳ありません。

saturday06 commented 1 day ago

うおおお助かります!(もろもろ自前実装やってみたんですが、どうしてもロジックが似通ってしまい、やべえと思ってました...!)、ありがとうございます!