Help discuss a modified license text

Locked forum where the devs and staff post news about the makehuman software

Help discuss a modified license text

Postby joepal » Tue Sep 01, 2020 7:22 am

We need to do something about the current license.

As a historical parenthesis, the current license setup was formulated as a compromise a long time ago. The discussion back then was between strong copyleft proponents and people who wanted maximum freedom for artists. The final result was the dual setup where exported graphical assets was considered CC0 (under a few conditions), whereas the source code was AGPL.

However, things looked very different back then. This was before the new blender integration, before scripting via MHAPI, before MHX was broken out from the main code and before the asset repositories. The only way to get a result from MakeHuman back then was by going to the file menu and do an export.

Because of the development during the last few years, the license setup no longer makes any sense. In many situations it is simply incomprehensible and impossible to apply. Thus the need for a change.

There are some limits on what we can do though. The hard boundaries are these:

We cannot change the source code license to anything more permissive than GPL, and probably not from AGPL in the first place. There are two reasons for this:

  • There have been a vast number of contributors over the last fifteen or so years. They have contributed their code under either GPL or AGPL. Copyright was not explicitly transfered when they sent in their contribution, so they still own their piece of code. We have no way of contacting all these contributors, nor any way of removing their contributions from the code (short of rewriting much of it from scratch).
  • We have a hard dependency on PyQT, which is GPL. The combined product is therefore by necessity at least GPL. This is the functional difference between LGPL (which would have allowed linking to PyQT as a library without changing the license) and GPL (which does not allow linking as a library without changing the license).

What we can do is reformulate how graphical assets are treated, and what constitutes a graphical asset. The goal with all this would be to remove any lingering doubt concerning whether a used asset under some circumstances might have been covered by AGPL.

There have been a lot fewer contributors involved in assets, and we feel confident that we (in a worst case scenario) could remove any asset which was not possible to change. Also, according to the current license, all we need to do in order to get an asset licensed CC0 is to export it from MakeHuman.

Further down is a proposed new license setup. The functional before/after changes are these:

BEFORE: Bundled assets are a part of the application
AFTER: Bundled assets are something the application uses, but which are otherwise considered standalone entities

BEFORE: Assets are per default covered by AGPL
AFTER: Assets are per default released as CC0

BEFORE: Exports become covered by CC0 upon export via the GUI
AFTER: Exports only consist of things which were CC0 to start with

BEFORE: Targets, proxies and the base mesh are considered source code, covered by AGPL (unless exported via the GUI)
AFTER: Targets, proxies and the base mesh are considered graphical assets, covered by CC0

BEFORE: Trying to "reverse engineer" or recreate the targets is prohibited
AFTER: Targets are CC0 no matter how you got hold of them

Now, none of us in the dev team is a lawyer. And we cannot afford to hire a lawyer to help us with all this. We can only act in good faith and hope that the community helps us point out flaws and weaknesses in the proposed license setup.

However, no matter what we'll do, there will always be fringe cases that you could construct if you think hard enough and insist on playing the devil's advocate. There's no way around this short of formulating an Apple kind of you-may-not-use-your-iphone-as-a-nuclear-warhead kind of 64-page EULA. Which would be the opposite of formulating a simple and easily understandable license text.

The following is a draft of a new license text. The text does not in itself constitute a license change as of yet. So far it is only a discussion.

Please suggest ways of improving it, even if it's only adjusting a spelling mistake or some bad grammar.

Code: Select all
LICENSING
=========

Table of contents
-----------------
A. The overall license setup for MakeHuman
B. The license for the source code as such
C. The license for the bundled assets
D. Concerning the output from MakeHuman


A. The overall license setup for MakeHuman
------------------------------------------

The MakeHuman application consists of two separate parts:

* Source code: the program logic that powers the application.
* Assets: The graphical data that the application operates on

B. The license for the source code as such
------------------------------------------

The MakeHuman source code is defined as files that contain program logic.
This includes python files, bat scripts, shell scripts and glsl shaders.

Image files required for the user interface as such are also covered. This
includes images for buttons, icons, and slider images.

The MakeHuman source (as defined per the above) is released under AGPL.

Copyright (C) 2001-2020  MakeHuman Team (www.makehumancommunity.org)

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
   
For the full text of the source code license, see
[LICENSE.CODE.md](LICENSE.CODE.MD)

C. The license for the bundled assets
-------------------------------------

