GPL compatibility use cases

From Creative Commons
Revision as of 04:39, 13 December 2011 by Mike Linksvayer (talk | contribs) (Created page with "If any form of GPL-compatibility is to be pursued in 4.0 -- see 4.0/ShareAlike -- use cases that would benefit from such need to be explicated. As raw material, copied b...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

If any form of GPL-compatibility is to be pursued in 4.0 -- see 4.0/ShareAlike -- use cases that would benefit from such need to be explicated.

As raw material, copied below is an email to cc-licenses concerning game-related use cases. Please be bold -- edit and give structure -- add relevant links, etc.

Raw material

GPL-licenced games (game code) with CC-BY-SA game content are a bit of a problem right now. A "functional" CC-BY-SA game content might be incompatible with GPL. Bellow is my [lousy] attempt at division of game content into functional and non-functional:

Non-functional game content: Meshes, textures, sounds, animations, ... used only to visually/... represent objects in a virtual world don't really have a function (at least most of the time). They could be replaced with [nearly] no effect on gameplay.

BUT even those types of content can be used in a functional way. E.g. in a game with "positive" and "negative" targets, those target types could be represented in a clearly different way (colour, sound, ...) so game mechanics would require player to perform visual pattern matching which could be done from a long distance and then player would select positive targets.

Let's change visual appearance of "positive" and "negative" targets to make them look identically and let's modify sounds so that they are very very quiet. These changes of game content will significantly change game mechanics as player will have to navigate between targets at a close range in order to determine which are "positive" and which are "negative" and if there would be some danger for a player due to proximity then game mechanics would differ even more from "original" game mechanics. Let's have identical targets and then use 2 animated textures (2 frames, "positive" texture: green frame, then red frame; "negative" texture: red frame, then green frame) and run those animations at a rate of say 1 frame per 5 seconds (sorry for complexity of this example). Then the player will have to keep track of colour changes and count in head when there are no targets around as a reference.

Through some changes of seemingly non-interactive/non-functional elements game mechanics can be changed significantly. With a "weak" code-driven game mechanics, content-driven game mechanics could be more important/"functional".

Functional game content:

Virtual world (a map/level/...) has some function as it, along with game mechanics, defines what the gameplay will be like. If a map would be replaced with another map the gameplay would be different. Player choices are dependent upon a combination/interaction_of game mechanics and virtual world.

In physics-driven games function could be even more prominent. Objects could be placed and connected in a virtual world in a way that new mechanics could emerge. Here a different object mesh (a dedicated physical meshes of or physical mesh same as a visual mesh) would alter this emergent mechanics. And of course even if objects would be fixed in place, the player moving in the world could be getting a very different experience. A different mesh could turn an object into a trap or could be a bridge to some location.

Objects like switches linked to gates, elevators, ... would also have a pretty clear functional role forcing a player to perform sequences of action much like a gameplay mechanics.

And in some games textures, sounds, animations, ... could also be used to drive gameplay. For example a texture/image could be used as a terrain height map and another texture/image could be used to determine (e.g. by colour) where there is water, where there is deadly lava, ...

Those are just some quick (and a bit ugly) examples of functionality of game content and they are in no way exhaustive. A lot better examples could surely be constructed. Sorry for turning this post into a mess of random ideas. My point is that it is better (for game developers) to have an ability to create and enhance a content under CC-BY-SA 4.0 so that it could be used with other CC-BY-SA 4.0 media on the net (film, music, fanart, ...) and at the same time have an ability to "export" content to GPL making it 100% compatible with game engine/code. And there are some games which are already using GPL-licenced content which means that they can't mix it with CC-BY-SA content.

Another problem is if game content is mixed with game scripts (a code used to control game mechanics at a high level) if scripts use functions provided by game engine/code ("standard library" functions). If there is no exception added to GPL and developers can't get all contributors to agree on licencing under GPL with an exception then scripts licenced under CC-BY-SA can't be used (this problem would probably impact only those people who are less technical / less interested in licencing issues and have simple chosen CC-BY-SA because they use it for content as well and are not aware about consequences (a problems will be biggest when there will later be many contributors and then it could be hard to make them all licence under another licence)).

And of course version number could be a problem. New versions of CC-BY-SA and GPL are not being released at the same time (at least right now). A lot of software relies on GPL version 3 "or later" and if a content under CC-BY-SA 4.0 would be "exported" to GPL version 3 (without "or later"), then if there would be GPL v4 released then developers would be restricted by what CC-BY-SA 4.0 allows (could not switch to latest GPL). Even if newer CC-BY-SA version would add support of GPLv4 then if developers would "export" CC-BY-SA 4.0 to GPLv3 (without "or later") and would be modifying content, they would need an approval of all contributors in order to be able to licence under GPLv4 (which could be problematic). And if they would be improving content under CC-BY-SA instead, they would have to hope that there will be a new version of CC-BY-SA released which will be compatible in order to be able to use latest version of GPL. If I understand correctly an "or later" clause is not part of a GPL licence text (unlike CC-BY-SA? (at 4.b.)) but is rather written in a README file while a regular GPL text is in LICENCE file. Would it be legal to make CC-BY-SA 4.0 to be one-way "interoperable" with GPL version 3 "or later" instead of just GPL version 3?

There is also something not related to stuff above but still related to games and interactive multimedia. If I understand correctly if a work is licenced under CC-BY-SA and is presented somewhere (in a open show) then a person/... who is presenting a work (author or not) does not have release that work (unlike GPL-licenced work (if publicly available)) but any person can still record a work (e.g. using a camera) and it will be legal and can't be restricted by DRM?

If so then this only really help works which are non-interactive / which are "linear" (a single "frame" (image) or a non-interactive "stream" (film, sounds, music)) BUT it does not really help much if work is interactive/"non-linear" (games, interactive multimedia) because during a game/... only portion of content could be recorded and in a "hard to reverse" way (a recording of a game can't be released as game content. game content must be rebuild and only a portion of it will be recorder during a course of game). This could be a problem when someone releases a work under CC-BY-SA, then someone transforms it and puts it on a system to which there is no direct access so that game content based upon some Else's content cannot be extracted (in a directly usable form).

Recently there have been a "gaming console" developed where "user interaction" is sent to server(s) and a recording of a games (in a form of a film) is streamed back to player and is displayed so it is technically impossible to get content out in a directly-usable form.

It is a problem at least to me personally. If someone would release modification in that way I would have to play to be able to use a service (which would be fine), then record a portion of a game presented to me and then convert it back in order to be able to create some new game content based on it while that other person could simply add some more content and it would be restricted again.

I don't think that such system (where game is streamed as a film) could be considered to be a DRM (or "effective technological measures" as it is written in CC-BY-SA) because it is how a device is supposed to work so I personally think CC-BY-SA does not offer enough "protection" for "non-linear content" creators.

To some extent a AGPL version 3 (Affero GPL version 3) licence offers some protection in such situation (for code) as it requires that an AGPL-licenced code running on a remote machine / on a server side must be disclosed while GPL version 3 code does not have to be and AGPLv3 is compatible with GPLv3.

I'm not exactly sure what clauses in CC-BY-SA (and other licences?) could be used for this (and I'm quite sure that some/many people will not want it) but current state of CC-BY-SA (or my misunderstanding of it) is pretty much the reason why I am considering releasing (in future) my game content under a custom licence.

If some measures regarding this matter would be implemented in CC-BY-SA (and other CC licences) and if there would still be a plan to have CC-BY-SA-4.0 "exportable" to GPL then it would only makes sense if to have it "exportable" to AGPL (version 3 or later) rather than GPL because GPL would be "removing" requirement of disclosure (when everything would be happening remotely).

Even if I would have my game engine/code licenced under AGPLv3+ someone could still re-implement it or use another engine and use my CC-BY-SA in a way I have described above and currently only a custom licence (or AGPLv3+) would be a good solution for me.