how to integrate with makehuman with my project?

MakeHuman python API, python plugins, etc

Moderator: joepal

Re: how to integrate with makehuman with my project?

Postby joepal » Tue Dec 31, 2013 2:22 pm

See viewtopic.php?f=7&t=1749&start=10#p21713

In addition to this it's worth mentioning that the scripting inside MakeHuman allows any python code to be executed. One guy (who I haven't seen in a while) wrote a simple socket server which he started inside MH and which he could then talk to from his external application. I think this is still the most viable approach for integrating applications.

Note that the AGPL license still applies for this use case.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4469
Joined: Wed Jun 04, 2008 11:20 am

Re: how to integrate with makehuman with my project?

Postby fredmake » Mon Feb 03, 2014 11:38 pm

Hi guys,

I see that lot of people want to do more or less the same think: using MH inside a Pipeline in order to produce automatically or with an external control human bodies.

I just want to understand clearly the AGPL consequences on this kind of example (I hope it is enough clear):

WEB-Interface (WEB1) => Internet Network => On Server 1: MH with a python script server which allowing to import parameters (sex,age, skin color...) and to generate a 3D human body data (.obj and .png texture) on a Sql database => Internet Network => On Server 2 (Sql server for medical application): a script reads the data of the human body registered on the Server 1 => On Server 2 (High Performance Server without MH) : Physics simulation on the human body (registered in the sql database) = Generation of a new texture : .png file on the sql database => Internet Network => Displaying of the 3D human body with its new texture on the initial WEB-Interface (WEB1).


In this case it is certain that the python code on Server 1 with MH must be under AGPL (must we publish also in the code the original http address of our server (Server 1) ? )

Concerning Server 2, do you think that we must open under AGPL the code of our physics simulation and the texture generation stored on the server 2 in this case of application ?

Many thanks for you answer.

Fred
fredmake
 
Posts: 2
Joined: Mon Feb 03, 2014 10:18 pm

Re: how to integrate with makehuman with my project?

Postby joepal » Tue Feb 04, 2014 12:07 pm

fredmake wrote:Hi guys,

I see that lot of people want to do more or less the same think: using MH inside a Pipeline in order to produce automatically or with an external control human bodies.

I just want to understand clearly the AGPL consequences on this kind of example (I hope it is enough clear):

WEB-Interface (WEB1) => Internet Network => On Server 1: MH with a python script server which allowing to import parameters (sex,age, skin color...) and to generate a 3D human body data (.obj and .png texture) on a Sql database => Internet Network => On Server 2 (Sql server for medical application): a script reads the data of the human body registered on the Server 1 => On Server 2 (High Performance Server without MH) : Physics simulation on the human body (registered in the sql database) = Generation of a new texture : .png file on the sql database => Internet Network => Displaying of the 3D human body with its new texture on the initial WEB-Interface (WEB1).


In this case it is certain that the python code on Server 1 with MH must be under AGPL (must we publish also in the code the original http address of our server (Server 1) ? )

Concerning Server 2, do you think that we must open under AGPL the code of our physics simulation and the texture generation stored on the server 2 in this case of application ?

Many thanks for you answer.

Fred


Output data (ie exports) is covered by CC0, not AGPL. If you use the pipeline on server 1 to produce an export which you then later use somehow on server 2, you have basically no legal obligations whatsoever on server 2.

If the whole thing is one automated chain where a user can somehow run/start/interact with MH via server 2, we could start discussing AGPL in place of CC0, but as I understand it these are two distinct steps? First generate an export on server 1 and distribute it. Then time passes. Then work with the result on server 2?
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4469
Joined: Wed Jun 04, 2008 11:20 am

Re: how to integrate with makehuman with my project?

Postby duststorm » Tue Feb 04, 2014 12:13 pm

It's a complex matter, but I think Joel is right.

I believe this would be a win-win, as the open source community gains a web interface to MH, while you are free to use the data generated by MH using the alternate user interface.


If you think about it, this use case has to be allowed by MH because we intend for MH to be integrated into graphics creation pipelines, and the scenario described by fredmake appears to be just that: a pipeline from MH to another tool. As long as the alternate user interface to MH is open-sourced, the AGPL is honored.
MakeHuman™ developer
User avatar
duststorm
 
Posts: 2569
Joined: Fri Jan 27, 2012 11:57 am
Location: Belgium

Re: how to integrate with makehuman with my project?

Postby Manuel » Tue Feb 04, 2014 2:09 pm

Sorry guys, but it's all under AGPL in my opinion.

The reason is simple: server1, server2 and server 3 are just working as an unique machine.