The assets are defined as any data contributing to the graphical output of
MakeHuman. This includes:

* The base mesh and proxies
* Targets and modifiers
* Textures
* Clothes (any MHCLO-based asset)
* Poses and expressions

These assets have been released under CC0 1.0 Universal. In summary this means
that to the fullest extent possible, it is the intention of the MakeHuman
project that anyone can do whatever they want with it.

For the full text of the legal statement regarding the assets, see
[LICENSE.ASSETS.md](LICENSE.ASSETS.md)

D. Concerning the output from MakeHuman
---------------------------------------

It is the opinion of the MakeHuman project that no output from MakeHuman
contains any trace of program logic. That is, irregardless of whether you use
the UI as such or if you call functions of MakeHuman via a script (such as
via the blender importer), what you get is a combination of assets and your
own creative input. As the assets have been released under CC0, there is no
limitation on what you can do with this combined output.

To make it clear, the MakeHuman project makes no claim whatsoever over output
such as:

* Exports to files (FBX, OBJ, DAE, MHX2...)
* Exports via direct integration (import via MPFB)
* Graphical data generated via scripting or plugins
* Renderings
* Screenshots
* Saved model files

We regard these things as your data, which is yours to handle as you see
fit.

Note that what is discussed here are only assets bundled in the MakeHuman
distribution. If you use a third part asset, such as one downloaded from the
asset repositories, it is your own responsibility to make sure you abide by
its specific license. That license might be different from the one covering
the assets bundled by MakeHuman.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4465
Joined: Wed Jun 04, 2008 11:20 am

Re: Help discuss a modified license text

Postby Skalldyrssuppe » Tue Sep 01, 2020 6:22 pm

spoiler alert: im not gonna be very helpful in this

ive read this whole post and i dont really understand
when contributors add sourcecode to the project, dont HM now own the code and can license it how it see fit?
and if not, cant MH contact the contributors that has made SC with problematic licenses and have them agree to change the license?
also when ppl upload assets to the repository, cant we just say that the asset must be considered CC-BY or equvilent?

keep on the good work Joel :) (and all you other wonderful ppl who contribute to HM)
Skalldyrssuppe
 
Posts: 12
Joined: Wed Mar 15, 2017 11:01 am

Re: Help discuss a modified license text

Postby RREDesigns » Wed Sep 02, 2020 1:11 am

I don't know much about licences reaches and holes for legal exploits, furthermore, I hadn't even read the original licence text since I started using MH, so the only thing I can say is:

The before/after proposal points seem quite alright to me.

Keep it up. MH is such a great tool nowadays. :D
RREDesigns
 
Posts: 2
Joined: Sat Jul 25, 2015 6:32 pm

Re: Help discuss a modified license text

Postby RobBaer » Wed Sep 02, 2020 2:01 pm

Skalldyrssuppe wrote:when contributors add sourcecode to the project, don't HM now own the code and can license it how it see fit?
and if not, cant MH contact the contributors that has made SC with problematic licenses and have them agree to change the license?

also when ppl upload assets to the repository, cant we just say that the asset must be considered CC-BY or equvilent?


To the first question:
The more important consideration here is the licensing restrictions of library code (e.g., QT) used in MakeHuman which has it's own license restrictions. As to ownership of code, you are probably correct, except that authors contributed their efforts under one set of assumptions, and it would be at the very least be impolite to change the rules after the fact. As is often the case in open source, a lot of this contribution history is not written down and is somewhat fuzzy. The goal of the change is to give artists more freedom in using the software without feeling strapped by license restrictions that limit usability. Most of these constraints are edge cases, but they have come up enough times over the years that we are interested in finding a flexible and clean solution within current restrictions that maximizes artistic usability.

To the second question:
Yes. we allow that. The license change under consideration here is for the core project and not contributed assets
User avatar
RobBaer
 
Posts: 1208
Joined: Sat Jul 13, 2013 3:30 pm
Location: Kirksville, MO USA

Re: Help discuss a modified license text

Postby Skalldyrssuppe » Wed Sep 02, 2020 6:23 pm

Thank you for taking the time to clearify this for me.

but as i said im not really in a position to help much, i tried reading up on the difference between LGPL and GPL but when i read things as "It is also necessary to ensure that the LGPL is "GPL-compatible", so that GPL-covered programs can use LGPL-covered libraries." my brain makes a cricket sound and i zone out.

