Page 1 of 3

License of generated models from modified MakeHuman

PostPosted: Sat Oct 14, 2017 7:27 pm
by blindsaypatten
The license for MakeHuman only grants CC0 license to the generated models if you are using an unmodified official version of MakeHuman. I understand that some modifications to MakeHuman might be attempts at getting around the license but some modifications are simple bug fixes or straight-foward enhancements.

As I understand it, right now I lose the CC0 exemption if:
1) I use the python 3 version
2) I use a plugin that isn't part of the official MakeHuman, for example to get perspective view
3) I fix a bug in MakeHuman
4) I fix a bug in MHX2 (assuming the unmodified version is considered an official version due to its availability on the downloads page)
5) I enhance MHX2/MakeHuman to support multiple materials per object.

I'm not even sure if changes to the Blender runtime part of MHX2 constitute a change such that I'm using a modified MakeHuman.

More generally, I haven't been able to find any information on what it means for AGPL to apply to data. Perhaps I haven't found the right keywords for Google but everything I have found deals with executable code. Data is only referenced in respect to data interfaces between different pieces of code. When I read an AGPL licensed MakeHuman export into Blender, is the result an AGPL Blender? Or am I prohibited from reading AGPLed data into non-AGPLed software?

Any guidance would be appreciated.

Re: License of generated models from modified MakeHuman

PostPosted: Sun Oct 15, 2017 9:00 am
by joepal
Most of this is true. However, the python3 version is official, as is everything else under makehumancommunity on github. And changing the blender side of MHX2 is outside he scope of MH (although it still falls under the GPLv2 license of MHX2).

The main reason for using the CC0 split to start with, is because it is very difficult to see how AGPL should be interpreted in regards to graphical assets. The way-back-when compromise was to try to remove all obstacles for the vast majority of users by explicitly excluding exports and 2D output from AGPL (the latter part is clause b in the CC0 section of the license)

Anyway, some general pointers... All of these are my interpretation of AGPL, here given with the fair warning that I'm not a lawyer:

  • AGPL only kicks in on *distribution*, and then only if what you spread can be said to still include any trace of what was originally AGPL licensed. MH's stance is that any 2D graphics is far enough removed from the original code that such images / videos will never be object for AGPL (see the license explanation). Thus, from MH's point of view, it's perfectly fine to use a modified MH to produce 2D graphics without worrying about AGPL.
  • Even if AGPL kicks in, it is sufficient to give the recipient of the material access to the source code, traditionally by including a link. In this case then a link to a) MH and b) the patch/modification. For example "This graphical thingy was produced with MH (source at XXX) with a patch xyx (source at YYY)" added to the description or post. Depending on what "thingy" is here, it might also be needed to include a link to the material used to produce it (for example a blend file).

Re: License of generated models from modified MakeHuman

PostPosted: Sun Oct 15, 2017 3:06 pm
by blindsaypatten
joepal wrote:Even if AGPL kicks in, it is sufficient to give the recipient of the material access to the source code, traditionally by including a link. In this case then a link to a) MH and b) the patch/modification. For example "This graphical thingy was produced with MH (source at XXX) with a patch xyx (source at YYY)" added to the description or post. Depending on what "thingy" is here, it might also be needed to include a link to the material used to produce it (for example a blend file).


Are you saying that if I provide the source code to any modifications that I make then the models I produce become CC0?

The way I read the license materials was that the models themselves, if they don't get the CC0 exception, are AGPL and that if you use them in another program you have to make that program AGPL. If I've got that wrong, what is the implication of the exported model not being CC0? You seem to be saying that it could require the publishing of data that is combined with it (e.g. a blend file) rather than the code.

I am somewhat dubious that you can usefully apply AGPL to data. I can't find any other case of anyone having done so.

