Pages: 1
  Print  
Author Topic: What exactly does the 'source code' of your product include?  (Read 1238 times)
Offline (Unknown gender) MrPotatoFacez97
Posted on: April 14, 2015, 10:10:15 AM
Member
Joined: Apr 2015
Posts: 1

View Profile
Any assets generated elsewhere are my own property correct? I mean, I KNOW they are. Legally speaking. This is how RimWorld currently does it:

http://rimworldgame.com/


"5. Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
    b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
    c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
    d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate."


I've got a few more questions:
(Realize I just read the entire GPL license http://www.gnu.org/licenses/gpl.html so don't judge me too harshly for perhaps misinterpreting some information or overlooking something important. I'm not an attorney.)



1. The games I make and create from scratch, or a blank canvas state within this game maker type program are property of who exactly? As in, who owns the original rights to any source code created? If I am to understand it, the license makes no owner possible, is that correct? So if I sell this game, what kind of laws for credit are even available so if I did make something and sold it can I somehow force others to state I am the original record creator of the very first versions?

Or, can I append some form of dialogue that is mandatory to all the versions ever made? If I'm reading this right, anyone can take your games source code make their own revisions and never give any form of chronological order or log along side of it? Or is the idea that they no one can take credit for anything since its free and all personal rights to control are thrown out of the window. However I don't see anything about ownership. As in, you can own something and simply release your source with your own stipulations. A lot of other software does this, a company owns the source and all changes you make become their property to the software itself which is owned by that company.


2. My assets are not the same as source code, correct? I read the GPL, I know this is the case as other games do this. I just want to make sure this is considered the case and not get any "official" stance on this as "must include assets in original source code". That isn't true. Assets are not source code. Especially if you direct the program to use them from a directory, that is something you can tie to your product you license out under a separate license. Or even as your business entities' property.

In fact, if I am to understand this, the only way to make money would not be to sell your game but your ASSETS PACK with your game. Which is what the developers here should consider, the assets you use, music, audio, pictures, that is yours. No one can claim otherwise. If your code creates those then that is a different subject altogether.


Well, I for one am very appreciative of this software. Although I am confused as to why you didn't make your own license with total ownership for changes but users can own their own software as long as it does not emulate or steal source code from your own program. That would have been more reasonable and less strange. But having this much freedom might be OK I'm just letting you know with most game devs they'd prefer something where they retain more rights and control of their Stand alone applications. No offense, you could have declared ownership to all deviations and versions of your GAME/APP DEVELOPMENT SOFTWARE where users retain rights and control of their own "STAND ALONE APPLICATIONS".

Really anything better than Yoyogames' garbage would have really made this a better buy (yes, I'd even pay!). Oh well!
Logged
Offline (Unknown gender) TheExDeus
Reply #1 Posted on: April 14, 2015, 01:07:43 PM

Developer
Joined: Apr 2008
Posts: 1872

View Profile
There has been some massive (14 pages massive) discussion on this issue. It can be found here: http://enigma-dev.org/forums/index.php?topic=1832.0 and some here: http://enigma-dev.org/forums/index.php?topic=2270.0 . There have been more. We almost went with MIT, BSD or MPLv2. Cannot remember. The problem is that Josh (one of the main guys here) didn't want ENIGMA itself to be sellable, but content created with it to be sellable. This is hard to define with current licenses, because your code gets parsed and added to ours. That means before compilation it's essentially one whole. And your assets are also appended to .exe. Josh contacted some lawyer type people as well GPL, but nothing really came of it. There was an idea to make a custom license, but that is very risky if done cheap and fast, but to make one solid and loophole free it requires a lot of time and money (lawyer people).

1) It's yours. For now it's "not official yet", as in we don't have that written in a license. But we as developers assure that it is.

2) Not sure about that. If your assets are included in the executable during runtime, then it might get complicated from legal standpoint, but we don't try to hold any rights on your work.

I hope we can settle this finally at some point, but until then we try to assure that this is not a problem. I'm not sure who has to enforce the license though. Technically it should be the developers (which is us), but "who" exactly? Because the main developers who have been working on ENIGMA the longest don't have problems with this, but there have been a lot of developers contributing bits here and there over the years. I don't know if they have any say in the enforcement part.

I hope Josh weighs in on this.
« Last Edit: April 20, 2015, 07:28:45 AM by TheExDeus » Logged
Offline (Male) Josh @ Dreamland
Reply #2 Posted on: April 17, 2015, 10:12:51 PM

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

