Licensing on Videogame features

If your topic doesn't fit anywhere else, put it here.

Moderator: joepal

Licensing on Videogame features

Postby blerper » Sun Oct 08, 2017 12:19 am

Hello!

I understand that using exported models in closed-sourced games is perfectly allowed. This was very clear. I've been reading the License Explanation and would like to ask for some clarifications on what is allowed under CC0 regarding the use of morphs between exported models.

Using morphs with MakeHuman is very simple and powerful. You can export two models, and then apply a morph modifier with a 3D Editor program such as 3DSmax. On videogames, there are three typical uses of morphs which are very useful.

1. Morphing to change the characters expressions, and make them talk.
2. Morphing to age the characters throughout the game.
3. Morphing to change the look of a character in a character creator at the beginning of a game.

So... while at first glance all of this is allowed, as Exports from MakeHuman end up licensed as CC0... I've seen it mentioned that making a character generator in a videogame is not allowed. I would like some clarifications

My main question: Is morphing between two or more Exported characters allowed under CC0? If that were the case, 1 and 2 would be allowed after all, possibly 3.
If morphing is allowed, then: Is a character creator inside a videogame allowed under CC0, if it were created in this way?

Thank you for your answers :)
blerper
 
Posts: 4
Joined: Sat Oct 07, 2017 11:29 pm

Re: Licensing on Videogame features

Postby blindsaypatten » Sun Oct 08, 2017 2:09 pm

Perhaps there should be a separate forum for license questions and discussions so that they are more easily found and reviewed instead of rehashed over and over scattered around other forums? Also, it would be good to make references to the license and the license explanation more prominent in the documentation.

From http://www.makehuman.org/license_explanation.php
Basically I could deduce a part of the target database (which is AGPL) by comparing two exports (which are CC0). Since the exports are CC0, I now have a CC0 licensed part of the target database instead of exactly the same but AGPL licensed part in the original database. Or?

Our interpretation is that the target is still AGPL. What you did was essentially figure out a way to copy the target although via a different procedure than a simple copy/paste. It does not matter through which practical steps you got your hands on the target: you still copied an AGPL licensed resource, and it remains AGPL licensed. When we mention "reverse engineering", the above is what we mean.

CC0 allows me to do whatever I want. I'm going to use the CC0 exports to make a commercial program "CreateHuman" with exactly the same functionality as MH, but with my own branding.

It is not a problem per se to make a closed-source program with a similar purpose as MakeHuman. However, you cannot do so if you base it on reverse engineered data. If it contains any such data the new product will have to be licensed AGPL. So basically, the closed-source "CreateHuman" application will have to be cleared of any trace of AGPL:ed data, for example reverse engineered parts of the MakeHuman target database. So by all means: If you can make a MakeHuman clone without using any morph info, mesh info, source code or other original MakeHuman assets, the go ahead with it. We will be somewhat curious how you did it though.


Essentially, your case 3 amounts to reverse engineering MakeHuman, which is essentially a character generator, to create your own character generator with a different license.

I don't know how far the analogy goes but consider the case of copyrighted fonts in documents. Even though documents that use the fonts may be CC0 that doesn't mean that you can generate a set of documents that allow you to derive the fonts from the documents and have copyright-free fonts for use in your own document processing software.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Licensing on Videogame features

Postby blerper » Sun Oct 08, 2017 4:14 pm

My main question resided on what exactly would be considered reverse engineering Make Human. If retargeting (or using morph modifiers) between two exported models is enough to be considered reverse engineering, then that would be a bit limiting. Of course, there are ways to work around this, so it's not like Make Human would be an unusable tool for Closed-Source projects.

For 1, I could export a model with make human, and then make the expressions myself to morph to. In fact, I've been doing that to make the character simulate each spoken letter as I want to.
For 2, I could export a model with make human, and then create an older morph myself. While certainly a difficult, time consuming task for non-modelers, it would only be one morph, so it would not be an impossible task.

But from what I've read and you've said, it seems like the AGPL applies only if the exported models are used to re-create a character creator functionality.
So that brings me to the next question, what would be considered a character creator that copies make-Human?

Clearly, making a complex character creator like Skyrim's which has many sliders that morph different aspects of the characters could be considered reverse engineering make human functionality of making human characters.

Image

However, what about a simpler character creator, which basically offers different characters models to choose from? Would it still be considered reverse engineering make human if no morphs are used between models?

Image

Thank you for your clarifications on this!
blerper
 
Posts: 4
Joined: Sat Oct 07, 2017 11:29 pm

Re: Licensing on Videogame features

Postby blindsaypatten » Sun Oct 08, 2017 5:41 pm

