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 35628 times)
Offline (Unknown gender) onpon
Reply #105 Posted on: April 28, 2014, 10:12:16 AM

Member
Joined: Feb 2010
Posts: 102

View Profile WWW Email
Quote
the gpl itself is copyrighted by the FSF

Correct. Also, the wxWidgets license is copyrighted by the people who wrote it.

Quote
you can modify any free/libre license that you want but you would have to change the name too; that's why the FSF developed the GPLv3 with the mechanism for you to attach exceptions to it.

Incorrect. You can't modify the GNU GPL because, as you can plainly see, the only license given to you to redistribute the GNU GPL says, "changing it is not allowed". The wxWidgets license has this exact same requirement in the only license given to redistribute it. To distribute modified versions, you have to get permission, as was done with the original Affero GPL.

Quote
As for the copyright holders, if not the developers team then who?

The people who actually wrote the license. So, the names that you erased. But this is a moot point, because you haven't obtained permission to modify the license in the first place.
Logged
Offline (Male) edsquare
Reply #106 Posted on: April 28, 2014, 12:02:17 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
Quote
the gpl itself is copyrighted by the FSF

Correct. Also, the wxWidgets license is copyrighted by the people who wrote it.

Yes you are correct in both accounts.

Quote
you can modify any free/libre license that you want but you would have to change the name too; that's why the FSF developed the GPLv3 with the mechanism for you to attach exceptions to it.

Quote
Incorrect. You can't modify the GNU GPL because, as you can plainly see, the only license given to you to redistribute the GNU GPL says, "changing it is not allowed". The wxWidgets license has this exact same requirement in the only license given to redistribute it. To distribute modified versions, you have to get permission, as was done with the original Affero GPL.

Read in the GPL site they say that you can modify and release a license based on the GPL or LGPL but advise you not to, instead you should use an exception clause, which is what I propose, an exception attached to the GPL or LGPL deppending on which one the developers choose.

Also since the exception clause hasn't been adopted yet as official by the developers team we should be discussing the terminology, and contents of the exception. Does it need clarification in someplace? Does it need another point and which one? Should all the points propossed by me be on it?

Then I will gladly rewrite it to preserve the spirit of what has been agreed upon, so please propose modifications, points to add or to remove and then, when the final draft is complete I will rewrite it in such way that preserves that and at the same time is unique. (I hope you know that unless someone takes the time to read each and everyone of the exceptions is extremelly difficult to garantie it will not resemble something already out there)

Quote
As for the copyright holders, if not the developers team then who?

Quote
The people who actually wrote the license. So, the names that you erased. But this is a moot point, because you haven't obtained permission to modify the license in the first place.

The copyright holders are the people developing it, you are correct, the people developing the license and the people developing the software, I can easily write from scratch an exception clause, but the developers need to agree in the general terms, also I have no need or wish to see my name as copyright holder, as I said: is the only thing I can contribute to the project at this moment.

Finally, and please don't take this wrong, why don't you write an exception from scratch, without taking inspiration from anywhere else and propose that?

I am willing to analize any such proposal and to help in the wording, writing, investigation, etcetera.
« Last Edit: April 28, 2014, 12:08:27 PM by edsquare » Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Male) Rusky
Reply #107 Posted on: April 28, 2014, 01:49:44 PM

Resident Troll
Joined: Feb 2008
Posts: 955
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
Quote
Finally, and please don't take this wrong, why don't you write an exception from scratch, without taking inspiration from anywhere else and propose that?
It's been attempted and nobody could agree on it any more than now.
Logged
Offline (Male) edsquare
Reply #108 Posted on: April 28, 2014, 02:11:01 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
Quote
Finally, and please don't take this wrong, why don't you write an exception from scratch, without taking inspiration from anywhere else and propose that?
It's been attempted and nobody could agree on it any more than now.

Nobody? I would have thought the developers had the final say in this, after all is their work, kindly donated, that's in risk of being made closed source, and the comunity would most certainly lose a great piece of game making software!

Adopting the GPL with an exception is an urgent matter to prevent this, precisely this understanding was what motivated me to propose the general points of the exception.

Well, I have the source in my PC, and have begun to port the ide to FPC+LCL (Lazarus) this way it's multi-platform without deppending of the Huge Qt libraries.   :) Only wish I knew enough programming to port everything else! I would even rewrite the parser to parse to FPC and then you have a compiler for ios and android.  :) Of course that leaves the other libraries to investigate if they have pascal bindings (Not likely).  :(
Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Unknown gender) FroggestSpirit
Reply #109 Posted on: April 29, 2014, 01:58:43 PM

