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 154949 times)
Offline (Unknown gender) Darkstar2
Reply #150 Posted on: September 25, 2014, 02:32:58 pm
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
Straying off-topic a bit. But, I prefer static linking all the way. Less mess, more portable.

Darkstar2 - Yes, I can see how my sudden leaving could be seen as suspicious. But, as I said via PM (in much more detail) it was a bad time in my life, internet wise.

Understood but keep in mind I posted this before getting your PM.  Welcome back, so you're not a spy or didn't rob anybody, good to know :P Glad you understood at least why things seemed doubtful :D and 9 months passed so quickly. 

Quote
So if you guys are happy to have me back, I am more than happy to contribute to the project. No deleting threads this time round - LOL :)

Well you'll be happy as there has been discussion on making place more attractive as a community and try avoiding what sends people away, so things are more peaceful compared to the time you were in the middle cross fire :D

Quote
As I said in the PM, deleting wasn't the right thing to do. I just wanted out of the net - was a crazy time. Wasn't just here,

Understood, I know where you are coming from.  I almost hit that delete button myself.

Quote
so don't stress about that. Hard to explain unless you have been there. :)

Been there more than once, I've taken long breaks from social media before, not the internet though but anything social media (messaging, etc.).

Quote
Now back on topic :)

Yes I too prefer the portability, meaning the engine and libraries with the EXE.
It's enough that people have to worry about dependencies and files all over the place :D

Logged
Offline (Unknown gender) Darkstar2
Reply #151 Posted on: September 25, 2014, 02:49:29 pm
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
why separate the libs

Please pay attention. Dynamically linking instead of statically linking by default would allow proprietary programs to use ENIGMA if it were under the GNU LGPL, eliminating the need to write up the legal language required for permitting static linking without leaving a loophole.

I agree with lone on this one, static linking, less messy and more portable.
That's the whole idea started in GM, build games fast and create an executable......not create an executable and dependencies / files requirements.
I guess there are pros and cons to every method, you have developers now saying they don't consent to have their code change licenses, and users expressing concerns, so basically it can remain a dead end.  I guess it all comes down to good faith at this point.  I understand from the developers point of view, nobody wants to have their  code stolen, used, sold and not made available, and get credit, on the other hand I'm sure you can understand that neither does the hard working game developer... and ISM raised a good point, you'd have to get consent from every code contributor, that's another hurdle.....
I wonder if these kinds of discussions and long debates on licensing are present in other open source projects.  There are days I wish this project was closed source......I would have gladly paid to use ENIGMA, and not all this bloody mess and headache over being forced to release your game code, assets, etc.....that is insane. then you have 2 developers saying they have no time or energy to go after people's code, etc.  it is a mess...so it all comes down to good faith.  A solid license protects you legally, but does not protect against malicious people......it would be difficult for ENIGMA to prove an EXE was made with ENIGMA, to establish the game is ENIGMA, someone with knowledge can remove the traces of ENIGMA, conceal and hide......and with any code, so neither the ENIGMA developer or the game developer is 100% protected.  What about someone who steals your code but does not earn a substantial amount of money ?  All the energy, legal fees, etc..... 
I don't think this will ever be resolved to everyone's satisfaction, but that should not prevent people from using ENIGMA, including myself, as I jokingly said, once I made my $10 million I'll make a generous donation ! lol.
Logged
Offline (Unknown gender) TheExDeus
Reply #152 Posted on: September 25, 2014, 02:50:33 pm

Developer
Joined: Apr 2008
Posts: 1860

View Profile
The only way we can track who is an actual contributor is by using the headers. So we could just crawl them and make a list of who contributed. If someone in that list is no longer a contributor and can't be got hold of, then we could rewrite the necessary parts. Sadly a lot of the code has been rewritten numerous times, yet people in those headers remained. So it's possible that the person didn't have anything to do with the new code.
So what I am saying is that it could be hard to understand who is a contributor and who isn't. What is the practice in this regard?
Logged
Offline (Unknown gender) onpon
Reply #153 Posted on: September 25, 2014, 04:07:17 pm

Member
Joined: Feb 2010
Posts: 102

View Profile WWW Email
I agree with lone on this one, static linking, less messy and more portable.
That's the whole idea started in GM, build games fast and create an executable......not create an executable and dependencies / files requirements.

Keep in mind, just using the GNU LGPL wouldn't make static linking impossible for everyone. It would still be possible for GPL-compatible games. Actually, I think this would be an advantage: it might encourage some people to release their code under a GPL-compatible license for the privilege of distributing a single executable, yet I don't think it's such an important feature that it will cause people who are hard-set on making their games proprietary flock to Game Maker instead based on it.
Logged
Offline (Unknown gender) Darkstar2
Reply #154 Posted on: September 25, 2014, 04:35:07 pm
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
The only way we can track who is an actual contributor is by using the headers. So we could just crawl them and make a list of who contributed. If someone in that list is no longer a contributor and can't be got hold of, then we could rewrite the necessary parts. Sadly a lot of the code has been rewritten numerous times, yet people in those headers remained. So it's possible that the person didn't have anything to do with the new code.
So what I am saying is that it could be hard to understand who is a contributor and who isn't. What is the practice in this regard?