Here's how I see it, keep in mind that I don't speak for the MakeHuman developers.

I don't think it is a matter of being a character generator or not, it's a matter of recreating assets. Assets include the provided mesh, the targets, textures, and the various types of geometries, clothes, hair, etc. If you create your own character generator that works much the same as MakeHuman, but do so by creating your own assets from scratch, without deriving them, directly or indirectly from the MakeHuman assets then the MakeHuman license doesn't apply.

My reading of the license and explanation is that you are free to generate 100 characters with MakeHuman and then let your user choose which of those characters to use without contravening the license.

Going out on more of a limb, if you were to use MakeHuman to create a "Young John" character, and a "Old John" character by using other than the age slider and then allow the morphing of one to the other I would argue you are still within bounds but there is room for disagreement. But if you were to create the older John using the age slider and then take the morph that goes from young to old John, and use it to allow one to morph any character from young to old then you have reverse engineered and recreated the young to old target from MakeHuman and the license applies.

But let's look at this a different way. Why not create your game such that it can import MakeHuman-generated characters, and let your users create their characters in MakeHuman? Or perhaps a modified version of MakeHuman that follows the MakeHuman license? Any custom assets that you create, e.g. clothing, can be under the license of your own choosing, and you can create stock characters, with your own license, for users that can't be bothered with using MakeHuman to create their own. If you make enhancements to MakeHuman everyone wins. If several games adopt MakeHuman as their character generator then improvements can be shared and everyone gets better functionality and the potential for improved assets, and users can even move their characters between games. Maybe in the process someone contributes a super-easy and robust installation program and improved documentation. Is there a compelling reason for you to incorporate MakeHuman functionality directly into your game? Just food for thought.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Licensing on Videogame features

Postby blerper » Sun Oct 08, 2017 8:02 pm

My reading of the license and explanation is that you are free to generate 100 characters with MakeHuman and then let your user choose which of those characters to use without contravening the license.

I feel the same. If this were the case, a basic character generator with dozens of base models, and some minor modifications (different materials, hair, and my own morphs) would be feasible.

But if you were to create the older John using the age slider and then take the morph that goes from young to old John, and use it to allow one to morph any character from young to old then you have reverse engineered and recreated the young to old target from MakeHuman and the license applies.

Interesting. This would essentially mean that morphing is allowed once per character, as a general rule. So if Character-A can morph into Character-B, they would be excluded from other morphs from/into other characters.

Why not create your game such that it can import MakeHuman-generated characters, and let your users create their characters in MakeHuman?

While it is a possibility, there would be some issues to deal with.
First of all, it would not be very user-friendly to have users install another program to create their characters for my game. I am also not sure about how importing models during the the game would work, so I would need to spend extra time figuring out all of that. If users have problems with the import of characters, the fault would lie in me for implementing that feature. Might create negative feedback if I'm not careful about it.
Secondly, if I were to allow users to create characters outside of the game, I would not be able to limit what sort of characters are available, and might end up with users having characters that didn't fit the game I envision.
Finally, I use my own skeleton-rigs, so chances are animations would break with imported models.

I will keep the idea of being able to import characters in mind, but it will be something that I will look into later, when the game is nearing its end of production.

Thank you for sharing your thoughts.
blerper
 
Posts: 4
Joined: Sat Oct 07, 2017 11:29 pm

Re: Licensing on Videogame features

Postby blindsaypatten » Sun Oct 08, 2017 9:21 pm

blerper wrote:
My reading of the license and explanation is that you are free to generate 100 characters with MakeHuman and then let your user choose which of those characters to use without contravening the license.

I feel the same. If this were the case, a basic character generator with dozens of base models, and some minor modifications (different materials, hair, and my own morphs) would be feasible.

But if you were to create the older John using the age slider and then take the morph that goes from young to old John, and use it to allow one to morph any character from young to old then you have reverse engineered and recreated the young to old target from MakeHuman and the license applies.

Interesting. This would essentially mean that morphing is allowed once per character, as a general rule. So if Character-A can morph into Character-B, they would be excluded from other morphs from/into other characters.


I don't think there is any limit on the number of characters you can morph between. The limitation is that you can't use generated characters to create morphs that can then be applied to other characters - if that morph is just a recreation of one of the ones in MakeHuman. The bottom line is that you can't use the output of MakeHuman to recreate one of MakeHuman's assets - that's re-engineering.

I guess to be strict about it you shouldn't morph between two characters that only differ by the application of a single MakeHuman morph. I would hope that the developers would not pursue someone who only morphed between pairs of a fixed number of characters as long as they didn't derive a morph which they then applied to other characters.

