Pages: « 1 2 3 4 »
  Print  
Author Topic: Linking Exception Draft  (Read 10147 times)
Offline (Unknown gender) Rezolyze
Reply #30 Posted on: March 01, 2014, 10:19:58 PM

Member
Joined: Jun 2013
Posts: 53

View Profile
It seems I don't have as good a handle on the MPL as I thought. :pseudo: Thanks for clearing that up The 11th plague of Egypt.

Based on what I've read in the IRC channel, a few of the other developers are busy with real life issues as well. Thanks for taking the time to respond so thoroughly Josh @ Dreamland. My concern about GPL code infecting other code during compilation is unfounded. That's good to know. :)

As I wrote before, I'm creating a game with ENIGMA. I really enjoy the entire process and I intend to make game development my career. I'm a big believer in open source software being the best choice for both its users and developers. This is one of the main reasons I chose ENIGMA and one of the many reasons I'd like to make more games with it. This being my first game, I'll be releasing it for free and probably open source. However, I'll need to make commercial games eventually to pay the bills. The choice of license is important to me because I'd like to develop many more games with ENIGMA in the years to come. Without a license that protects the copyright of a game's source code, I'm worried that game developers will seek out alternative game engines. That hurts both this project and the community around it.

Even though I disagree with the use of a custom GPL exception, I respect the amount of time and effort that was put into writing it. Please know that I mean no disrespect to anyone or their work in the following bullet points and paragraphs.


The GNU General Public License 3.0 Exception
  • allows a game developer to use their code however they want. They can keep the game code proprietary or license it how they choose. It's all up to the developer, just as it should be.
  • hasn't been scrutinized by as many people or for as long as an existing license. Loopholes are more likely to be found and exploited. This risk could scare away potential users or developers of ENIGMA.
  • prevents bug fixes or workarounds in code written for a game. (Approved Interfaces 2.ii) Every engine has bugs that need to be fixed. Waiting for an ENGIMA developer to find and fix the problem could take too long or never happen. What is a game developer supposed to do in that case? They may not have the skill to track down and fix a bug in the ENIGMA engine.
  • has wording that's too specific and prevents broad code changes in the future. (Approved Interfaces 2.i) This is shortsighted and could slow or kill the growth of the project. Developers may decide to change the way ENIGMA links with game code or change any number of things we can't predict. The wording in the exception could become outdated and require updating. (Redistribution with this exception, 1st paragraph) Modifying the license exception could be impossible. No one knows where they will be years from now.
  • could prevent the creation of unique games. (Exception Text 4) How do you define a game? How does that definition differ from the definition of a game engine, framework or library? What makes a game different from an application? This could become a legally gray area especially if the game is unique. The game could allow for creating mini-games or changing existing parts of the game and redistributing those changes. The word "game" has a very different definition depending upon who you ask.

The Mozilla Public License 2.0
  • allows a game developer to use their code however they want. They can keep the game code proprietary or license it how they choose. It's all up to the developer, just as it should be.
  • covers a wide range of modifications to the code. This license is future proof because it was designed that way. Less restrictive than the GPL, but not as lenient as something like the BSD license. Forking the project or broad changes to the code become a non-issue.
  • requires free advertising of the ENIGMA project. Anyone who redistributes part or all of the ENIGMA project is required to share the project's source code. Anything that tells more people about this project is a very good thing.

I think the custom GPL 3.0 exception is too restrictive and doesn't consider future modifications to ENIGMA. The MPL 2.0 is less restrictive and gives the project the room to grow and change over time.

A big concern with the MPL 2.0 focuses on a worst case scenario. A separate entity could remove parts of the engine and link the MPL code to their own proprietary code. This entity could then bundle it all together and sell the result. My point is: So what if they did? They are still required by the terms of the MPL to tell their customers where a portion of the code came from. They would be marketing the ENIGMA project for free. They wouldn't help the project by sharing those new features and/or bug fixes, but they would help the project by increasing awareness of ENIGMA. That equates to more users and developers of ENIGMA which would be a very good thing.

Everyone needs to remember that ENIGMA is a community project and NOT a competing product. Even though this project is trying to emulate some of the functionality of GameMaker, the goals of ENIGMA and GameMaker are different. Publicity, users and volunteer developers are the life blood of ENIGMA; not money and control. Any number of companies could take this project and try to rebrand it as their own, but it will always belong to the ENIGMA community. The popularity of such products would increase the popularity of this project.

