[cc-community] CC-BY-SA 4.0 (and other CC-*** 4.0 licences) vs. computer game content

Christopher Allan Webber cwebber at creativecommons.org
Thu Dec 15 12:15:43 EST 2011

Replying to your first email, but here instead of on the other list:

Hi!  First of all, thanks for writing this email, Maciej!  It hits on
some of my favorite subjects.

Maciej Pendolski <beholder0x100 at gmail.com> writes:

> 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:

First of all, I think that you're right that this type of
risk of content/functional stuff with two copyleft licenses (CC BY-SA
for content and GPL for functional) is a problem, and a problem that's
most evident in games.  There are a few other places where I've seen the
issue be raised also though:
 - 3d printing, where you have some "aesthetic" designs (sculptures,
   etc) and some "functional" designs (gears, etc).  What happens if you
   combine them?  You might, for using some elements from something else
   to make a pretty chassis for your robot.
 - Some types of artwork where there is scripting... eg, a lot of
   blender files end up having python code embedded within the work
   itself.  What happens when you have a model whose animation is being
   driven by a bit of python code?  (And what about the probably
   obligation for that code snippet to be released under the GPL because
   Blender also is?  That's somewhat of a separate issue though.)

But you're right, games are the most clear and vivid example of

> 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.

I agree.

> 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.  [SNIP...]

> 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, ...

I think for the most part the things you're describing here are just
fine to be released as CC BY-SA and etc.  I think that properties on an
object, which is how this is usually done, are just fine to consider
content.  The only exception to this maybe is visual programming stuff
(or stuff like "logic bricks" in blender) but I'm not really sure
anyone's doing anything serious enough with this right now for me to
worry about it.

> 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)).

Now this part I agree is a serious issue.  You actually run into this in
games all the time with files that have interspersed content and code.
I remember looking at Frogatto's level files a long time ago and
thinking about this, as they're simultaneously describing a world and
scripting various elements in it.  I don't remember their licensing
setup, might not be an issue there, but in plenty of other places it is.

I think these issues are really hard to debug.  This is why historically
why a lot of FOSS games either use only GPL, or simultaneously GPL + CC
BY-SA for their content.


It could be there's a lot of over-reaction and license-nerding happening
here, but I actually feel pretty strongly that a BY-SA -> GPL one-way
compatibility bridge would be pretty helpful in alleviating pain here.
*NOT* to say that CC BY-SA is acceptable for software, but in the cases
where overlap is hard to separate, it could be a big win in reducing

I should also say that I think that usually I don't think this is an
issue.  Usually you can have a clean separation between content and
code.  But not always, and it would be nice if in 4.0 we could reduce
potential siloing between copylefts in those rare (but important)
circumstances of overlap.

> 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?
> [...]
> 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.

I'm not sure about re-recording being a loophole; if that's an issue I'm
somewhat unfamiliar with it.  Current CC does provide anti-DRM phrasing
(what's to happen to that is still in debate).

As for CC not requiring source distribution, I feel strongly that source
distribution is important, but I've become convinced that it's not
appropriate for CC BY-SA.  In software, you simply can't modify it
without the original source.  This isn't true for non-software content
though, where it's more of a "gradient".  I can actually do a lot by
modifying a PNG directly without having an XCF file; I can modify Sintel
even if I don't have the .blend files.  But of course, if I have those
files, I can do a heck of a lot more, and I'm doing a better service to
the commons.  But I'm not sure it's strong enough to make a requirement,
and it's probably even detrimental, as someone might make a remix from
Sintel itself without using the .blend stuff at all.  So in that case,
redistributing the .blends doesn't make sense?  How deep does the source
requirement chaining go in that scenario?  Better to simply not have
that requirement in CC, I think.

> Sorry if this post is hard to read. It is 3:39 am right now so I have
> probably written a lot of stupid non-sense but I wanted to write this
> post down and send it before I forget what I wanted to write. And
> sorry for bad English.

No reason to apologize; great post.  Thanks!

More information about the cc-community mailing list