-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a notice about data licensing to the README. #82
Conversation
README.md
Outdated
The `example` mod included in this repository provides the bare minimum structure to launch to the in-game main menu for the sole purpose of demonstrating the SDK. See [Getting Started](https://github.com/OpenRA/OpenRAModTemplate/wiki/Getting-Started) on the Wiki for instructions on how to adapt this template for your own projects. For common questions, please see the [FAQ](https://github.com/OpenRA/OpenRAModSDK/wiki/FAQ). | ||
The `example` mod included in this repository provides the bare minimum structure to launch to the in-game main menu for the sole purpose of demonstrating the SDK. See [Getting Started](https://github.com/OpenRA/OpenRAModTemplate/wiki/Getting-Started) on the Wiki for instructions on how to adapt this template for your own projects. For common questions, please see the [FAQ](https://github.com/OpenRA/OpenRAModSDK/wiki/FAQ). See [Updating to a new SDK or Engine version](https://github.com/OpenRA/OpenRAModSDK/wiki/Updating-to-a-new-SDK-or-Engine-version) for a guide on updating your mod a newer OpenRA release. | ||
|
||
The OpenRA engine is made available under the [GPL](https://github.com/OpenRA/OpenRA/blob/bleed/COPYING) license, and any executable code developed by a mod and loaded by the engine (i.e. custom mod DLLs) must be released under a compatible license. Your mod data files (artwork, sound files, etc) are not part of your mod's source code, so your are free to distribute these assets under different terms (e.g. allowing redistribution in unmodified form, but not for use in other works). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could include the OpenRAModSDK in The OpenRA engine is made available under
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also specify GPLv3 explicitly IMO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where do yaml and campaign map/scripts go though?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Map scripts are clear cut: they must be gpl (see paragraph 2).
Yaml/maps/etc are less clear: new files are not obligated by the engine to be gpl (they are input data, not linked or interpreted code), however by virtue of nobody ever licensing them otherwise, all these files in the default mods have inherited GPL (which is allowed for data). But, strictly speaking, its not clear whether those can even be licensed at all because the rule yaml were translated from the proprietary ini data which was never specifically licensed for modification.
I will update the wording to mention lua and the default mod yaml GPL.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say to mention these explicitly in the readme as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO the usage of similar/identical names and values in the mods yaml files or anywhere else is a case of fair use. The yamls are rather a result of a transformation to use proprietary assets (licenced to the end user) within OpenRA than derivative work in form of a translation . Usage of basic ini data in gpl'ed yaml files complies to the basic principles of fair use IMO and the information used is publicly available too.
88b9948
to
7abd02f
Compare
Updated. Ping @GraionDilach and @Lawando for feedback. |
Lua scripts are a headache in this regard, but even this statement is better than nothing at all. |
To expand on my previous sentence: lua scripts are part of the map which is an asset. Forcing the release of the actual lua script basically forces the project itself to be released. I don't really see the difference between a yaml and a lua in this regard much tbh - both are just crucial map/mod assets. I don't argue on the OS-dll requirement afterall, since that is clearly part of the codebase. I still consider lua scripts as supplementary mod assets and not full-fledged code. |
@GraionDilach we don't have a choice in this. I am bound by the license as much as anybody else, and I don't have the right to change it even though I agree it would make life easier here.
I don't follow. Again, the license is clear that it applies to executable code, but not the data in the project. |
The lua code itself makes no sense without the appropriate yamls. On the other hand, one can pretty much call the actual zipped map as the source release, since common tools can already unzip an ORA map to call that a day. TBH it doesn't really matter in the longterm because those who would ignore the mod license/guidelines (asin the kind of people the classic WW gen2 call rippers) will always be able to, since OpenRA by nature cannot offer a solution against such people (any kind of scrambled format parser written for an OpenRA project would still be forced to release the format parser as part of GPLv3 and I can't nor won't argue on this one) and pursuing any kind of legal action would cause more harm than good anyway for all sides involved. It ultimately just all comes down to the consumer's goodwill to see what happens with a released mod/project. |
Are you trying to explain that modders releasing their map lua without similar rights attached to the yaml/bin files would be a violation of the GPL license? Because that would imply the same problem exists for our engine C# vs mod yaml/art/sound/etc case. I don't see how there is a difference between the (mod executable code / mod data) vs (map executable code / map data) cases. |
I don't even know by now myself - so let's just go with this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows licence dir/custom file works on my end. According to my understanding, lua code can both be considered as executable code as part of a codebase licenced under the terms of GPLv3 (gpl would apply) as it can be considered as part of an aggregate. As I don't know how map lua code interacts with the engine code, I can't really say what applies here but I tend to see it as a separate program which would mean that GPLv3 does not necessarily apply, see https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation).
If you consider map lua code as part of the engine code and not as a separate program then it would indeed mean that the code would need to be compatible with GPLv3. This is probably the safest way to deal with it.
I agree that data/artwork/other assets are not affected by this.
LGTM.
Our lua bindings fall under IfInterpreterIsGPL:
The map scripts are using the facilities provided by the engine through the Lua API, so are bound by GPL. |
This PR adds a paragraph to the README clarifying recent IRC discussions about mod asset licensing. This also allows mods to customize the license text shown in the Windows installer (the GPL does not require this and modders may want to show additional terms for their data), and adds a link to the update instructions.