I don't know if there is a prohibition against including MakeHuman in the install for another program if the two are set up to each run stand-alone.

I guess there would be a problem if you created a customized version of MakeHuman that uses your own skeleton and sets various limitations as the output would no longer be CC0. That strikes me as unfortunate.

Edit:
Actually, I'm a little confused now. Reading the explanation page it seems that by installing the MHX2 plugin I am no longer using an unmodified official version of MakeHuman so the output isn't CC0. The same goes for the mods I've made...
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Re: Licensing on Videogame features

Postby joepal » Mon Oct 09, 2017 6:46 am

My view is this:

If you export multiple characters from MH, they fall under CC0. You are free to cut and paste and mix between these characters as you see fit, without it being considered reverse-engineering. This includes morphing (using your own algorithm) between two or more characters.

What *would* be reverse-engineering is if you try to recreate target assets (instead of just achieving the same effect via your own morphing). And what would completely fall outside CC0 is if you use MakeHuman's morphing code from the python code base.

Concerning MHX2, it is true that there earlier was a discussion about whether using it constituted a "modification". Concerning that, my view is this: You can find MHX2 from the download page here, even in local zip bundled with other core MH plugins. That makes it official and technically something you got from us. Downloading MHX2 and MH from here and using them together does not therefore constitute a modification of what we offer.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4465
Joined: Wed Jun 04, 2008 11:20 am

Re: Licensing on Videogame features

Postby blerper » Mon Oct 09, 2017 4:59 pm

joepal wrote:If you export multiple characters from MH, they fall under CC0. You are free to cut and paste and mix between these characters as you see fit, without it being considered reverse-engineering. This includes morphing (using your own algorithm) between two or more characters.

What *would* be reverse-engineering is if you try to recreate target assets (instead of just achieving the same effect via your own morphing). And what would completely fall outside CC0 is if you use MakeHuman's morphing code from the python code base.

I see, I think I understand what you mean. In that case, making a simple character creator inside a game would not be out of the question.

Thank you!
blerper
 
Posts: 4
Joined: Sat Oct 07, 2017 11:29 pm

Re: Licensing on Videogame features

Postby virtualpaul » Sat Oct 14, 2017 7:28 pm

joepal wrote:My view is this:

If you export multiple characters from MH, they fall under CC0. You are free to cut and paste and mix between these characters as you see fit, without it being considered reverse-engineering. This includes morphing (using your own algorithm) between two or more characters.

What *would* be reverse-engineering is if you try to recreate target assets (instead of just achieving the same effect via your own morphing). And what would completely fall outside CC0 is if you use MakeHuman's morphing code from the python code base.

Concerning MHX2, it is true that there earlier was a discussion about whether using it constituted a "modification". Concerning that, my view is this: You can find MHX2 from the download page here, even in local zip bundled with other core MH plugins. That makes it official and technically something you got from us. Downloading MHX2 and MH from here and using them together does not therefore constitute a modification of what we offer.


Hi!

Sorry for posting in the middle of someone else post.

I had a similar idea to use a few characters as morph candidates to allow some kind of character creator in a game. So it is acceptable to use a few exported characters from makehuman as long as we use our own morph algorithm. But how to be sure they don't happen to be the same? I am guessing there are not that many ways to morph. Or perhaps it might be safer for me to get the character data from other sources. Could you suggest some morph algorithm that would not create a problem or where I could get some human character data, not necessarily free. Another option I have seen on other free products is to have a commercial license (not free) for certain types of use.

Thanks.
virtualpaul
 
Posts: 5
Joined: Tue Oct 10, 2017 8:02 pm

Re: Licensing on Videogame features

Postby blindsaypatten » Sat Oct 14, 2017 7:44 pm

virtualpaul wrote:
Hi!

Sorry for posting in the middle of someone else post.

I had a similar idea to use a few characters as morph candidates to allow some kind of character creator in a game. So it is acceptable to use a few exported characters from makehuman as long as we use our own morph algorithm. But how to be sure they don't happen to be the same? I am guessing there are not that many ways to morph. Or perhaps it might be safer for me to get the character data from other sources. Could you suggest some morph algorithm that would not create a problem or where I could get some human character data, not necessarily free. Another option I have seen on other free products is to have a commercial license (not free) for certain types of use.

Thanks.


There is no problem with using the same algorithm, you just can't use the actual code. If you write code that interpolates between two datasets you'll be fine even if the result turns out to be similar. MH didn't invent morphing let alone interpolation.
blindsaypatten
 
Posts: 586
Joined: Tue Mar 14, 2017 11:16 pm

Next

Return to General discussions about makehuman

Who is online

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