I can understand the desire to hold on to a project that you've been developing for so many years. My worry is that relicensing the engine under a GPL exception will cause too many restrictions and damage the progress of ENIGMA in the future. ENIGMA needs a new license that will last as long as the project itself. A license that can adapt to the needs and changes of an unpredictable future. I truly believe that the Mozilla Public License 2.0 is the best choice.

If you've taken offense to anything I've written, I'm sorry. That was not my intention. I have a vested interest in ENIGMA as a game developer. I want to help give it the best chance to become the engine of choice among other game developers. Thanks for taking the time to read this.
« Last Edit: March 01, 2014, 10:23:19 PM by Rezolyze » Logged
Offline (Unknown gender) Rezolyze
Reply #31 Posted on: March 01, 2014, 10:48:34 PM

Member
Joined: Jun 2013
Posts: 53

View Profile
Josh, do you have a list of developers that need to be contacted about relicensing the code? Should I just look through ENIGMA's code and check the copyright sections? I'd like all of the developers to give their opinions as well, but I'm not sure how to go about it. Any advice?
Logged
Offline (Male) Josh @ Dreamland
Reply #32 Posted on: March 01, 2014, 11:18:28 PM

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

View Profile Email
The only developer I am concerned about reaching is forthevin. The others are still active in the community and are likely to have already read a good fraction of this topic; these include Robert, polygone, IsmAvatar, Harri (TheExDeus), and possibly Rusky and Aetherspawn. Other contacts include SirXemic and serprex, who essentially donated their code; they gave it to me for use under my own choice of license without any public record. I will contact them, but as it stands, they do not technically own enough code to make a claim.

Aside from them, RexHunter may own code in ENIGMA, and there's a small chance DatZach still owns code, but I think all of his was eventually rewritten. It was incorrectly licensed, anyway, and needed either deleted or dealt with, but he has since washed his hands of this project.


Now, for your other questions and concerns:
> Loopholes are more likely to be found and exploited. This risk could scare away potential users or developers of ENIGMA.
The idea is that if a loophole is found, ENIGMA is the more likely party to be screwed. There are a handful of developers and potentially hundreds of users; which of these parties is more likely to find and exploit a loophole? We are the ones who are more likely to take fire from this proposition; we are the ones who should be afraid of it.

> Every engine has bugs that need to be fixed. Waiting for an ENGIMA developer to find and fix the problem could take too long or never happen. What is a game developer supposed to do in that case? They may not have the skill to track down and fix a bug in the ENIGMA engine.
Let's assume no first-party developer knows the solution, and that all third-parties are not interested in running their own ENIGMA. There are then four possibilities, given as the Cartesian product of two options in two groups: Either a user or third-party developer can know the fix, and the license can either permit or deny the fix being proprietary.
0. User finds, license permits: The user enacts the fix; this is not a relevant scenario to this problem.
1. User finds, license denies: The user can contribute the bugfix to the ENIGMA project. It will be pulled under exempted GPL, and the user is free to use it.
2. Third-party finds, license permits: The third-party enacts this fix and sells it to the user. Hopefully the user needed this fix as bad as he or she thinks upon purchase. This is the case I disagree with.
3. Third-party finds, license denies: The third party can contribute the fix for free in an open-source manner, or offer to sell it to us directly. Otherwise, they sit on it for life. This is the case you disagree with, as it discourages people who are looking to make money off of people from "contributing."

> (Approved Interfaces 2.i) This is shortsighted and could slow or kill the growth of the project. Developers may ... change any number of things we can't predict.
Yes, it's true that this reduces the bus factor to a potentially significant degree; however, the worst-case of this is the GPL. It's easy to grant rights; it's impossible to take them away.

> How do you define a game? How does that definition differ from the definition of a game engine, framework or library?
The word "game" was used mostly to convey simplistic meaning; the phrase "any related product" is where we'd legally derive most of the power.

> requires free advertising of the ENIGMA project. Anyone who redistributes part or all of the ENIGMA project is required to share the project's source code. Anything that tells more people about this project is a very good thing.
This is the number-one bitch about Studio's licensing. Users don't want to signal to anyone that the code in their game might not be theirs; it makes people think they did less work. While we don't require graphical attribution, users in general don't want to share the details of the tools they used. It's a little unreasonable, yes, but it's human nature; most users are more willing to give credit when they are not forced to do so, out of pride instead of legal obligation.

> My point is: So what if they did?
If they did, ENIGMA could cease to exist. Look into the Embrace, Extend, Extinguish policy. It claimed many projects for the Microsoft Overlords™®; it only failed on Java because Sun came to the holy war prepared.