View Profile Email
All your assets are yours, yes, and the pre-ENIGMA source code is completely your property. This is for the same reason that works created in GIMP or InkScape or even MS Paint are yours. Your game is a work you have created in ENIGMA, and probably various other tools. You may license it how you wish.

But that's not the whole story.

When you compile your game in ENIGMA, it is transpiled (a specific synonym for "compiled") to C++. The code it generates still belongs to you (just as the code InkScape or Flash generates still belongs to you). But then ENIGMA links your game's source against its engine. This is where things get hairy.

Because our engine is GPL, your use of it in combination with your source code (ENIGMA-generated or otherwise) subjects you to the terms of the GPL. Thus, you are free to use and modify it locally however you want, but as soon as you release it to the public, you must provide source code. And because the GPL is a viral license, you must also provide all source code that links against it. This means you must provide the source to your game.

It gets worse. The GPL is crafted in such a way as to prevent companies or groups or individuals from providing only obfuscated versions of the source code, which by some definitions, ENIGMA-generated source code qualifies. Specifically, the GPL defines source code to be "the preferred form of the work for making modifications to it." So that means the plain GML/EDL, like the kind you see in your GMK/GMX/EGM.

Other (non-code) assets are easier to license in GPL-compatible ways, and it's easier to work around that.

As Harri pointed out, members of this team have no intention of enforcing the GPL on users who are legitimately distributing games. If one of our contributors is nagging you, you should report that to one of us. Only copyright holders can enforce the terms of the GPL, so if anyone else is nagging you, you may explain or ignore them. That said, it should be sufficient to take us at our word that we will not force you to release your game as a GPL work. However, we are not legally bound by that word unless you get it from each of us in writing for your specific product, which creates potential trust issues. So if you want to play completely safe, the only sure-fire way is to go for the signatures or adhere to the terms of the GPL.

So let's talk about circumventing the GPL, or leveraging it to suit you. Specifically, you mentioned non-code assets.

Since your game as a combined work is covered by GPL, your users are theoretically free to use, modify, and distribute it as they choose. This may sound problematic at first, but it also means that they are free to use proprietary resources with it locally. Theoretically, you can include placeholder art with your game, or include no art at all. You could then distribute those assets separately, under whatever license you please—such as a basic license to use the art with games locally, but not to modify or redistribute it. Thus, while users are allowed to use the art with your game on their machines, they are not allowed to distribute the two as a combined work (they are forbidden from redistributing your assets).

This is one way of preventing legal redistribution of your complete game. However, since there are other copyright holders of the GPL code, those copyright holders are able to demand that you cease to release packages bundled in such a way. This would be exceptionally petty dickery, which you should once again report to the rest of us. This cannot lead to you being forced to GPL-license your art assets, however.


At the end of the day, though, I'd just like to point out that if people don't want to pay for your game, they aren't going to do it. And if they want to reverse-engineer your game, they're going to do it. Yes, source code makes it easier, but it also makes it less of a specialization, which serves to remove the black market from around it as well as the demand for doing so. In my opinion, you'd do just as well to point out that you expect to make $x/copy and that buying a copy is the right thing for users to do. Nothing in the GPL stops you from putting a gentle nag in your game to remind users to support you by purchasing a copy. Honest users will do so, and dishonest users won't, either way. Only a dick would redistribute copies of your game without that nag in them. Just don't overdo it, or it'll become much more reasonable for people to want to do that. ;)

As for other people publishing modifications, it can happen, and as your game grows in popularity, it will happen. If you cease to maintain your game, someone else might make a spinoff that could catch on. The good news is, you can always cherry-pick things they have added to your game—their changes must be GPL as well. The bad news is, if you don't actively do this, or otherwise maintain your code to make it appealing, or do something to maintain presence as the real originator of this game in the eye of the public, then the world will forget about you and move on to other versions. But then, at the point where your game is really that popular, you'll probably have the resources to take your project in all kinds of creative directions, and regardless of your license, ceasing to maintain your game wouldn't allow you to thrive in the current gaming market for very long.


So yeah, you have a lot of options relating to how to distribute and "control" the distribution of your game. But I wouldn't worry about it too much, especially before any serious development or planning begins.

And regarding the bit on modified code, don't worry about that—you're linking against an unmodified ENIGMA. A link to our repository would be more than sufficient.
« Last Edit: April 17, 2015, 10:34:57 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
Pages: 1
  Print