Member
Joined: Mar 2013
Posts: 79

View Profile
I just want to note this, I talked to some of the people on #opengl, and this is a summary

[14:53] <Frogg> would anyone be willing to help fix the OGL3 system?
[14:53] <Amadiro> Frogg, as I said, fix your license before accepting contributions
[14:53] <Amadiro> fix in the sense of "settling on one", whichever you decide that to be
[14:54] <Frogg> alright, i'll run that by them
[14:54] <Amadiro> nobody's gonna want to contribute if their code is going to get thrown out afterwards anyway because of a licensing change

I think we should get the licensing figured out for sure sooner than later. This will probably help attract more developers, and more work can be done if we all feel the code and project is secure.

JoshDreamland, I still feel like an exception, or a license that is separate for software compiled under ENIGMA would be a good choice, but it was also said, that everyone that contributed code, will have to agree on the final decision.
Logged
This isn't easy to say, but…
Offline (Male) edsquare
Reply #110 Posted on: May 03, 2014, 04:44:48 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
This is my final post in this thread, you may take the text as a proposal or not, you may want to modify it or not, you may want to use the spirit of it or not; I won't do another thing unless the developers team asks me to.

That said here's a last draft for the exception notice:

Code: [Select]
Enigma Engine License, Version 1.4
======================================

Copyright (c) 2014 Josh Ventura, Robert B. Colton et al

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

ENIGMA ENGINE LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

This software is free software; you can redistribute it and/or modify it under the terms of the GNU General
Public License as published by the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this software.  If not, write
to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

EXCEPTION NOTICE

1. Linking the Enigma Engine statically or dynamically with other programs, modules and/or libraries is
making a combined work based on the Enigma Engine. Thus, the terms and conditions of the GNU General
Public License cover the whole combination.

2. As a special exception, the copyright holders of this software give permission for additional uses of the
source contained in this release of the software as licensed under the Enigma Engine License (From now on
referred as the Engine), applying either version 1.4 of the License, or (at your option) any later version of
the License as published by the copyright holders of version 1.1 of the License document.

3. The exception is that you may use, copy, link, modify and distribute under your own terms, binary object
code versions of works based on the Engine, even with proprietary software. As long as said works are not a
game development software, in that case refer to clause 6 (Six) of this license.

4. If you copy code from files distributed under the terms of the  GNU General Public License  into a copy of this
software, as this license permits, the exception does not apply to the code that you add in this way.  To avoid
misleading anyone as to the status of such modified files, you must delete this exception notice from such code
and/or adjust the licensing conditions notice accordingly.

5. If you write modifications of your own to this software, it is your choice whether to permit this exception to
apply to your modifications. If you do not wish that, you must delete the exception notice from such code and/or
adjust the licensing conditions notice accordingly.

6. You may use this software to develop a game development software without written permission of the
developers or their legal representatives. Provided that:
a) Said software and any and all modifications included in it are made public and are covered by this same license
without any modification except adding your name to the developers list.
b) Said software may not be linked to proprietary software.

7. It's your responsibility to check that any other software your application links to is compatible with the Enigma
and GPL licenses.

8. You must relay a verbatim copy of this license to any recipient of your modifications to the enigma engine.

Cheers: :)

Postdata:

I don't care much for the clause 5 (Five) as it is, here's a proposed modification to it:

Code: [Select]
5. If you write modifications of your own to this software, you must publish them under dual license: GPL and
the Enigma Engine License. Unless said modifications are for your personal use only (will never leave your computer),
in which case you don't have the obligation to make them public.
« Last Edit: May 03, 2014, 05:13:21 PM by edsquare » Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Unknown gender) Aegar
Reply #111 Posted on: September 24, 2014, 10:57:44 AM

Member
Joined: Sep 2014
Posts: 9

View Profile WWW Email
I was excited to use ENIGMA but GPL is a deal-breaker. Seems like this thread has been dead since May, which is a shame... Guess I'll be back in a year to see if there's any progress on a license change.
Logged
Offline (Male) DaSpirit
Reply #112 Posted on: September 24, 2014, 11:31:30 AM

Member
Location: New York City
Joined: Mar 2013
Posts: 124