> Everyone needs to remember that ENIGMA is a community project and NOT a competing product.
Competition drives every market, especially the free software market. We have a lot of categories to compete in; I don't mind being outdone as long as both products are free.

> Publicity, users and volunteer developers are the life blood of ENIGMA; not money and control.
We've demonstrated a lack of interest in either of those things; what I am personally interested in is securing the freedom of our users to utilize our engine freely. We poured work into this project to see it succeed as an open-source development platform for all. Not to be consumed by a group willing to spend more money to make some money.

> If you've taken offense to anything I've written, I'm sorry. That was not my intention. I have a vested interest in ENIGMA as a game developer. I want to help give it the best chance to become the engine of choice among other game developers. Thanks for taking the time to read this.
I deal in facts, not emotion. I see the MPL as a promising candidate, but the fear of EEE is a reality against which Mozilla is much better fortified.

Perhaps it would be a good idea to dual-license the engine, with MPL being an alternative if and only if the combined work is not a "related product." We would focus our efforts on defining this related product, and any group which did not fall into this category could feel safe in the knowledge that their version is MPL-covered.

For the record, I have finished my edits. I accidentally pressed the "Post" button by hitting tab and then enter, as some sort of reflex.
« Last Edit: March 01, 2014, 11:38:13 PM by Josh @ Dreamland » 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) Rezolyze
Reply #33 Posted on: March 02, 2014, 01:00:40 AM

Member
Joined: Jun 2013
Posts: 53

View Profile
Quote
The idea is that if a loophole is found, ENIGMA is the more likely party to be screwed. There are a handful of developers and potentially hundreds of users; which of these parties is more likely to find and exploit a loophole? We are the ones who are more likely to take fire from this proposition; we are the ones who should be afraid of it.
I completely agree. I didn't write my reply purely from an ENIGMA user's perspective. I want ENIGMA's developers to have as much protection under another license as possible.

Quote
Let's assume no first-party developer knows the solution, and that all third-parties are not interested in running their own ENIGMA. There are then four possibilities, given as the Cartesian product of two options in two groups: Either a user or third-party developer can know the fix, and the license can either permit or deny the fix being proprietary.
0. User finds, license permits: The user enacts the fix; this is not a relevant scenario to this problem.
1. User finds, license denies: The user can contribute the bugfix to the ENIGMA project. It will be pulled under exempted GPL, and the user is free to use it.
2. Third-party finds, license permits: The third-party enacts this fix and sells it to the user. Hopefully the user needed this fix as bad as he or she thinks upon purchase. This is the case I disagree with.
3. Third-party finds, license denies: The third party can contribute the fix for free in an open-source manner, or offer to sell it to us directly. Otherwise, they sit on it for life. This is the case you disagree with, as it discourages people who are looking to make money off of people from "contributing."
I don't really follow what you're written. Clearly, you're much more logically-minded than I am. :) The following is from the GPL exception, Approved Interfaces 2.ii and is what I was referring to.
Quote
Code not included with the UNMODIFIED ENIGMA distribution may not
include fixes for bugs or misbehaviors in the engine, except where
these changes are considered as modifications to the original source
and are subject accordingly to all terms of this exception (ie, where
this license and exception are upheld in the new code, and the new code
complies fully with this exception).
I took this to mean that a game developer couldn't try to fix or workaround a problem with the engine in their own code. It appears that's not how you meant it, but that's how I understood it. I took issue with it because I've had to workaround a few issues in the engine within my own game code.

Quote
Yes, it's true that this reduces the bus factor to a potentially significant degree; however, the worst-case of this is the GPL. It's easy to grant rights; it's impossible to take them away.
It's not quite as easy to grant rights as you say. After all, you're trying to grant new rights under a license change right now. Contacting all the code contributors could prove difficult. Getting their permission could prove difficult as well.

Quote
The word "game" was used mostly to convey simplistic meaning; the phrase "any related product" is where we'd legally derive most of the power.
I had doubts that the word "game" would be used in the final version, but my point was that defining what a third party is or isn't allowed to create will be very difficult. I would prefer a license that places no restrictions on the creation of a third party's work. How I define my game, might not be the way someone else defines it. Consider something like Garry's Mod. I wouldn't call it a game exactly.

Quote
This is the number-one bitch about Studio's licensing. Users don't want to signal to anyone that the code in their game might not be theirs; it makes people think they did less work. While we don't require graphical attribution, users in general don't want to share the details of the tools they used. It's a little unreasonable, yes, but it's human nature; most users are more willing to give credit when they are not forced to do so, out of pride instead of legal obligation.
I can see your point, but a mention in a README file and a copy of the license in a LICENSE file still doesn't seem like a big deal to me. If they use the tools of ENIGMA, a nod to the project seems fair. It's a small price for the game developer to pay, but can make a big difference to ENIGMA. Credit where credit is due.