I think that the desired result is a license on the target data assets included in MH that only allows them to be used by programs that are open source. I don't see a way to have copies of the mesh or image assets that are in the public domain (released by CC0 which is not itself a license but a declaration that the asset is being placed in the public domain) but claim that the identical assets produced by other means (e.g. modified MH) have restrictions on their use. It seems to me that the potentially realizable aim is to protect the targets, which are not included in the exports and therefore have never been released under CC0.

Let me acknowledge that others have thought about these issues in more depth that I have and I may be misunderstanding things, but I did make a reasonable effort to research the points I made.

Re: License of generated models from modified MakeHuman

PostPosted: Mon Oct 16, 2017 8:20 am
by joepal
blindsaypatten wrote:Are you saying that if I provide the source code to any modifications that I make then the models I produce become CC0?


No, I'm saying you fulfill your obligations for AGPL that way.

blindsaypatten wrote:The way I read the license materials was that the models themselves, if they don't get the CC0 exception, are AGPL and that if you use them in another program you have to make that program AGPL. If I've got that wrong, what is the implication of the exported model not being CC0? You seem to be saying that it could require the publishing of data that is combined with it (e.g. a blend file) rather than the code.


You're reading it correctly. If you don't have the CC0 exception, the exported models are AGPL. Just making one distinction here: You don't turn blender into agpl by using an agpl model in it. However, if you for example build a game that relies on an agpl model, then yes, that would force the game license into agpl. And if a blend file contains an AGPL asset, I'd say the blend file as a whole falls under AGPL.

A blend file can be counted as partial source here, although the classification is somewhat philosophical, since it's a binary format. I'd say that if you publish a) the blend file, b) a link to MH and c) a link to your modifications, you have fulfilled any obligation that an AGPL'd asset would put on you in the case of using the model in blender.

blindsaypatten wrote:I think that the desired result is a license on the target data assets included in MH that only allows them to be used by programs that are open source.


Yes, hence *GPL.

blindsaypatten wrote: I don't see a way to have copies of the mesh or image assets that are in the public domain (released by CC0 which is not itself a license but a declaration that the asset is being placed in the public domain) but claim that the identical assets produced by other means (e.g. modified MH) have restrictions on their use.


You have to take into account that what is licensed is a specific copy. If you have gotten a CC0 licensed copy, you are obviously free to spread that further. If you have gotten an AGPL licensed copy, you have to abide by AGPL when spreading it further. These are different copies even if they are identical per se.

blindsaypatten wrote:It seems to me that the potentially realizable aim is to protect the targets, which are not included in the exports and therefore have never been released under CC0.

Let me acknowledge that others have thought about these issues in more depth that I have and I may be misunderstanding things, but I did make a reasonable effort to research the points I made.


Trust me when I say that the heated bordering on flame war discussion concerning the license that lead to the current solution did not lack an in-depth discussion. The problem is that no matter what license setup one chooses, there are always fringe cases where it becomes cumbersome for someone, or leaves too little protection for the base material.

This said, it is no secret that I was advocating for a less strict license back then, nor that I think there are unfortunate side effects of the current license setup. However, there are reasons for why changing the license is tricky and not something that can be done lightly, even disregarding the problem with deciding what to change it to. Combined with the memory of the quarrel that lead to the last license change, this has made the dev team very hesitant to touch the license at all.

Re: License of generated models from modified MakeHuman

PostPosted: Mon Oct 16, 2017 4:47 pm
by blindsaypatten
joepal wrote:
blindsaypatten wrote: I don't see a way to have copies of the mesh or image assets that are in the public domain (released by CC0 which is not itself a license but a declaration that the asset is being placed in the public domain) but claim that the identical assets produced by other means (e.g. modified MH) have restrictions on their use.


You have to take into account that what is licensed is a specific copy. If you have gotten a CC0 licensed copy, you are obviously free to spread that further. If you have gotten an AGPL licensed copy, you have to abide by AGPL when spreading it further. These are different copies even if they are identical per se.