View Profile
First, this thread is old, but Josh has been actively trying to contact lawyers for the last year. None of them have responded accurately yet. This could just be because not all lawyers are familiar with software licenses, and so it is difficult to find a good answer for the issue at hand.

ENIGMA will come with a clause, of some sort, allowing commercial/propietary games, if it does keep GPL. But, ...

We should just use LGPL. Qt and Gtk both are licensed under the LGPL, and I think it's the best of both worlds (where one world allows ENIGMA to keep ownership and the other allows companies to keep the ownership of whatever they created).

LGPL does allow propietary, but you must redistribute source if you have modified the actual library (so if you modify ENIGMA). The catch is that you must include a .dll for that library (static linking is not allowed), and it must be guaranteed that another person can replace that .dll with an official .dll (if you do not break the license, then this is no problem) and have it still work the same. When I say .dll here, I mean dynamic libraries (not just Windows).

There is probably a good reason why we aren't using LGPL though, and I can think of two. 1. People coming from GameMaker love the idea of standalone executables. It's easy to redistribute. 2. Software license compatibility might also be an issue. ENIGMA uses a few third-party libraries which have different licenses. You would have to check the compatibility between each and every library, and if one of them is not compatible with another, then we cannot reditribute it.
« Last Edit: September 24, 2014, 11:43:08 AM by DaSpirit » Logged
Offline (Unknown gender) Darkstar2
Reply #113 Posted on: September 24, 2014, 12:34:55 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
First, this thread is old, but Josh has been actively trying to contact lawyers for the last year. None of them have responded accurately yet. This could just be because not all lawyers are familiar with software licenses, and so it is difficult to find a good answer for the issue at hand.

Well difficult maybe in the method used to look for them.  But it is possible, you have to find the right lawyers for the right field, offline, it's possible, if you can afford 3 figures hourly rates :D

But I am confused reading these topics, on ENIGMA's site it does say you are allowed to sell your games.... Which is which ? Most people have no damn clue about licensing and how it works. It should be explained in more simpler terms.

Let's say I distribute my game in EXE form, along with any assets / resource files / other files that go with my game.
Do I have to include the portable ZIP of enigma too ???  In my documentation do I have to include "Powered by ENIGMA engine - enigma-dev.org" ? etc.

Let's say I use ENIGMA unmodified, however, I use external resource handling, encryption and features that are NON enigma in my game, meaning in parallel I write my own C++ code, call it from within my game, am I forced to include my proprietary C++ code? what if I compile the code and "call" it from my game (exe)....... There are lots of unanswered questions.

If there is one thing turning people away more than the community, it's the license, in my opinion.

YoYoGames does not allow GMS to be used to make applications, only "games".  Is this the case with ENIGMA too? Are there restrictions to the type of games / applications you can make?  I'm sure most people using the product are not familiar with all the jargon / legalise used in these licenses...which is why most people probably don't read licenses.......:D



Logged
Offline (Male) DaSpirit
Reply #114 Posted on: September 24, 2014, 01:40:52 PM

Member
Location: New York City
Joined: Mar 2013
Posts: 124

View Profile
But I am confused reading these topics, on ENIGMA's site it does say you are allowed to sell your games.... Which is which ? Most people have no damn clue about licensing and how it works. It should be explained in more simpler terms.
The idea is that if you use GPL code (which ENIGMA is using), then you must redistribute whatever you make using that code. GCC is also GPL, but it allows you to create propiatary executables because it has a written exception, which is what Josh has tried to do with ENIGMA (but since he is not a lawyer, it may have flaws and that is why he was trying to consult an actual lawyer).
Logged
Offline (Unknown gender) Darkstar2
Reply #115 Posted on: September 24, 2014, 01:55:32 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email

The idea is that if you use GPL code (which ENIGMA is using), then you must redistribute whatever you make using that code. GCC is also GPL, but it allows you to create propiatary executables because it has a written exception, which is what

Don't you mean redistribute whatever I used to build my game ? So this means I have to redistribute ENIGMA with my games? Do I include the portable zip or do I have to distribute the entire enigma-dev folders (in its installed form).  ?