Quote
If they did, ENIGMA could cease to exist. Look into the Embrace, Extend, Extinguish policy. It claimed many projects for the Microsoft Overlords™®; it only failed on Java because Sun came to the holy war prepared.
How would it cease to exist? Microsoft Office hasn't killed off Open Office. They both attempt to do the same thing, but in different ways. I did look into "Embrace, Extend and Extinguish" when you mentioned it earlier because I had never heard the phrase before. I remembered the tactic from the browser war days, but didn't know it had a name. I don't see how that tactic could be used against ENIGMA. This project isn't backed by a corporation competing with another corporation for dominance of the market. Even if another team creates an open source fork of this project, they'd still share a code base. It'd be very difficult to leave this project in the dust. Maybe I'm just an optimist, but I don't understand your concerns about this. No offense, but it seems like paranoia.

Quote
Competition drives every market, especially the free software market. We have a lot of categories to compete in; I don't mind being outdone as long as both products are free.
Don't forget that cooperation also drives the free software market. :)

Quote
We've demonstrated a lack of interest in either of those things; what I am personally interested in is securing the freedom of our users to utilize our engine freely. We poured work into this project to see it succeed as an open-source development platform for all. Not to be consumed by a group willing to spend more money to make some money.
I believe we would both agree that the point of this license change is to protect both the users and developers of ENIGMA as much as possible. The MPL seems to protect the users more than the developers. I know that's not fair, but I can't think of another way to license the engine without risking more licensing problems in the future. I don't want this project to die because of copyright issues someday. Even worse would be that game developers don't use the engine because they don't trust the chosen license to protect their code.

Quote
I deal in facts, not emotion. I see the MPL as a promising candidate, but the fear of EEE is a reality against which Mozilla is much better fortified.
If anything, I see this project as a potential wielder of EEE tactics. ENIGMA is the underdog that has the potential to grab GameMaker customers. After the majority of GameMaker's functions are reproduced and the engine is running stable, what's to stop ENIGMA from creating functions that YoYo Games never considered? They might struggle to keep up with this project one day. :D

Quote
Perhaps it would be a good idea to dual-license the engine, with MPL being an alternative if and only if the combined work is not a "related product." We would focus our efforts on defining this related product, and any group which did not fall into this category could feel safe in the knowledge that their version is MPL-covered.
Again I feel that specificity and precise definitions may hamper future progress of ENIGMA. What if someone wants to make a level editor separate from their game. I would define that as an application, but your definition might not allow for such a thing. What about a save game editor? These are just examples of things one might not think of when being so specific. You can never be sure how someone will one day want to use the software you've created. I recommend picking a license that doesn't potentially risk stifling a user's creativity.
« Last Edit: March 02, 2014, 01:06:39 AM by Rezolyze » Logged
Offline (Male) Josh @ Dreamland
Reply #34 Posted on: March 02, 2014, 09:55:23 AM

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

View Profile Email
> I don't really follow what you're written. Clearly, you're much more logically-minded than I am. :) The following is from the GPL exception, Approved Interfaces 2.ii and is what I was referring to.
I was just showing that the clause changes two cases: it prevents a third party from selling a bug fix to users; they can only reasonably sell it to an ENIGMA developer or take up a collection. And it prevents a user from hoarding a fix to the engine—they have to share it with everyone first. I will grant that this may discourage use of the engine by some people, but it will only discourage the people who weren't looking to contribute to the community. And it will discourage development by third parties, but only the third parties who were not willing to share without any possibility of royalties. From the perspective of this community, we have literally lost nothing of value in those cases.

> I took this to mean that a game developer couldn't try to fix or workaround a problem with the engine in their own code. It appears that's not how you meant it, but that's how I understood it. I took issue with it because I've had to workaround a few issues in the engine within my own game code.
If that clause worries you, it can be elided; it is how I attempted to handle the "code in namespace enigma" thing originally. Now, I agree: it seems to be saying too much. Working around a bug might be as simple as not using a particular function, and that is, of course, completely permissible. I assume that is what you meant by workarounds in your games, and that is how the typical user works around things. There'd be no way to prove that such a workaround had occurred, anyway. The better metric is whether the workaround was made using only namespace enigma_user: if you're editing things in namespace enigma, that's a good indicator you've modified code that should be public.