CC0 is a declaration of having placed a work into the public domain to the fullest extent possible under the laws of a given jurisdiction, it is only a license in jurisdictions which do not allow you to place a work in the public domain. You can license copies of a work under multiple licenses, because you retain the copyright when you license a work, but when you place a work in the public domain you are relinquishing your copyright rights entirely. I don't believe that you can put a copy of a work in the public domain while retaining copyright over other copies of that work.

"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law."
- https://creativecommons.org/publicdomain/zero/1.0/


I am not a lawyer, am I incorrect about this?

Re: License of generated models from modified MakeHuman

PostPosted: Tue Oct 17, 2017 10:04 am
by joepal
I'm not a lawyer either, but in my interpretation, the CC0 mark is applied to the export as such, i.e that permutation. This does not prevent another export from being shared under a different license.

Re: License of generated models from modified MakeHuman

PostPosted: Tue Oct 17, 2017 4:08 pm
by blindsaypatten
joepal wrote:I'm not a lawyer either, but in my interpretation, the CC0 mark is applied to the export as such, i.e that permutation. This does not prevent another export from being shared under a different license.


What's missing here is the recognition that using CC0 means that you are placing your work in the public domain, you are not receiving an exclusive unlimited right to use your model, you are receiving the right to put it in the public domain where anyone can use it in any way they want.

In the end, what is the status of the images that are included in the export? Have they been placed in the public domain, and if not, what are the terms of use for the images? It seems like they would still be AGPL, so what is the meaning of the export being in the public domain? After you take out the mesh and the images, what exactly is left?

To be slightly pedantic, there is no such thing as a CC0 mark. I only say this to emphasize, that except in the few jurisdictions that don't allow you to place a work in the public domain, CC0 is not a license, it is a record of having placed the work in the public domain.

I keep on coming back to the analogy of fonts in documents. On the one hand the makers of document processing software don't place restrictions on your work as a document, on the other hand you aren't allowed to extract the font used for use in another program. I think that that is basically what the MakeHuman team wanted to do, with fonts being replaced by textures and meshes. But if so, I don't think they succeeded.

Re: License of generated models from modified MakeHuman

PostPosted: Tue Oct 17, 2017 5:16 pm
by joepal
Well, you're entitled to your opinion. However, as I guess neither you nor me intend to go to court to test which interpretation survives a trial, I'm thinking the discussion is largely academic.

Also, since it seems I spend more time discussing fringe theoretical issues with the license setup than what I spend coding or building community infrastructure, I'm going to leave this discussion to anyone who's still interested in it.

If someone wants to use the bundled textures under CC0 without first having done an export from an official release, they're welcome to.

Re: License of generated models from modified MakeHuman

PostPosted: Tue Oct 17, 2017 8:40 pm
by blindsaypatten
Thanks for your input and sorry for the distraction. :oops:

Re: License of generated models from modified MakeHuman

PostPosted: Thu Oct 26, 2017 12:07 am
by blindsaypatten
Just for the information of any interested parties:

I asked some questions about interpreting the MakeHuman licence on the opensource.org license-discuss mailing list and was surprised to get a response on one issue from the Creative Commons General Council, Diane Peters.

She said, when CC0 is used, the work, not just a particular copy, is placed in the public domain, and you can no longer enforce any license on any copy of the work on the grounds of copyright and related rights.

=========================
Completely separate from the above, and only expressing my opinion now:
The section of the MakeHuman license that deals with the "CC0 exception" is essentially incomprehensible/meaningless because 1) it is written as though CC0 is a license when in fact it is not* and in particular CC0 applies to the work not a copy of the work, 2) the license doesn't define what a "character" is, and doesn't specify what asset is referred to in the two uses of "the asset", 3) the license does not specify the terms that apply if the character is modified or combined with other assets.

Essentially, without a definition of what a "character" is and what you can and can't do with it, either the AGPL license on the assets is meaningless or the CC0 license[sic] on the character is meaningless.

* If you live in Belgium or some African states it may act as a license but the end result it the same.