I have future plans of using my own built C++ libraries for my projects, which I will use in conjunction with ENIGMA. Do I also have to distribute my own proprietary C++ source with ENIGMA and with my games too????  Example if I build a C++ library to handle encryption and big file resource handling....decide to call it from my game (NOT include it in ENIGMA's source), in other words mixing my proprietary code/engine along with ENIGMA, can I do that ? or does my proprietary stuff have to be revealed too.....? 
Logged
Offline (Unknown gender) Aegar
Reply #116 Posted on: September 24, 2014, 01:58:24 PM

Member
Joined: Sep 2014
Posts: 9

View Profile WWW Email
Using an established open-source license seems best. LGPL is good for stuff like this (modifying the engine requires sharing the code but anything made with the engine can be closed-sourced and/or sold). In practice, fully open sourcing the engine with a license like BSD or MIT would bring in the most amount of users since many gamedevs of this caliber will probably want to do some private extending of their own.

Plus, for the most part, those who prefer to use BSD/MIT products usually subscribe to the open source philosophy anyway so they will probably give back to the community (either with engine commits, tutorials, free plugins/systems for others to use, etc).
« Last Edit: September 24, 2014, 02:00:13 PM by Aegar » Logged
Offline (Male) DaSpirit
Reply #117 Posted on: September 24, 2014, 02:01:49 PM

Member
Location: New York City
Joined: Mar 2013
Posts: 124

View Profile
Don't you mean redistribute whatever I used to build my game ? So this means I have to redistribute ENIGMA with my games? Do I include the portable zip or do I have to distribute the entire enigma-dev folders (in its installed form).  ?
Sorry, I worded that improperly. GPL requires whatever you made using that GPL code to be GPL as well. So, you would have the post the source code to your game whenever somebody would request it.
Logged
Offline (Male) edsquare
Reply #118 Posted on: September 24, 2014, 02:14:36 PM

Member
Location: The throne of ringworld
Joined: Apr 2014
Posts: 402

View Profile
But I am confused reading these topics, on ENIGMA's site it does say you are allowed to sell your games.... Which is which ? Most people have no damn clue about licensing and how it works. It should be explained in more simpler terms.
The idea is that if you use GPL code (which ENIGMA is using), then you must redistribute whatever you make using that code. GCC is also GPL, but it allows you to create propiatary executables because it has a written exception, which is what Josh has tried to do with ENIGMA (but since he is not a lawyer, it may have flaws and that is why he was trying to consult an actual lawyer).

Not exactly true, you may use any GPLed product to develop your product (CodeBlocks + GCC + wxWidgets  for instance), and then release it under whatever license you deem apropiate, and it would be legal to do so, yet if you include some libraire that is not permisive then you must use GPL or link dynamically, I don't know what third party libraries ENIGMA uses that would force you to go GPL and if those libraries end up on your game, this would be nice to know, although I doubt very much Harry, Josh, Robert, Ism et all would say you can sell your games if they had any doubts on this issue. As far as I know the libraries used to develop games do allow static linking in commercial development, but then again I could be wrong.

If the issue is the IDE LGM then there's no problem, you can use it to develop under any license you want.

So the only problematic aspect would be that of the engine ENIGMA, since it's under GPL and you need to link statically to it, but the developers have said time and again you can, the need for a license is only to give certainty on the future.

In my humble opinion LGPL with a static linking exception clause is more than enough, but it seems I am the only one to believe so.

« Last Edit: September 24, 2014, 03:14:01 PM by edsquare » Logged
A child of five would understand this. Send someone to fetch a child of five.
Groucho Marx
Offline (Unknown gender) Darkstar2
Reply #119 Posted on: September 24, 2014, 02:22:05 PM
Member
Joined: Jan 2014
Posts: 1244

View Profile Email
Don't you mean redistribute whatever I used to build my game ? So this means I have to redistribute ENIGMA with my games? Do I include the portable zip or do I have to distribute the entire enigma-dev folders (in its installed form).  ?
Sorry, I worded that improperly. GPL requires whatever you made using that GPL code to be GPL as well. So, you would have the post the source code to your game whenever somebody would request it.

Ok fair enough. Now let's say I use ENIGMA to make a game, but decide NOT to load everything in the IDE and consequently have it compiled in my EXE, but all resources of my game stored in resource files, encrypted, and the handling of that be done by my own C++ engine.
In other words using my proprietary engine/code combined with ENIGMA......In that case the only source code I would need to make available upon request is that of the ENIGMA portion right ? meaning the EGM file for example, and NOT my resource files or the compiled C++ or C++ code of my proprietary engine ? Right?
Logged
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 »
  Print