> How would it cease to exist?
In the same way as the others; we offer a whole lot of nice features, but a paid version offers all of our features and more, with bug fixes. Users will pay for the bug fixes, then become dependent on the new features. Then ENIGMA falls out of the picture. A less drastic example is WINE and Crossover Office. If WINE had been GPL, crossover office would either be free and donation based, or would not exist. The latter case might bother you, but it doesn't bother me, as I refuse to pay for a souped up WINE, not because I don't have the money, but because they're trying to sell me other people's work along with theirs. In WINE's case, that was not the intention. You can tell this wasn't in the spirit of the licensing because they then changed the licensing to prevent being leeched off of further. It's uncertain if ENIGMA would be so lucky, but to use an old cliché, I'd prefer to err on the side of caution.

> I don't want this project to die because of copyright issues someday. Even worse would be that game developers don't use the engine because they don't trust the chosen license to protect their code.
I don't see the demise of this project over copyright issues as a concern, namely because if someone is around to enforce the GPL, that person can be contacted to amend the license. As for game developers, they mostly go with the crowd: to my knowledge, only four users, yourself included, have taken the initiative to bring up the licensing at all. That isn't something we can rely on in the event that there certainly is a licensing issue, as there is now, but it is something we can lean on when the license is still in its infancy. MPL was new, once, too. Do you suppose Yoyo is using a conventional license for Game Maker? Or perhaps people trust them more because some of them already had to fork over money to use Game Maker?

> If anything, I see this project as a potential wielder of EEE tactics.
I agree. It may seem that I am being a hypocrite, but consider why EEE is bad. It's bad because it gives one organization control over a userbase, by making it so the users have no choice but to continue to use the product after they switch. In the case of a free-software project, this control goes away, because there's no longer one central authority that owns the code. This is in jeopardy if we don't choose a good license; ENIGMA could become such an entity if either us or a third party is able to control the software.

> What if someone wants to make a level editor separate from their game. I would define that as an application, but your definition might not allow for such a thing.
I am not sure how a level editor constitutes a related product; a level editor is related loosely to the IDE, but ENIGMA is a compiler and an engine. It has nothing to do with IDEs on its own; it simply goes well with one. But again, the manner in which we define a related product will be the crux of the entire operation. It prevents someone from distributing ENIGMA + features and bug fixes as a separate, proprietary product. This particular example also begs the question of whether this level editor would be distributed. If the level editor is for internal use by a company or organization (or just an individual), then they are free by both licenses to do whatever they want. Only when distributing this level editor to third parties would the question of "Is this a related product" enter into the equation, and our definition would say "no." I could easily pay a lawyer to write a definition for us.

> You can never be sure how someone will one day want to use the software you've created.
Again, we can always add rights, and never subtract them (except in later versions). If a user asks us, "Is this legal?" and the answer is "no," that's a relatively easy fix. If a third party finds a loophole and starts developing ENIGMA at full throttle as a proprietary application, we won't last long.
« Last Edit: March 02, 2014, 10:07:32 AM by Josh @ Dreamland » 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) The 11th plague of Egypt
Reply #35 Posted on: March 02, 2014, 01:13:42 PM
Member
Joined: Dec 2009
Posts: 276

View Profile
I agree with Josh on the need to prevent EEE tacticts, mainly because I really don't trust YoYo Games at all.

That said, I'm sure a combination of GPL for parser and MPL for the engine is a pretty sound choice.
I mean, the worst screwup that can happen is if developers hook up the engine to the parser and then everything becomes GPL.
But that's something that can be fixed.

As for bugfixes, the most evil way I can devise not to release a fix is this:
- you have a non-working function in a MPL file
- you comment out the part of the function that is not working
- you create an empty file
- you write a fix in the empty file, from scratch (without copying from the MPL file)
- you make the non-working MPL function call the code in the new file
- you release the (useless) modifications to the MPL file
- you keep your new file proprietary

Notice that no MPL code was be "stolen", because if you copied _any_ MPL code in the new file, then you would have to release the new file as MPL.
Still, you have a MPL file linking to a blob.
Sure it sucks, but if you start doing this for every function, you soon end up with an unmaintainable mess.

Even from the point of view of the "bad" guys, it's more convenient to release the fix and keep close to mainline.
Because then they can leech other fixes from the community :D

After all, this is what many projects building on top of open source do.
Keep new features proprietary, but always release bugfixes.
Qt does that, CrossOver does that, and the communities are pretty healty too.