A good example of this is the recent  contributors to LGM, they have not put their name in the (c), I also have not seen new names in the headers. But you're right, this whole thing is a mess and hard to track proving exactly my point Harri :D

Logged
Offline (Unknown gender) Darkstar2
Reply #155 Posted on: September 25, 2014, 04:36:50 pm
Member
Joined: Jan 2014
Posts: 1238

View Profile Email
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.
Logged
Offline (Male) Goombert
Reply #156 Posted on: September 25, 2014, 05:36:47 pm

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

View Profile
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 have sent them both the following message:
Quote from: RobertBColton
Hello egofree, I am writing to inform you of your rights as a contributor to the LGM/ENIGMA code base. When you sent us a pull request you should have included your name in the copyright headers, usually changing one or two lines does not warrant adding yourself as a contributor but you made substantial changes to several files. The standard is to include yourself on the line with the year you contributed, if the file has not been edited in the previous year you should add a new line with your name and the copyright year. I would like to request that for the protection of your intellectual property and the project that you submit a pull request updating the copyright headers of files you have contributed to so that I may review them and pull them.

This is the topic where I was reminded, I was going to message you at some point but forgot:
http://enigma-dev.org/forums/index.php?topic=1832.msg22334;boardseen#new

Thank you,
Robert

And I know which files they've edited so I can verify to their changes.
« Last Edit: September 25, 2014, 05:42:01 pm by Robert B Colton » 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 #157 Posted on: September 25, 2014, 05:45:24 pm

Member
Joined: Jun 2013
Posts: 53

View Profile
Rezolyze, I'm sorry I may have been a little overly critical, but you can understand where I am coming from. After 8 pages I kind of lost track of what this was all about so I lost sight of the poll's intentions.
It's not a problem, Robert. You have a valid point and I wasn't offended. With the discussion about licensing spanning many years and multiple threads, it's tough to keep it all in perspective.

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.

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.
Logged
Offline (Male) Rusky
Reply #158 Posted on: September 25, 2014, 05:45:42 pm

Resident Troll
Joined: Feb 2008
Posts: 954
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
Depending on how accurate the repo is, you could just look at this: https://github.com/enigma-dev/enigma-dev/graphs/contributors
Logged
Offline (Male) Goombert
Reply #159 Posted on: September 25, 2014, 06:00:47 pm

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

View Profile
Heh, it's not actually accurate Rusky it removed me as top contributor and blanked all my contributions after I changed my email.

Quote from: Rezolyze
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.
That was the other thing I was going to mention to her as well, the only code to relicense is the ENIGMA engine/system.
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) onpon
Reply #160 Posted on: September 25, 2014, 06:23:02 pm

Member
Joined: Feb 2010
Posts: 102

View Profile WWW Email
So are you going to ask your users to start installing dependencies and making sure they have the necessary libs to run your game ?

No, don't be silly. The only difference is instead of sending just an executable, you send an executable + some DLLs or other shared object files.

Honestly, sending a standalone executable is a bad idea in the first place. I haven't used Windows or Game Maker in a long time, but my memory is that virus scanners and download managers tend to be very suspicious of Windows executables downloaded on their own. You can't really blame them; a lot of trojan horses take the form of exectuable files disguised as other types of files (or at least they used to).
Logged
Offline (Male) Rusky
Reply #161 Posted on: September 25, 2014, 06:49:31 pm

Resident Troll
Joined: Feb 2008
Posts: 954
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
Robert- You should be able to get a list of users from Git itself then, if GitHub won't show unknown emails.
Logged
Offline (Unknown gender) sorlok_reaves
Reply #162 Posted on: September 25, 2014, 10:36:57 pm
Contributor
Joined: Dec 2013
Posts: 260

View Profile
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.

Thanks for the message; I'll dig through my changes and see which files I made substantial changes to.
Logged
Offline (Unknown gender) lonewolff
Reply #163 Posted on: September 25, 2014, 11:26:11 pm
"Guest"


Email
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) TheExDeus
Reply #164 Posted on: September 26, 2014, 03:30:32 am

Developer
Joined: Apr 2008
Posts: 1860

View Profile
I think we should just take the contributor list Git provides and use that as a baseline. If a contributor from the past, not in that list, appears and wants credit/has problems with license change, then we can look at it on per-person basis. It's just that GPL doesn't have any guidelines on this as far as I know. 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?
Logged
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 »
  Print