any problems that can be solved with waffels and a smile? thats more in my wheelhouse.
Skalldyrssuppe
 
Posts: 12
Joined: Wed Mar 15, 2017 11:01 am

Re: Help discuss a modified license text

Postby joepal » Thu Sep 03, 2020 7:26 am

Skalldyrssuppe wrote:any problems that can be solved with waffels and a smile? thats more in my wheelhouse.


This is how I've tried to solve license questions the last five or so years. Most of the time it works surprisingly well.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4465
Joined: Wed Jun 04, 2008 11:20 am

Re: Help discuss a modified license text

Postby punkduck » Sat Sep 05, 2020 11:11 am

Hi

Well, I dunno if I really can help. For what I do on github, I consider my code more or less as cc0. Otherwise I would not really put it there, discuss with people etc. I also earn money with programming in real life but in this case it is a code, which I never would share in an OpenSource platform.

When I entered the team, my goal was that I can help here and there because I also use the software and I was interested in all of that. I think it would be good enough to mention the name somewhere in the credits of MH and that's it. The code may development and other people will change what I have written ... for me that's part of the process. When I leave the project it does not make sense, that the project dies ... I always hope that I find a successor then.

Rewriting everything would not change much, the code would be shorter (because we can throw away some parts), we can use some more modern ideas like maybe SQlite instead of some homegrown cache files etc. But if it should do the same, some algorithms will always be the same.

A good example is MakeClothes. As Joel started with that, I only knew two things: we need a good algorithm to find nearest vertices and we need an algorithm which places the vertices of these clothes in an equal distance to the body. Since I learnt that in CG at university first thing I remembered were barycentric coordinates. And that's exactly what was implemented with Thomas' algorithm. The idea to use a 3d blender sort-function I found in the code of bastioni lab. I remembered k-d-tree from an article I read long ago. I never was happy with the constant "base.obj" so I put some parameters in configuration file to handle different meshes, if we add another configuration file. So I put that together and that's all. So in a way, not a big deal. In most of the file headers, I did not insert my name because obviously my real name is not punkduck or black-punkduck :)

I can't say sth. to the assets: I consider my own as CC-BY as long as they are not part of MH itself. When somebody asked, if he could use the asset(s) in a project, where he or she might earn a little money I always gave my okay. I know that a successful game needs more than this approach, so for me that's okay. So when e.g. my assets would be part of the distribution itself, I would change them to CC0 and we add the "punkduck" somewhere inside to the list of authors.

Greetings,
Punkduck
User avatar
punkduck
 
Posts: 1216
Joined: Mon Oct 17, 2016 7:24 pm
Location: Nuremberg, Germany

Re: Help discuss a modified license text

Postby nomorecookies » Mon Sep 07, 2020 8:50 pm

Thank you very much for the insight into the plans for the license.
With the direction you all are heading, i now feel much more confident that i can invest even more time with Makehuman without the rug being pulled from under me later, when i use the creations in a commercial game.
nomorecookies
 
Posts: 82
Joined: Thu Jul 30, 2020 1:34 pm

Re: Help discuss a modified license text

Postby type4101 » Mon Sep 14, 2020 2:15 pm

Hello good folks at Makehuman. While I'm not licensed to practice law in the jurisdiction that Makehuman.org occupies, I am a graduate of a respected law school in the U.S., as well as a former editor of a law review publication. In other words, I have some legal training. None of what I say here is meant as legal advice in any way, but rather as an informed layperson--who is also an amateur 3d artist--discussing the license together with other laypersons. If you need official legal advice, you must consult a practitioner licensed to practice law in the correct jurisdiction. That said, nothing I see in your proposed updated Makehuman license leaps out as incorrect or impermissible. I applaud your use of clear, human-readable language (you avoid "legalese") which is great. I agree with you that exported models and assets don't carry with them any otherwise protected code--there is no hidden code language in the 3d placement of vertices. Your focus on making as much as possible CC0 is fantastic, and will set many hearts at ease. A small note--I would change any use of the word "irregardless" to "regardless" in the text of the license. Irregardless is technically ok, and wouldn't affect the legality of the terms, but is considered a non-standard word, and may cause English professors' heads to explode.

