Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 »
  Print  
Author Topic: ENIGMA's Engine Code License - Please Vote  (Read 154190 times)
Offline (Unknown gender) onpon
Reply #165 Posted on: September 26, 2014, 05:40:30 am

Member
Joined: Feb 2010
Posts: 102

View Profile WWW Email
They say that changing a license EVERYONE must agree, but if we don't know everyone? How can we be sure? If we change it without a person agreeing, even if we don't know if that person even contributed, then is the "law" on their side?

This has nothing to do with the GNU GPL, it's copyright law. Every person who made a substantial contribution to ENIGMA holds copyright on that contribution. By default, it is illegal to redistribute that work. The contributors have each individually given permission to distribute their contributions under the GNU GPL. The only relicensing that the GNU GPL allows is to either a later version of the GNU GPL if it's under version "n or any later version", or the GNU AGPL.

You can't just assume that anyone who doesn't respond agrees to whatever license change you think of. Ridiculous as it is, copyright even persists after death (more than half a century after the author's death, to be more precise). You have to do the opposite: if you can't figure out who wrote a particular portion, you must assume that you cannot relicense it, and rewrite that portion from scratch.
« Last Edit: September 26, 2014, 05:45:36 am by onpon » Logged
Offline (Unknown gender) lonewolff
Reply #166 Posted on: September 26, 2014, 06:28:46 am
"Guest"


Email
Really? That's pretty scary.

I have no idea on GNU licensing whatsoever. I would have just assumed that once source is committed to the project, the project would own it.
Logged
Offline (Unknown gender) The 11th plague of Egypt
Reply #167 Posted on: September 26, 2014, 06:52:51 am
Member
Joined: Dec 2009
Posts: 274

View Profile
Really? That's pretty scary.

I have no idea on GNU licensing whatsoever. I would have just assumed that once source is committed to the project, the project would own it.

Actually, it's not GNU's GPL fault, it's a matter of re-licensing something, which means contributors should agree to the new license.
You can re-license without asking only if:
- the licenses are compatible (e.g. from LGPL to GPL)
- the contributors signed a CLA (Contributor License Agreement) giving the project ownership of their contributions

Here's an example from a very popular project.

When you contribute to a project under an Open Source license you are not renouncing ownership, just giving the project the right to use your contributions under the terms of that license.
CLAs are usually there to specify that you are also transferring ownership (so the receiving end can do as they please, including re-license your contribution).
« Last Edit: September 26, 2014, 06:59:34 am by The 11th plague of Egypt » Logged
Offline (Unknown gender) onpon
Reply #168 Posted on: September 26, 2014, 07:35:57 am

Member
Joined: Feb 2010
Posts: 102

View Profile WWW Email
The FSF also often has copyright transferred to it, though in that case it's more so the FSF can more easily enforce copyleft than to allow relicensing (they don't tend to weaken existing copyleft, and they never sell exceptions).

Quote
That's pretty scary.

In what way? If this wasn't the case, copyleft wouldn't work.

Or are you referring to the ridiculous duration of copyright monopolies?
« Last Edit: September 26, 2014, 07:38:12 am by onpon » Logged
Offline (Female) IsmAvatar
Reply #169 Posted on: September 26, 2014, 09:57:21 am

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 877

View Profile Email
The code in ENIGMA is currently licensed under the GPL3+. This is code contributed by many talented programmers, each individually having their code licensed (or relicensed) to the GPL3+. Relicensing an entire product is not a trivial matter, and even less trivial due to its current license. Relicensing ENIGMA (or LateralGM) would require *every single code contributor* to agree to have their contributions relicensed to the new license. It cannot be done democratically (with a vote). If any single developer does not agree, their code is stuck to the old license, meaning you either have to give up or scrap *all* of their code. Which could potentially leave the product broken, so you'd have to have someone rewrite those code sections from scratch using the new license (or compatible), and it can't be identical to the old code.
I completely agree with everything you've written above. The only thing I would add is: We're talking about relicensing ENIGMA's engine code, the code that would be redistributed in executable form with a compiled game. LateralGM and the parser/compiler would and should remain GPL licensed. I don't think anyone is arguing otherwise.
Was just providing LGM as an example of another GPL project in which relicensing would be difficult. I know you guys never mentioned it, but I did recently get a private message from someone asking if I'd be interested in relicensing LGM. Also, for the record, even though LGM and ENIGMA are separate projects, they do interact together and are used together. In order for this interaction to occur, they require either compatible licenses or licenses that permit this interaction. I don't recall exactly how far this goes, but it could be worth looking into to ensure that you don't have to abandon LGM as the interface just because you chose a more permissive license!