Input --> BLACKBOX --> Output

Where BLACKBOX = server1+server2+server3

BLACKBOX can be also an harddisk1+hardisk2+hardisck3 or cpu1+cpu2+cpu3, no matter.

What define the machine is not the physical location, but the way it works.
In that case the three servers are working in an unique algorithm, where the input is entered in the server1 and the output exits from the server 3.
The user don't even get the intermediate output. It's absolute an unique machine.

On the contrary, AGPL would be a BIG FAIL, because any software under AGPL can be divided on two servers:

input --> AGPL code on server 1 ("open source" ) ---> send output to server2 (closed source!)---> public output.

I can ask to FSF lawyers, if you want.

Then a side note: MH is not designed to run on servers. It's a standalone software, not a library.
Manuel
 

Re: how to integrate with makehuman with my project?

Postby duststorm » Tue Feb 04, 2014 3:25 pm

MakeHuman™ developer
User avatar
duststorm
 
Posts: 2569
Joined: Fri Jan 27, 2012 11:57 am
Location: Belgium

Re: how to integrate with makehuman with my project?

Postby joepal » Tue Feb 04, 2014 8:28 pm

Anyway, I think we have too little detail to answer fully.

If you add functionality to produce x exports and run that, than that's something that's covered by AGPL. The exports as such however are covered by CC0. If the description of the chain ends here, you are free to do pretty much whatever you want with the exported files (open them in blender, sell them, build non-free software that uses them).

However, if the chain continues in such a way that the thing must be considered an automated whole (as manuel says above "input" -> "black box" -> "output"), then the chain as such is covered by AGPL no matter if the stuff takes place on multiple servers. Note that the *output* of the chain is still CC0, so once you used the chain to produce a model, that model is free for you to do what you want with. It's just the running of the server chain which would need to comply with AGPL.
Joel Palmius (LinkedIn)
MakeHuman Infrastructure Manager
http://www.palmius.com/joel
joepal
 
Posts: 4469
Joined: Wed Jun 04, 2008 11:20 am

Re: how to integrate with makehuman with my project?

Postby fredmake » Wed Feb 05, 2014 9:45 pm

Hi Guys

Many thanks for your answer... As, I though it is not so easy to have really clear answer for this kind of example.

In order to clarify this subject, please find more details here :

The idea is to use MH by a web interface in order to simplify for the user the creation of its Avatar (size, age, skin color...).
This Avatar is stored on their account (Server 1) and it is rendered inside a web-GL window of a web-borwser.
Inside the web-Browser, a tool allows to produce personalized Tattoo based on special words (Strong, Speed, Smart....), Age, location, Color, body shape... Several Parameters
The selected words/parameters are sent to the Server 2 in order to generate the image of a personalized Tattoo (we have a specific algorithm for doing this),
The Tattoo can be positioned on a selected area (arm, leg, boobs...) of the avatar body. After an update of the texture, the user can see the result on the web-Gl interface.
If the result is OK for the user, it is possible to share or to print it (Picture/3D Model) and to reserve a place in the shop of our tattoo partners.

The only thing that we don't want to publish, it is our algorithm which generates the tattoo shape (that is the reason why it is placed in a second server in my example)

With these details, do you think we are obliged to publish our code ?

An answer from a lawyer is a good idea... if it is possible

Regards
fredmake
 
Posts: 2
Joined: Mon Feb 03, 2014 10:18 pm

Re: how to integrate with makehuman with my project?

Postby slspencer » Sat Feb 08, 2014 1:04 am

I'm interested in this too.

prof1990 wrote:I'm working on a project that i use a 3D human model made by makehuman and i want to interacting with it ( changing some feature like: height, width, leg long, etc..) i.e. full control.

so i want to ask if i can integrate between my project and makehuman to make some changes on the model features and then export it automatically ???

if yes, so how can i do this or how to start ? and the requirements for this

if no, can i create a plugin to import the generated model to blender and do this full control?
slspencer
 
Posts: 30
Joined: Tue Jan 21, 2014 1:47 am

Re: how to integrate with makehuman with my project?

Postby yfjelley » Tue Apr 15, 2014 6:57 am

joepal wrote:Difficult to say without knowing what you want to achieve.

Generally speaking, I think makehuman would be easier to work with since it is made specifically for working with human characters. Blender is way more complex and require you to give more detailed instructions.

i use the version 1.0.0, how to load a human model in makehuman?
yfjelley
 
Posts: 3
Joined: Tue Apr 15, 2014 3:16 am

PreviousNext

Return to Python scripts

Who is online

Users browsing this forum: No registered users and 1 guest