Besides, the main "selling" point of Enigma is "you can use C++". So, if the parser stays GPL, there isn't really a reason to fork.
With an MPL engine, people could be using some of your functions in their projects, but, you know, that would be the same thing they do when making games with Enigma. Plus you get credits ;)
« Last Edit: March 02, 2014, 01:19:10 PM by The 11th plague of Egypt » Logged
Offline (Male) time-killer-games
Reply #36 Posted on: March 02, 2014, 01:18:13 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1157

View Profile Email
I don't know how you guys have such time to develop rapidly an entire game engine as complex as ENIGMA, to fart around with all the legal issues surrounding it, AND talk by the very books about things so smart it's beyond my reading comprehension. There's only 24 hours in a day, with eating, drinking, sleeping, and everyday life getting in the way. How does anyone cram this much work in a day you guys do every day??!
Logged
Offline (Male) Josh @ Dreamland
Reply #37 Posted on: March 02, 2014, 01:41:28 PM

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

View Profile Email
@11th
That's the very scenario I was describing, although I used removing the entire function and recoding an independent version in user code. It makes maintenance much less of a deal, especially since you can #include whatever you need without violating MPL. In the event that the code is volatile or hard to rewrite, consider macroing the top half of the function with #define top ...\ ...\ ...\ ...\ ... and then doing the same for the bottom; your MPL code is only really changed by two lines and a symbol for each line, while your own code is something like this:
Code: (C++) [Select]
void collision_replacement(int whatever) {
  top_half
  // new code here
  bottom_half
}

I didn't see anything in the MPL even remotely protecting against such. In the event that macros were ugly or over-the-top, preprocessors could be used. #ifdef TOP_HALF ... #endif, #ifdef BOTTOM_HALF ... #endif,

Code: (C++) [Select]
void collision_replacement(int whatever) {
  #define TOP_HALF
  #include "original.cpp"
 
  // new code here
 
  #define BOTTOM_HALF
  #include "original.cpp"
}

The point is that there are a multitude of ways to sneak around this, and Mozilla does not need to worry about them because they have a bigger team than any competition would be able to easily scrape up to outdo them. If we had a larger developer base, we could do the same thing.

@TKG
Lots of Moutain Dew. Or coffee.
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) Darkstar2
Reply #38 Posted on: March 02, 2014, 03:36:15 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
I don't know how you guys have such time to develop rapidly an entire game engine as complex as ENIGMA, to fart around with all the legal issues surrounding it, AND talk by the very books about things so smart it's beyond my reading comprehension. There's only 24 hours in a day, with eating, drinking, sleeping, and everyday life getting in the way. How does anyone cram this much work in a day you guys do every day??!

Yeah good point there - whenever I read all this text I get an intense migraine :P  So if I decide to release an ENIGMA game do I have to hire a couple of attorneys? ;)

This might look very bad for newcomers and might actually turn people away.  Nobody wants to use a product if there is such legal liabilities and too much ambiguity.

Logged
Offline (Unknown gender) Rezolyze
Reply #39 Posted on: March 02, 2014, 07:13:06 PM

Member
Joined: Jun 2013
Posts: 53

View Profile
Josh, I was hoping our debate would be more productive. I thought if I could change your mind on the licensing issue, it would be relatively easy to convince the other ENIGMA developers. At the very least, I'm glad you would concede to using the MPL if everyone else agrees to use it. I think we have found some common ground regarding certain issues, but for the most part, we are both entrenched in our respective views. However, I will try one last time to get my points across with this post and then leave it at that. I've filled up this thread with enough ramblings and you've been kind enough to share your time by responding to them. :)

Regarding "Embrace, extend, and extinguish" tactics, I still don't see how such tactics could be a threat to ENIGMA. If a company like YoYo Games were to embrace ENIGMA, extend it's features and sell it as GameMaker 9, they still couldn't extinguish this project. A corporation isn't a threat to a non-profit, community project like this one. If they sell a product with parts of ENIGMA in it, they have to tell people that they used code from this project. Publicity is good for a free software project! Nothing they could do would extinguish ENIGMA, because this project and their product are in different categories. There's no competition because this project isn't selling anything. Their goal is the same as the goal of any company: to make money. The goal of ENIGMA is to be the best game development tool possible. This project would not cease to exist because there is a paid version with more features available. WINE still exists along with CrossOver and Cedega. Open Office still exists along with Microsoft Office. OpenGL still exists along with DirectX. Firefox still exists along with Internet Explorer. You keep saying that someone could make a better version of ENIGMA, but "better" is a subjective term. Among the aforementioned software, I can't say which is "better" because that's up to whoever is using it. The only thing I can be sure of is that each piece of software will be similar, but also different from the other.