There is one thing I suggest that may seem counter-intuitive (but bear with me). I strongly suggest making it a condition to submit an item to the community repository that all submissions be made CC0. There is a growing problem with what I call "the proliferation of By-Lines" in open source modeling. It is natural that a modeler would want their hard work recognized, even as they intend for people to use their work without royalties. The CC-BY option seems to be a good option for these well-meaning folks. The problem is the uncertainty about how far a BY-line carries. Does each subsequent user, in perpetuity, have to maintain a list of contributing asset designers, as well as all derivative contributors? If so, for how long? If a contributor's choice of BY-line can be considered offensive, must the derivative author post it in their product? What if the required By-line itself is under dispute, such as a claim that an author has stolen the name of another author, or is using a trademarked name as part of their By-line? These issues have not been litigated to any conclusion in current law--mostly because the cost of litigating it is out of proportion to any recovery an author could get for something intended as "free." A plaintiff would have to spend thousands to see a claim through, only to have a judge order a defendant (maybe) to include the By-line in their product. Any financial remedy requires proof of financial harm--difficult when the original item was made royalty-free. However, there is the possibility of a claim of "reputational" harm, which is nebulous and hard to prove, but can involve monetary damages. More likely is a "copyright troll" lawsuit (or threat of lawsuit) which basically relies on the fact that, although the plaintiff may have to spend thousands for nothing, the defendant would also....so pay up and the dispute goes away. To be fair, this is extremely rare in the Creative Commons world where the vast majority of authors are awesome people who want to share their stuff. But the fear and uncertainty remain. Even worse is the potential to have repository assets sprinkled in with awful Share-Alike or non-commercial use clauses that make every download a stressful event (did I accidentally download a share-alike asset....oh no, what if I did...or what if an author changes the license after I downloaded it, and I have no proof it wasn't Share-Alike when I downloaded it!?).

The truth about CC-BY is that an end-user never sees (or mentally takes-note of) a By-line buried in a credits page of a commercial product. When was the last time you saw something like, "Original shoe buckle model for armor boot #7 by slurpmonster45 adapted by fatcat1986" fly by a credit screen and thought....wow, that slurpmonster fellow is an amazing artist...and those additions by fatcat1986....just sublime! The reality is, the credit for a CC-BY is most noted by the derivative author at the point of download. For example, for me, Punkduck is an absolute legend. I've seen his stuff over the years, and know when I see his name on the repository, that I'm getting something made with care!

So....what should be done to ensure Makehuman users don't struggle with potentially dozens of By-lines, or Share-Alike traps, but still offer content developers the credit they deserve? First, make it a condition that all submissions to the repository are CC0 for Makehuman users. This will uniformly make all Makehuman-related downloads and exports usable without fear. But also offer an option for the author to request credit in a non-binding way (e.g. "this user requests credit if the asset is used in your project"). The vast majority of users would honor such a request, regardless of whether the asset was technically CC0. Finally, allow the author to optionally post contact information (a website link or email) if he or she would like to offer personalized development services (e.g. "If you like this author's work, and would like to see more, visit [website link] or contact [email address] to inquire about custom work.") A repository designed this way would serve everyone's needs, and potentially become an easy place to download hassle-and-fear-free assets, while also serving to promote the author's work. There are many places to download assets with various potentially confusing or problematic licenses, but few dedicated to promoting author's work under a strictly CC0 format. Makehuman could pioneer this approach.

In conclusion, make all Makehuman downloads CC0, and simultaneously promote the author's work.
type4101
 
Posts: 3
Joined: Tue Jan 26, 2016 7:55 pm

Re: Help discuss a modified license text

Postby PeteX » Wed Sep 16, 2020 4:57 pm

I haven't contributed to Makehuman so I feel a bit awkward contributing to a discussion about licensing; it's not my code or art so I don't have any right to say how it ought to be licensed. However, for what it's worth, I like the proposal. It makes things clearer and simpler, which will make it easier to convince people that Makehuman assets are safe to use.

I agree with @type4101 that the CC-BY licence can be a nuisance. It can take a surprising amount of time to work out what the appropriate attribution is, because authors usually don't say exactly what they want. After that, it has to be tracked to make sure the attribution actually does appear in the final product. In addition, some projects won't accept this kind of thing at all. Games usually show a few acknowledgements, but you don't expect to see something like "Geralt's witcher jacket was derived from a design by foobar1234". :)
PeteX
 
Posts: 1
Joined: Wed Sep 16, 2020 4:31 pm

Next

Return to News from the crew

Who is online

Users browsing this forum: Google [Bot] and 1 guest