This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Pages: 1
1
General ENIGMA / How to use your license choice as a threat
« on: October 10, 2014, 12:07:19 pm »
This community is discussing a license change for ENIGMA's engine code. All of the most popular license choices are listed and compared here. Something that all of those licenses (excluding the GPL) have in common is: you could submit changes to the engine code under a different license than the chosen license. For example, if the engine code were licensed under the MPLv2.0, I could make changes to the code and submit my changes under the GPLv3. If my changes were merged with the ENIGMA project, the latest version of the engine code would fall under the terms of the GPLv3. Normally this would be undesirable, but in the following hypothetical situation, it could prove useful.
A worry among some ENIGMA developers is: a commercial version of ENIGMA that fails to contribute code back to the project. Let's explore this possibility for a moment under the worst possible conditions I can imagine.
ENGIMA's engine code has been relicensed under the MPLv2.0. Game developers can now distribute their games made with ENIGMA without sharing their game code. ENIGMA's engine is stable, relatively bug free and has almost complete feature parity with GameMaker. ENIGMA's popularity is at an all-time high and everything is going well.
This project and its success catches the attention of Some Corp, Inc. Eventually, they release a version of ENIGMA called ENIGMaker. ENIGMaker uses the compiler/parser (GPLv3) and the engine (MPLv2.0) from ENIGMA, but the IDE is proprietary. ENIGMaker includes proprietary features like: Android and IOS compilation, DirectX 12 support and Windows 10 touch input. Also included is a graphical fix for screen tearing that occurs in Linux and a fix for an intermittent popping sound during audio playback in Windows. Some Corp's fixes and features are implemented through proprietary code linked to the engine code. All the changes they've made to ENIGMA's compiler/parser and engine are shared with ENIGMA under the terms of the code's respective licenses. They are not sharing their proprietary fixes and features. What they've done with ENIGMA and it's code is all perfectly legal.
(Here's where your license choice can be used as a threat.)
As one of ENIGMA's developers, you're not happy with Some Corp's unwillingness to share their fixes. You and a few other developers decide to submit all of your future changes to ENGIMA's engine code under the GPLv3 instead of the MPLv2.0. Such a practice is allowed under the MPLv2.0 and all of the other proposed licenses. Anyone using the latest version of ENIGMA's engine will be required to submit to the terms of the GPLv3 or remove/rewrite your submitted GPL code. The more GPL code submitted by developers and the longer this continues, the more effective this tactic will be.
You send an email to Some Corp and post a topic on the ENIGMA forums stating your intentions:
At this point, Some Corp will be in an awkward situation with limited options:
The fourth option seems most likely to me because it's beneficial for everyone involved. A corporation's goal is to make money in the easiest and cheapest way possible. Options one through three would cost Some Corp both time and money. Option four is the only option that saves them time and money. Some Corp continues to get its updated engine code from the ENIGMA project. The ENIGMA project gets bug fixes for the engine from Some Corp. Game developers get the choice of a free open source project or a commercial product with support and extra features. Everybody wins with option four.
I consider this entire scenario to be highly unlikely. If some person or corporation were to begin selling an enhanced version of ENIGMA, they would likely realize that cooperation with ENIGMA's developers is in their best interest. Such license change tactics by ENIGMA's developers would be unnecessary, but the option would be there if needed. Under the MPLv2.0 and other similar licenses, sharing code isn't mandatory due to the linking exception, but that doesn't matter. Sharing bug fixes makes the most sense from an ethical and financial perspective.
A worry among some ENIGMA developers is: a commercial version of ENIGMA that fails to contribute code back to the project. Let's explore this possibility for a moment under the worst possible conditions I can imagine.
HYPOTHETICAL SCENARIO
vvvvvvvvvvvvvvvvvvvvvv
ENGIMA's engine code has been relicensed under the MPLv2.0. Game developers can now distribute their games made with ENIGMA without sharing their game code. ENIGMA's engine is stable, relatively bug free and has almost complete feature parity with GameMaker. ENIGMA's popularity is at an all-time high and everything is going well.
This project and its success catches the attention of Some Corp, Inc. Eventually, they release a version of ENIGMA called ENIGMaker. ENIGMaker uses the compiler/parser (GPLv3) and the engine (MPLv2.0) from ENIGMA, but the IDE is proprietary. ENIGMaker includes proprietary features like: Android and IOS compilation, DirectX 12 support and Windows 10 touch input. Also included is a graphical fix for screen tearing that occurs in Linux and a fix for an intermittent popping sound during audio playback in Windows. Some Corp's fixes and features are implemented through proprietary code linked to the engine code. All the changes they've made to ENIGMA's compiler/parser and engine are shared with ENIGMA under the terms of the code's respective licenses. They are not sharing their proprietary fixes and features. What they've done with ENIGMA and it's code is all perfectly legal.
(Here's where your license choice can be used as a threat.)
As one of ENIGMA's developers, you're not happy with Some Corp's unwillingness to share their fixes. You and a few other developers decide to submit all of your future changes to ENGIMA's engine code under the GPLv3 instead of the MPLv2.0. Such a practice is allowed under the MPLv2.0 and all of the other proposed licenses. Anyone using the latest version of ENIGMA's engine will be required to submit to the terms of the GPLv3 or remove/rewrite your submitted GPL code. The more GPL code submitted by developers and the longer this continues, the more effective this tactic will be.
You send an email to Some Corp and post a topic on the ENIGMA forums stating your intentions:
Quote
Until Some Corp contributes to the ENIGMA project by sharing any and all present and future bug fixes under the appropriate copyleft license, I and other like-minded developers will continue submitting our changes to ENIGMA's engine code under the GPLv3. We realize that this will prevent game developers from using the latest version of ENIGMA with their proprietary projects, but it is necessary to stop and further prevent the uncooperative practices of Some Corp. We are sorry for the inconvenience and we hope that Some Corp will resolve this issue quickly by doing the right thing. Some Corp must stop profiting from the hard work of others without giving back!
Sincerely,
The ENIGMA Developers for Software Freedom
At this point, Some Corp will be in an awkward situation with limited options:
- Some Corp could ignore the ENIGMA developers' demands. They could stay with the latest version of ENIGMA's engine code that was exclusively MPLv2.0. It would fall on Some Corp to update ENIGMaker's engine code on their own. In order to keep their updates proprietary, they could continue linking the engine code to their proprietary code. In the background, they could begin the slow and expensive process of rewriting ENIGMaker's engine from scratch.
- Some Corp could ignore the ENIGMA developers' demands. They could stop working on ENIGMaker, continue selling their latest version of ENIGMaker and try to wait out the situation. In the mean time, Some Corp's ENIGMaker programmers would be reassigned to another product or laid off. As ENIGMaker becomes older without an update it will be less useful as a game development tool and a less profitable product.
- Some Corp could ignore the ENIGMA developers' demands. They could continue using the latest version of ENIGMA's engine code with its changes under the GPLv3. It would be somewhat difficult for ENIGMA's developers to prove that they are violating the GPLv3, but Some Corp could decide that it's worth the potential legal battle in the long run. However, copyright law would be on the ENIGMA developers' side.
- Some Corp could give in to the ENIGMA developers' demands. They could agree to share any and all future bug fixes to ENIGMA's engine under the MPLv2.0. In exchange, all ENIGMA developers that submitted their changes to the engine under the GPLv3, would relicense those changes under the MPLv2.0.
^^^^^^^^^^^^^^^^^
HYPOTHETICAL SCENARIO
The fourth option seems most likely to me because it's beneficial for everyone involved. A corporation's goal is to make money in the easiest and cheapest way possible. Options one through three would cost Some Corp both time and money. Option four is the only option that saves them time and money. Some Corp continues to get its updated engine code from the ENIGMA project. The ENIGMA project gets bug fixes for the engine from Some Corp. Game developers get the choice of a free open source project or a commercial product with support and extra features. Everybody wins with option four.
I consider this entire scenario to be highly unlikely. If some person or corporation were to begin selling an enhanced version of ENIGMA, they would likely realize that cooperation with ENIGMA's developers is in their best interest. Such license change tactics by ENIGMA's developers would be unnecessary, but the option would be there if needed. Under the MPLv2.0 and other similar licenses, sharing code isn't mandatory due to the linking exception, but that doesn't matter. Sharing bug fixes makes the most sense from an ethical and financial perspective.
2
General ENIGMA / What if someone started legally selling an enhanced version of ENIGMA?
« on: October 05, 2014, 04:47:22 am »
edsquare and I had a short discussion about licensing and proprietary extensions to ENIGMA's engine code. I'd like to keep this going with more people weighing in. The relevant parts of our discussion are below.
So, my question is: What do you, the reader, think about someone selling proprietary features or fixes for ENIGMA's engine? If ENIGMA's engine code license were changed and someone started legally selling an enhanced version of ENIGMA, would you be upset about that? What if that someone shared their bug fixes with ENIGMA, but kept the enhanced features proprietary; would that make a difference? Please discuss.
Many times throughout the licensing discussion on the forums, someone has suggested a license like the the MPLv2 and been told that such a license would not prevent proprietary fixes or features being implemented through linking. These types of licenses (LGPLv3, MPLv2, etc) are meant to allow linking with code that has a different license. Of course, we want people to be able to legally link their proprietary game code to ENIGMA's engine code.
However, the MPLv2, and other licenses like it, would also allow someone to link proprietary fixes or features to ENIGMA's engine as well. They would probably need to modify some of ENIGMA'S engine code to do it, but the fixes and features would remain proprietary and unshared within their own separate but linked code. To be in compliance with ENIGMA's engine license, they would need to release their changes to the engine code, but their changes would not contain any of their fixes or features. So, in this way, the MPLv2 would not prevent proprietary fixes or features.
Depending on your point of view, this is not necessarily a bad thing. Someone could create an extension that ENIGMA lacked and sell it. It wouldn't directly benefit the ENIGMA project, but it could benefit the game developers that buy the extension and the programmer selling it. Although, I think the major fear is someone creating software like CrossOver which harnesses the power of Wine while adding it's own proprietary features. That's not a fear I share, but some people do.
Now if I understood correctly you say the MPLv2 would also allow someone to create a closed source extension to enigma and sell it, I tend to agree with you in that it allows such a thing but I fail to see why that is bad. As long as the engine's code is safe why should the developers worry about that?
In some cases it would be enough to add an #include and in others the modifications to the engine will help other people to develop a similar extension, hell even by knowing what it does a capable developer (And all the developers involved in this project strike me as very capable) could deduce how it works internally and with time develop an opensource extension to the same efect.
Although I would not mind seing closed source extensions, it would mean the project is mature enough and with a big enough user base to merit so.
So, my question is: What do you, the reader, think about someone selling proprietary features or fixes for ENIGMA's engine? If ENIGMA's engine code license were changed and someone started legally selling an enhanced version of ENIGMA, would you be upset about that? What if that someone shared their bug fixes with ENIGMA, but kept the enhanced features proprietary; would that make a difference? Please discuss.
3
General ENIGMA / ENIGMA's Engine Code - License Comparison Table
« on: October 03, 2014, 06:12:56 am »
The discussion over changing ENIGMA's engine code license has spanned multiple years and multiple threads. In an ongoing effort to simplify this discussion, I'm posting this table for each of the possible license choices. ENIGMA's engine is currently licensed under the GPLv3 which is included in the table as a starting point for comparison. The licenses are in descending order from least permissive to most permissive. Each answer in the table is followed by a reference number or letter leading to more information. The goal of this table is to be a public collaboration of facts about each possible license choice for ENIGMA's engine code.
* The superscript letters refer to the list below. The superscript numbers are external links and are listed further down.
a. The Classpath exception states: "If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version." Thus, you are able to release your changes under the original GPLv3 which makes this license, with the Classpath exception, GPLv3 compatible.
b. To change the license of GPLv3 code requires the permission of all the copyright holders of said code. For any copyright holders that don't agree to the change, their code would need to be removed or rewritten.
c. Both The MIT License and The BSD 3-Clause License are permissive. Your rights to modify and link to code licensed this way are unobstructed, as long as you meet all the license requirements for each piece of code within the combined work.
d. The Classpath exception states: "As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module." Thus, linking to proprietary code or code under a different license is permissible with this exception.
e. Section 10 of the GPLv3 states: "You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License." Apple's terms and conditions for the "Mac App Store" and the "App Store" state: "You agree that the iTunes Service and certain iTunes Products include security technology that limits your use of iTunes Products and that, whether or not iTunes Products are limited by security technology, you shall use iTunes Products in compliance with the applicable usage rules established by Apple and its licensors (“Usage Rules”), and that any other use of the iTunes Products may constitute a copyright infringement." Thus, Apple's usage rules conflict with section 10 of the GPLv3. As the LGPLv3 and Classpath exception also fall under the section 10 terms of the GPLv3, Apple's terms and conditions conflict with these exceptions as well. Apple would be in violation of the GPLv3 by distributing software under this license or the stated license exceptions.
f. There is nothing within the terms of the MPLv2, MIT or BSD licenses that would conflict with the terms and conditions of Apple's App Stores.
1. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - What does it mean to say that two licenses are “compatible”?
2. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - What does it mean to say a license is “compatible with the GPL?”
3. Free Software Foundation. GPL-Compatible Free Software Licenses - GNU General Public License (GPL) version 3
4. Free Software Foundation. GPL-Compatible Free Software Licenses - GNU Lesser General Public License (LGPL) version 3
5. Free Software Foundation. GPL-Compatible Free Software Licenses - Mozilla Public License (MPL) version 2.0
6. Free Software Foundation. GPL-Compatible Free Software Licenses - X11 License
7. Free Software Foundation. GPL-Compatible Free Software Licenses - Modified BSD license
8. Wikipedia. Multi-licensing
9. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - Compatibility matrix footnote 8
10. Wikipedia. Static library
11. Wikipedia. Dynamic linker
12. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - Does the GPL have different requirements for statically vs dynamically linked modules with a covered work?
13. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - Does the LGPL have different requirements for statically vs dynamically linked modules with a covered work?
14. Mozilla Foundation. MPL 2.0 FAQ - Q11: How 'viral' is the MPL? If I use MPL-licensed code in my proprietary application, will I have to give all the source code away?
15. Wikipedia. Proprietary software
16. Wikipedia. CrossOver (software)
17. Apple. iTunes Store - Terms and Conditions
18. Free Software Foundation. Blog - More about the App Store GPL Enforcement
19. Free Software Foundation. Blog - VLC developer takes a stand against DRM enforcement in Apple's App Store
20. Adium. Mailing List - GPL and the Mac App Store
This table will be updated with contributions from the forums where appropriate. If you'd like to add, change or remove something within this post, please reply with the license you are posting about, what you want added, changed or removed, any external references and your reason(s). If I've made an error of some sort, please let me know. Please keep your replies as relevant to this table as possible. Discussion or debate about "your license choice" should take place elsewhere. This thread is for posting facts about each license and updating the table as needed.
EDIT: This topic is now locked, because I have no desire to update it in the future. As far as I know, it is accurate and hopefully useful.
License Comparison Table
Licenses | Release changes under a different license8 | Compatible with Apple's App Stores17 | |||
Yes3 | Nob | No12 | No12 | ||
Yes4 | Yes under GPLv39 | Yes with conditions13 | Yes with conditions13 | ||
Yesa | Yes under GPLv3a | Yesd | Yesd | ||
Yes5 | Yes under GNU licenses5 | Yes14 | Yes14 | Yesf | |
Yesc | Yesc | Yesc | Yesf |
* The superscript letters refer to the list below. The superscript numbers are external links and are listed further down.
a. The Classpath exception states: "If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version." Thus, you are able to release your changes under the original GPLv3 which makes this license, with the Classpath exception, GPLv3 compatible.
b. To change the license of GPLv3 code requires the permission of all the copyright holders of said code. For any copyright holders that don't agree to the change, their code would need to be removed or rewritten.
c. Both The MIT License and The BSD 3-Clause License are permissive. Your rights to modify and link to code licensed this way are unobstructed, as long as you meet all the license requirements for each piece of code within the combined work.
d. The Classpath exception states: "As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module." Thus, linking to proprietary code or code under a different license is permissible with this exception.
e. Section 10 of the GPLv3 states: "You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License." Apple's terms and conditions for the "Mac App Store" and the "App Store" state: "You agree that the iTunes Service and certain iTunes Products include security technology that limits your use of iTunes Products and that, whether or not iTunes Products are limited by security technology, you shall use iTunes Products in compliance with the applicable usage rules established by Apple and its licensors (“Usage Rules”), and that any other use of the iTunes Products may constitute a copyright infringement." Thus, Apple's usage rules conflict with section 10 of the GPLv3. As the LGPLv3 and Classpath exception also fall under the section 10 terms of the GPLv3, Apple's terms and conditions conflict with these exceptions as well. Apple would be in violation of the GPLv3 by distributing software under this license or the stated license exceptions.
f. There is nothing within the terms of the MPLv2, MIT or BSD licenses that would conflict with the terms and conditions of Apple's App Stores.
1. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - What does it mean to say that two licenses are “compatible”?
2. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - What does it mean to say a license is “compatible with the GPL?”
3. Free Software Foundation. GPL-Compatible Free Software Licenses - GNU General Public License (GPL) version 3
4. Free Software Foundation. GPL-Compatible Free Software Licenses - GNU Lesser General Public License (LGPL) version 3
5. Free Software Foundation. GPL-Compatible Free Software Licenses - Mozilla Public License (MPL) version 2.0
6. Free Software Foundation. GPL-Compatible Free Software Licenses - X11 License
7. Free Software Foundation. GPL-Compatible Free Software Licenses - Modified BSD license
8. Wikipedia. Multi-licensing
9. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - Compatibility matrix footnote 8
10. Wikipedia. Static library
11. Wikipedia. Dynamic linker
12. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - Does the GPL have different requirements for statically vs dynamically linked modules with a covered work?
13. Free Software Foundation. Frequently Asked Questions about the GNU Licenses - Does the LGPL have different requirements for statically vs dynamically linked modules with a covered work?
14. Mozilla Foundation. MPL 2.0 FAQ - Q11: How 'viral' is the MPL? If I use MPL-licensed code in my proprietary application, will I have to give all the source code away?
15. Wikipedia. Proprietary software
16. Wikipedia. CrossOver (software)
17. Apple. iTunes Store - Terms and Conditions
18. Free Software Foundation. Blog - More about the App Store GPL Enforcement
19. Free Software Foundation. Blog - VLC developer takes a stand against DRM enforcement in Apple's App Store
20. Adium. Mailing List - GPL and the Mac App Store
This table will be updated with contributions from the forums where appropriate. If you'd like to add, change or remove something within this post, please reply with the license you are posting about, what you want added, changed or removed, any external references and your reason(s). If I've made an error of some sort, please let me know. Please keep your replies as relevant to this table as possible. Discussion or debate about "your license choice" should take place elsewhere. This thread is for posting facts about each license and updating the table as needed.
Thank you for your help with this endeavor!
EDIT: This topic is now locked, because I have no desire to update it in the future. As far as I know, it is accurate and hopefully useful.
4
Tips, Tutorials, Examples / GameMaker Magazines
« on: March 24, 2014, 01:30:40 pm »
I was using GameMaker for a while before I discovered ENIGMA. While surfing the web for tutorials about GameMaker, I found many digital magazines created by GameMaker users. Most of these magazines offer programming tips, tricks and tutorials related to GameMaker as well as reviews of games and articles about game development. Though most of these magazines are outdated and contain links that no longer work, much of the information is still relevant.
As ENIGMA is very similar to GameMaker, I thought these magazines might interest someone. The programming info could prove useful and the rest is good for nostalgia. The history of GameMaker is almost as interesting as the games that have been made with it. Robert B Colton mentioned in this thread that he and IsmAvatar were in issue nine of MarkUp. Why not read it for yourself?
This folder contains the complete run of each of the magazines pictured above. This isn't an exhaustive collection of all GameMaker related digital magazines, but these are the ones I found the most useful or interesting. Some of these issues were very difficult to find. Please feel free to provide backup links and spread them around.
Enjoy!
EDIT: I updated the folder link to the magazines. I added the resources that originally came with certain issues of Game Maker Technology Magazine to its archive. Although it doesn't look it, the EDC is still down. It won't let me upload these magazines. I'll try again another time.
As ENIGMA is very similar to GameMaker, I thought these magazines might interest someone. The programming info could prove useful and the rest is good for nostalgia. The history of GameMaker is almost as interesting as the games that have been made with it. Robert B Colton mentioned in this thread that he and IsmAvatar were in issue nine of MarkUp. Why not read it for yourself?
This folder contains the complete run of each of the magazines pictured above. This isn't an exhaustive collection of all GameMaker related digital magazines, but these are the ones I found the most useful or interesting. Some of these issues were very difficult to find. Please feel free to provide backup links and spread them around.
Enjoy!
EDIT: I updated the folder link to the magazines. I added the resources that originally came with certain issues of Game Maker Technology Magazine to its archive. Although it doesn't look it, the EDC is still down. It won't let me upload these magazines. I'll try again another time.
5
General ENIGMA / ENIGMA's Engine Code License - Please Vote
« on: March 18, 2014, 03:43:38 pm »
YOU MUST BE REGISTERED AND LOGGED INTO THE FORUMS TO VIEW AND VOTE IN THE POLL. THIS POLL IS MEANT TO GAUGE THE COMMUNITY'S PREFERENCE FOR EACH PROPOSED LICENSE.
ENIGMA's engine code is currently licensed under the GNU General Public License v3.0 (GPLv3). The engine code is the part of ENIGMA that is distributed with every game. As a strong copyleft license, the GPLv3 requires that any code linked to GPLv3 code also be licensed under the GPLv3. This means that anyone distributing a game made with ENIGMA is required to distribute their game's source code under the GPLv3 or violate of the terms of the license. Violation of the GPLv3's terms incurs the risk of legal action from one or more of ENIGMA's copyright holders. The proposed solution to this problem is to change the license for ENIGMA's engine code.
I've created a license comparison table as a starting point for researching each license choice in the poll. Information about a custom license is not in the table because the terms of a custom license were never agreed upon. Please take the time to read about the various licenses in the poll before voting. Please vote sincerely and with all the facts in mind. There is no end date to the poll.
EDIT: The original poll was rewritten and the votes reset, because it had a confirmation bias and wasn't up to date.
ENIGMA's engine code is currently licensed under the GNU General Public License v3.0 (GPLv3). The engine code is the part of ENIGMA that is distributed with every game. As a strong copyleft license, the GPLv3 requires that any code linked to GPLv3 code also be licensed under the GPLv3. This means that anyone distributing a game made with ENIGMA is required to distribute their game's source code under the GPLv3 or violate of the terms of the license. Violation of the GPLv3's terms incurs the risk of legal action from one or more of ENIGMA's copyright holders. The proposed solution to this problem is to change the license for ENIGMA's engine code.
I've created a license comparison table as a starting point for researching each license choice in the poll. Information about a custom license is not in the table because the terms of a custom license were never agreed upon. Please take the time to read about the various licenses in the poll before voting. Please vote sincerely and with all the facts in mind. There is no end date to the poll.
Thank you for participating!
EDIT: The original poll was rewritten and the votes reset, because it had a confirmation bias and wasn't up to date.
Pages: 1