You wrote earlier that paid bugfix versions of ENIGMA hurt ENIGMA. Here's an example of why that's untrue. Let's say you draw up plans for a chair and then share those plans with anyone who wants them. You then build the chair and find that it's defective. It works fine except for a wobble you can't seem to fix. (The chair represents a version of ENIGMA with a bug that no one can fix.) Then I come along and use your plans to make a chair that's identical to yours. I like the chair, but not the wobble, so I fix it. You ask me to share how I fixed the chair, but I refuse. This makes me a jerk, but I haven't hurt your chair in any way. Then I decide to improve the chair by adding arm rests. I think my chair is worth some money and I decide to sell it. I sell my improved chair to other people, but I'm required to tell them where I got the original plans for the chair. Again, this doesn't hurt your chair in any way, but it does tell someone where they can go to find plans to build chairs.

The MPL won't force anyone to share a bug fix if they want to work around the license, but the same can be said of any license or exception you use. You can't force someone to do anything they don't want to do. If they want to be a jerk and keep a fix to themselves, that's their choice. You can only encourage them, as the MPL does, to give back to the project. Besides, are you really so worried about YoYo Games when they make such consistently bad software?

ENIGMA could be abandoned one day because of copyright/licensing issues. In order to make any changes to ENIGMA's license, all of the contributors to the licensed code have to be contacted for permission. Each contributor shares a portion of the copyright. If you can't get their permission to change the license, you have two options. You can either remove their contribution to the code or leave the original license intact. Do any of ENIGMA's developers honestly believe they'll be working on this project for the rest of their lives? I'm guessing that most of the developers are young and in school or just starting a career. Do you really think you will have time for this project along with a full-time job, marriage, kids or other responsibilities? Various contributors have already left the project. What if a major contributor died tomorrow? Under U.S. copyright law, their contribution is protected for 70 years! You can't get permission from a corpse.

My point is that you don't know what will happen in the future. Using a custom license exception that requires changing at a later date is a bad idea. Since I'm fond of hypotheticals, here's another scenario. A major contributor leaves the ENIGMA project for whatever reason and it's impossible to contact him. At some point later, ENIGMA has developed to the point where a change in the engine code is needed to implement some cool new feature or fix a serious bug. Unfortunately, the license exception doesn't allow for such a change. You can't get the former developer's permission to update the license and fix the code. Your only option is to keep it as is or update the license and rewrite all of the code he wrote. This wouldn't be a big deal except he's a major contributor and wrote a 1/3 of the engine's code. You and your team update the license, rewrite the affected code and add that cool new feature. A happy ending, except, what happens when the code and thus the license need to be changed again? Who wants the headache of rewriting perfectly working code because of a copyright issue? Some developers might prefer to quit the project and move on instead.

This custom GPL exception introduces more problems than it fixes. The goal of the license change is to give more control to the people who want to use ENIGMA for whatever reason. In order for ENIGMA's users to get more control, the ENIGMA developers need to give up some control. The MPL 2.0 does just that and it was made to last a project's lifetime. Using any license that needs to be changed over time is shortsighted and will hurt or kill ENIGMA in the future. You can't compare the ENIGMA developers to YoYo Games. GameMaker's code copyright belongs to YoYo Games Ltd. which is a single entity. Their license is crafted by a team of lawyers who specialize in copyright. If they have a need to change their license, they contact their legal team and not the people that contributed to the source code. ENIGMA doesn't have the luxury of crafting a custom license with a team of experts. You're trying to modify the GPL do something it was never meant to do. I will never use ENIGMA under a custom GPL exception and I doubt I'm the only one who feels that way. I have great faith in your coding abilities, but not your legal expertise.

I've looked at other open source game engines and there are a lot to choose from. Most are licensed under very permissive licenses like the BSD license. I believe this is for two reasons. First, a permissive license ensures that game developers will avoid copyright issues in the future which inspires confidence. Second, credit and a link to the engine in the README file spreads awareness and usage of the engine. These projects don't worry about what someone will do with the code once they have it because they're too busy making their engine better. A game engine license should never put limits on what someone can create with it. I realize that you've been working on ENIGMA for a long time and it's very close to you. The way you write about it, I can sometimes imagine that you're talking about your own child leaving home. I get that you want to protect it, but it's more robust than you think and will survive and flourish if given a chance.