For example, I am a well-known contributor to some of the modules in ENIGMA. You'll see my name appear at the top of some files. I for one intentionally wrote my code with the GPL3+ license (with option for a special exception for the games). I do NOT consent to having my code relicensed to the BSD or MIT licenses. I do not want a permissive license, as I do not want to see a proprietary competitor to ENIGMA stealing ENIGMA's code and not sharing their own improvements (which I think Josh mentioned).

I see the MPL v2 as a fair compromise between the GPL v3 and a permissive license like the BSD or MIT license. The MPL is still a copyleft license like the GPL, but it allows for linking non-MPL code to MPL code. It's just as viral as the GPL except where linking is concerned. It was designed with the purpose of being a bridge between copyleft licensed code all other types of licensed/proprietary code.

However, it's not my intention to get into another long-running debate over licenses. I can understand why most people wouldn't want to comb through so many pages of discussion to arrive at a license choice. I've got an idea that should simplify the discussion, but I'll need everyone's help to implement it. I'll post more about it soon.
If you guys decide to go with MPL2, I'll consider it.

That's all from me for now. Proceed :-)
Logged
Offline (Male) Goombert
Reply #170 Posted on: September 26, 2014, 12:53:05 pm

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
Mmmm, IsmAvatar, I am not sure about what you are saying because the extent to which ENIGMA and LGM work together is limited, the same could be accomplished in LGM with a Studio plugin which I had contemplated before. I think more of that would reside in the plugin for LGM wouldn't it? Or probably not since the license we want for ENIGMA is to stop people from fixing important bugs and closing off the source code to us.
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Male) Josh @ Dreamland
Reply #171 Posted on: September 26, 2014, 08:55:55 pm

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2950

View Profile Email
In order for this interaction to occur, they require either compatible licenses or licenses that permit this interaction. I don't recall exactly how far this goes, but it could be worth looking into to ensure that you don't have to abandon LGM as the interface just because you chose a more permissive license!

Rest assured, the compiler will remain GPL. Code produced by the compiler belongs to the user, as code produced by InkScape belongs to its users. The reason user games must be GPL is because the engine is GPL.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Unknown gender) lonewolff
Reply #172 Posted on: September 26, 2014, 09:45:32 pm
"Guest"


Email
In what way? If this wasn't the case, copyleft wouldn't work.

Or are you referring to the ridiculous duration of copyright monopolies?

As I said, I really have no licencing experience whatsoever.

I think I understand copyleft - pretty much any derivatives or forks must adhere to the licence of the original and cant be closed sourced etc. Is this right?

The scary part I was reffering to is that contributors still have full legal right to their source code once it is 'donated' to the project. I would have thought it would become owned by 'the project'.

I'd say just put a clause in the licence to that effect. Same thing that happens when a coder becomes an employee of a company, even though the individual codes it, they have no legal right to it when submitted.

As I said, just take any of this as a suggestion as I have no idea on the licencing ins and outs. :)

I know from how long this has dragged out though, that this must be a turd of an area in the business side of things.
Logged
Offline (Unknown gender) Darkstar2
Reply #173 Posted on: September 26, 2014, 10:20:08 pm
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
Spot on, this is why I agree with lonewolff 100% on this one. 
So are you going to ask your users to start installing dependencies and making sure they have the necessary libs to run your game ?  Perhaps a poll asking what people prefer, a single EXE or dependencies/requirements and a mess.

