litagin02 / Style-Bert-VITS2

Style-Bert-VITS2: Bert-VITS2 with more controllable voice styles.
GNU Affero General Public License v3.0
680 stars 82 forks source link

License questions #136

Closed trombik closed 2 months ago

trombik commented 3 months ago

https://github.com/litagin02/Style-Bert-VITS2/blob/bbd89794c68e2ffb351d2ba98c33ca5342aef852/docs/TERMS_OF_USE.md?plain=1#L9-L14

It seems that the above items violate the following section of AGPL v3.

https://github.com/litagin02/Style-Bert-VITS2/blob/13a55c104b64778b674e114dfa0dad12888942a1/LICENSE#L451-L452

According to the following section, the items are invalid, and the licensee may ignore them.

https://github.com/litagin02/Style-Bert-VITS2/blob/13a55c104b64778b674e114dfa0dad12888942a1/LICENSE#L376-L380

The Term of Use also mentions other licenses, but my understanding is that, the code does not re-distribute the mentioned materials, such as jvnv models.

The licensee must follow AGPL v3, but nothing else. Is that correct?

litagin02 commented 3 months ago

In my understanding, the license is only about the use of source code (as a copyrighted work) and associated with the source code, and the usage of source code should follow AGPL. On the other hand, the new term of use is about how to use synthesized speech, which is not the target of license, and this is something that user should agree when using SBV2. The term of use has nothing to do with the source code or copyright, and I think both having "term of use" and "license" in this way is not so strange and is not contradiction.

trombik commented 3 months ago

On the other hand, the new term of use is about how to use synthesized speech, which is not the target of license, and this is something that user should agree when using SBV2.

Would you clarify what "synthesized speech" means? Does it include running the code?

The license states "unlimited permission to run the unmodified Program".

https://github.com/litagin02/Style-Bert-VITS2/blob/d57271a32c305916390bdc590e020bd4eb6c4527/LICENSE#L146-L147

RMS stated, "First of all, let's be clear what freedom 0 means. It means that the distribution of the software does not restrict how you use it" in an article. I guess the "Term of Use" is intended for good, but it is a classical issue in licensing. In the article, he explain why a condition against crimes, such as torture, does not work. Many OSS licenses are not compatible with GPL licenses because of such restrictions (an example is Anti 996 License). The original project has additional restrictions, probably due to "their circumstance". However, it is also invalid and the licensee may remove these restrictions, which is what the license says.

If you mean what data and how the licensee uses it with the code, the Term of Use should explicitly state so. Otherwise, it is just causing confusions to users.

The term of use has nothing to do with the source code or copyright, and I think both having "term of use" and "license" in this way is not so strange and is not contradiction.

Would you mention any OSS projects, licensed under GPL, with "Term of Use"? I'm curious.

litagin02 commented 3 months ago

Would you clarify what "synthesized speech" means? Does it include running the code?

No. I mean the use of synthesized wav files.

Would you mention any OSS projects, licensed under GPL, with "Term of Use"? I'm curious.

I have VOICEVOX project in mind. The source code is licensed under GPL, but the VOICEVOX software has an additional term of use and also has the restriction for each characters.

My understanding is that since default models is not included in this repository and this repository only has source code. And the default models are in hugging face and has their own terms of use, and I feel this is not so contradictive.

And even if my understanding is wrong and the user may ignore terms of use, the term of use is what I want the user to follow, just a request or warning for user. (Also I want to mention that the original Bert-VITS2 has such a warning in README.)

OzoneAsai commented 3 months ago

138

Changing like this may solve the conflicts.

trombik commented 3 months ago

Thanks for the link. The referenced project provides dual-license model, LGPL v3 and an unknown license which you have to ask for what it is. The "Term of Use" forbids "本ソフトウェアの全てまたは一部を無断で再配布すること", which forbids redistribution of the software without permission.

This is clearly what LGPL v3 tries to prevent. It "affirms your unlimited permission to run the unmodified Program" and states that "You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force".

This could have been okay if the software was not GPL-licensed, i.e. their own license. It is great to see more people start sharing their works under copy-left licenses, however, GPL licenses should have been avoided if any additional restrictions are required. We, as a whole, are enjoying the freedom of software thanks to FOSS licenses, including GPL. I guess that you want users to respect other's license. That's normal as a software author. You can tell them to do so by respecting AGPL v3.

RMS stated "The proper job of software licenses is to establish and protect users' freedom" in the article. You might want to prevent online bullying, or frauds. That's fine. However, it is not the job of the software license (or "Term of Use"). It makes things complicated, and difficult to adopt the software. If, and only if, the statement in the original project was valid, or could be enforced, Users would have needed to know what Chinese laws forbids before using it. Referencing Taiwan as a country is against law in China? Being a gay is illegal in some countries. May gay people use the software in the country? Having a proper license without any "additional terms" solves these issues. I guess that the original project "had to" state "additional restrictions". I do understand how difficult to develop FOSS software there. Still, they are aware of the importance of licenses (they moved to AGPL v3 from GPL v3, which clearly indicates they know the loophole of GPL v3).

The suggestions are:

By doing these, you will make the license clear, and the software will be adopted by more people, which, I believe, is what you would like to accomplish (I wish the same).

litagin02 commented 3 months ago

Thanks for explanation. After I have investigated some other TTS software, I understand that your claim is right and my understanding of OSS is wrong (especially about VOICEVOX license).

In my understanding, the only point that violates AGPL is https://github.com/litagin02/Style-Bert-VITS2/blob/bbd89794c68e2ffb351d2ba98c33ca5342aef852/docs/TERMS_OF_USE.md?plain=1#L9-L14 and so I'll remove or replace 「利用規約」 with 「お願い」. And the other terms of use of each default model is not under AGPL license and having them is OK (under the name of "terms of use of each model" which is a not part of OSS source code), so I will keep that part with some clarification.

I'll rewrite LICENSE or at least clarify these points in README in a similar way to: https://github.com/shirowanisan/tsukuyomichan-talksoft/blob/master/LICENSE

trombik commented 3 months ago

Thanks for your understanding.

Please modify README to clarify something. GPL licenses are copyrighted by FSF. If you modify the license and claim that it is a GPL license, that is a violation of the copyright. Also see what you can do to "supplement the terms of the license".

https://github.com/litagin02/Style-Bert-VITS2/blob/d57271a32c305916390bdc590e020bd4eb6c4527/LICENSE#L349-L377

To avoid further license issues, I would suggest:

For license check, there are many tools, and here is a python one, licensecheck, found by a quick search.

litagin02 commented 2 months ago

I've changed 「利用規約」 with 「お願い」, so I think the conflict has been resolved. https://github.com/litagin02/Style-Bert-VITS2/commit/7c93f77606ec2822bcc92b5d4cc8a2a08e18010f

trombik commented 2 months ago

Everything is clear. Thanks!