I feel like a new license should be a relatively simple issue. You have people that won't use ENIGMA, as it is, because it forces them to license their code under the GPL. Can you blame them for not wanting to use ENIGMA under a modified version of the GPL? Such a license doesn't inspire trust. What good is a game engine that people won't use? I need a game engine that I'm certain will be updated and improved for many years to come. A license that I trust is a key part of that. I suggested a license that I and other users agree with, but you're countering with a more complicated solution. Through discussion in this thread we've established that the MPL will work for the engine code. Please keep it simple and choose the Mozilla Public License 2.0.

I'm done debating as I've stated my position in multiple ways, multiple times. I'm hoping even more people will join in the discussion, but, until then, I await your inevitable rebuttal. :)
« Last Edit: March 03, 2014, 02:33:26 AM by Rezolyze » Logged
Offline (Male) time-killer-games
Reply #40 Posted on: March 02, 2014, 07:44:21 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1157

View Profile Email
Josh, I may be legally ignorant but this guy really seems to really know what he's talking about and at a first glance I think we should listen to him. It might be a scary first step, but it could mean whether this engine will still exist in about less than a year from now.
Logged
Offline (Unknown gender) Darkstar2
Reply #41 Posted on: March 02, 2014, 08:02:07 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Josh, I may be legally ignorant but this guy really seems to really know what he's talking about and at a first glance I think we should listen to him. It might be a scary first step, but it could mean whether this engine will still exist in about less than a year from now.

I second that, I like the way he goes in detail, long read, but speed reading finally put to good use. :D

He has a great point about the "what if" it's good to get all grounds covered ! There is a saying in business, C.Y.A......Cover Your A$$.

One thing I disagree is the notion that married people with careers and kids don't have time to do anything else ! Many commercial game devs have families and busy careers. Somehow there might be other things at play why people left or things are advancing at such pace..... based on what I read when I joined, it appears there are some disagreements(?) but in any case I think said software is a great alternative considering it's free, too good to abandon but I guess time might be a main issue for at least one of the devs.

It's amazing I have never seen so much debate over licensing before :P  and as far as yoyo licensing enigma and calling it GM9!  lol! no thanks!!!
We all saw what happened when they acquired someone elses work. The whole point is to make ENIGMA better, not cripple it :P

Logged
Offline (Male) time-killer-games
Reply #42 Posted on: March 02, 2014, 08:11:22 PM

Contributor
Location: Virginia Beach
Joined: Jan 2013
Posts: 1157

View Profile Email
ikr
Logged
Offline (Male) Goombert
Reply #43 Posted on: March 02, 2014, 08:36:06 PM

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

View Profile
I haven't said much, because I don't really have an opinion, and I also want people to make money off of their ENIGMA games and want us to reach the point where we are seeing games regularly published. I also am wanting us to come up with an asset store of sorts similar to Unity, where even extensions to the main system can be sold.

I just don't want a commercial derivative of ENIGMA popping up that leaves this project in the dust.

Quote from: Rez
You ask me to share how I fixed the chair, but I refuse.
Reverse engineering is legal to a certain extent, especially concerning portability.

Quote from: TKG
There's only 24 hours in a day, with eating, drinking, sleeping, and everyday life getting in the way.
Lol, I said literally the same exact thing to Josh, I think everyone has generally the same level of mental capacity it's just focused on different areas. I also argue a lot that even though I hate sports, the players aren't dumb, they have to do an immense amount of training since they are young and develop certain portions of their brain further, i.e. hand to eye coordination, than say someone who sits and reads books or does programming.
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 #44 Posted on: March 02, 2014, 11:53:44 PM

Member
Joined: Jun 2013
Posts: 53

View Profile
This is something I meant to add to my post, but I forgot. I plan to release every computer game I make on Windows, Mac and Linux. This wouldn't be a problem with ENIGMA except that binaries with GPL code can't be sold on the Mac App Store. I assume this would apply to software using a modified GPL as well. Here's a quote from Wikipedia on the subject:

Quote
The GPL License is incompatible with many application-distribution-systems, like the Mac App Store, and certain other software distribution platforms (on smartphones as well as PCs). The problem lies in the right "To make a copy for your neighbour", as this right is violated by the integrated DRM-Systems made to prevent copying of paid software. Even if the application is free-as-in-beer in the App Store in question, it might result in a violation of that app store's terms.

As the the Mac App Store is one of the best ways to sell Mac games, any version of the GPL for ENIGMA's engine code would be a deal breaker for me.

EDIT: More info: http://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement
« Last Edit: March 03, 2014, 02:19:11 AM by Rezolyze » Logged
Pages: « 1 2 3 4 »
  Print