I guess it's obvious what most people using these tools would use.

I certainly prefer single exe all the way. But, if you ask 'those who shalt not be referenced' (ok, YYG :)). The say the former option, pack all of the dependencies in to a big ass installer package.

I 'had it out' with them about this a long time ago, because they pack d3dx9_43.dll with the compiled app but not xinput1_3.dll so gamepad support breaks when you don't have all DX runtimes installed.

So, with your 4 MB game you should 'supposedly' include no less than 100 MB worth of supporting files.

100 MB DX redists, VC2008 redist, oh and you are using a poorly written extension that was built in VC2010 and dynamic links as well? - better add those redists too then.  ???

Stuff that. Single executable all the way thanks ;)
Logged
Offline (Unknown gender) egofree
Reply #174 Posted on: September 27, 2014, 02:49:40 am
Contributor
Joined: Jun 2013
Posts: 601

View Profile Email
Quote from: Darkstar2
A good example of this is the recent  contributors to LGM, they have not put their name in the (c),
You just reminded me of something very important, I forgot to mention that to sorlok and egofree. It's an honest mistake I never added myself to the headers when I first started and I still forget quite a lot to add myself to the copyright headers, in fact, I should have added myself to XLIB main/window headers a while back because I've made significant improvements to those files.

I've already included my name in the headers. Perhaps i forgot sometimes to put my name, but in general, it's there.
Logged
Offline (Male) Goombert
Reply #175 Posted on: September 27, 2014, 03:13:47 am

Developer
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 2993

View Profile
Hmmm I see your name in a couple of places where I'd think to look so ok I'll take your word for it.
https://github.com/IsmAvatar/LateralGM/blob/master/org/lateralgm/subframes/RoomFrame.java#L6
Just remember to update headers of the files you change! I can not stress it enough. :)
Logged
I think it was Leonardo da Vinci who once said something along the lines of "If you build the robots, they will make games." or something to that effect.

Offline (Unknown gender) Rezolyze
Reply #176 Posted on: September 27, 2014, 11:29:48 pm

Member
Joined: Jun 2013
Posts: 53

View Profile
Here's an interesting read about how VLC's core and some modules were relicensed to LGPL: How to properly(?) relicense a large open source project - part 1. The author also writes about how he got information on who modified what piece of code using git, grep and awk. If he can do it with hundreds of VLC developers, then I'm sure we can too. :)
Logged
Offline (Unknown gender) Rezolyze
Reply #177 Posted on: October 03, 2014, 09:07:02 am

Member
Joined: Jun 2013
Posts: 53

View Profile
OK, this took a lot longer than I expected, but here it is: ENIGMA's Engine Code - License Comparison. This is the first draft and there may be some errors. Please keep any replies in that topic to factual information you'd like added, changed or removed. It's meant as a reference for the forums. I hope that people find it useful.
Logged
Offline (Unknown gender) Rezolyze
Reply #178 Posted on: October 03, 2014, 09:31:57 am

Member
Joined: Jun 2013
Posts: 53

View Profile
What does "Prevent proprietary fixes or features" mean? You claim that the LGPL doesn't do this, but the way I interpret "proprietary fixes or features" is "make proprietary versions of the library", which the LGPL prohibits.

This is an issue that Josh seems to be the most concerned about. He doesn't want a license that would allow some entity to close source some bug fixes or new features for ENIGMA's engine and release it as a new and improved product. Here's an example of how something like that could happen.

The problem is: no one has suggested/found an existing license that would prevent such a thing from happening.
Logged
Offline (Unknown gender) onpon
Reply #179 Posted on: October 03, 2014, 09:49:26 am

Member
Joined: Feb 2010
Posts: 102

View Profile WWW Email
Here's an example of how something like that could happen.

Uh, that's an example of that happening under the MPL, not the GNU LGPL. I'm pretty sure that the GNU LGPL doesn't allow you to link the library to a proprietary program; only the other way around (a proprietary program can link to the library).
Logged
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 »
  Print