4.0/Games 3d printing and functional content
Contents
Background
The purpose of this page is to collect thoughts on issues that affect games and projects that span the domains of cultural and functional/software works. There are actually quite a few categories of works that cross this domain, but games, as creative works that *by necessity* combine code and artwork together, perhaps expose and encounter some of these issues the most clearly. However games are not the only area that contain this overlap; for example, 3d printing is an emerging medium where the line between funtional and cultural is either blurred or interwoven. It's likely that as the spaces of free software and free culture (ideally) grow, we'll continue to see more and more examples of this overlap.
Most of this wiki page will involve issues of the code/functional and cultural works overlap, but some bits at the end will cover some other issues raised by speaking with members of the free software gaming community.
Background on separation of functional/software and cultural layers
As further background, traditionally we've held a fairly clear division between the free culture and free software spaces. This division is partly because it's a useful distinction, and partly a historic one. (The FSF has held this position or something like it for a long time; alluded to slightly on their distribution guidelines about non-functional data.)
It looks something like:
.----------. | CONTENT | +----------+ | CODE | '----------'
In a game context, content might be art, music, story, plain character descriptions. Code would be the game engine, game scripting, etc.
In a free-as-in-freedom type environment the former would be under free culture and the user freedom respecting subset of Creative Commons licenses, and code would be free software licenses such as MIT/BSD or the GPL.
One of the other results of this (licensing) division though is that you can also have one half of this layer be proprietary and the other be free-as-in-freedom. So, for example, the first person shooter Quake was released under the GPL but the game content was kept proprietary. Likewise, it's possible that someone could have a game whose assets were released completely as free cultural works but the software wasn't; this hasn't seemed to have happened (but some artists have expressed concern about it). But outside of games, people play CC licensed content in proprietary media players or view them in proprietary browsers all the time.
In general, the software/content division in many areas works just fine as separate layers. But sometimes there is a certain kind of content that spans both. For example say you have a game that's using CC BY-SA content and the GPL for the engine. In this you have level files or character description files saying this is placed here, that's there, and here's a cute block of text describing this creature if you look at them in info mode. At this point, that sounds like content, and so falls into the CC licensing. But what happens if in this same file there's a certain amount of scripting? It has logic, it assigns variables, but it also has some programming code.
.----------------. |CONTENT.--------.| | |scripted|| +-------| level |+ |CODE '--------'| | | '-----------------'
This actually happens all the time in games (both Wesnoth and Frogatto use an engine that's a bunch of config files that describe maps, scenarios, storylines, and creatures but which contain a functional programming language embedded inside them also; see this wesnoth level file which looks like mostly data and this boss file from Frogatto that looks like code ... technically Frogatto developers consider this to be all content, but it's also an interpreted language. The intention here isn't to pass judgement on their interpretation (if the developers don't intend to enforce the copyleft on the scripting layer, they're the only ones that can do that anyway) but their files provide pretty clear examples despite them drawing a line somewhere else, and if for example we consider a game engine that uses Python as an interpreted language but which has a backend bound by the GPL to have to follow the GPL, surely combo content/code files like this might provide an "intertwined data and code" scenario.
This might seem like a very one-off type of consideration, something not worth considering generally with CC, but I don't think it is. Surely we want to see more free software and free culture overlapping, and it is likely that when that happens there may be scenarios when that happens where some sort of difficult intertwining of code and content will happen and we'll have to consider what to do about copyleft incompatibility.
Here's another example not game related, rooted in the physical space: 3d printing. There's a potential that 3d printing could become (and actually, it's already starting to become) the type of revolution for physical things what computers and the internet have been for information.
The most popular 3d printer is something called the RepRap, which has been released under the GPL. Arguably because of the strength of this copyleft, several commercial versions have ben released such as the MakerBot Thing-O-Matic. But here's an iteration of the 3d printer called the Ronthomp Mendel which is labeled as being BY-SA, even though it uses a GPL'ed design.
Now, technically the BY-SA and the GPL are not compatible, and it's probable that this is an issue of education because maybe the Ronthomp Mendel should simply be under the GPL as well. But here's a question... what if the Ronthomp Mendel were making use of some BY-SA parts? What is someone tried to make a new 3d printer that made use of some cool new gear system that someone released as BY-SA?
One could argue that in the copyleft scope, functional things such as the RepRap should be GPL'ed (citation needed, but it's been argued at least by Eben Moglen that GPL is great for hardware because it also takes advantage of GPL's patent pool protections) and that purely cultural things such as the Octocat print should be CC BY-SA. But a) not everyone has agreed on this, plenty of people are using BY-SA for functional works, and b) this breakdown itself could really stop working right when we try to create a new project that combines cultural and functional works.
(One could possibly ask how far copyright applies to functional 3d printed works (and therefore, how far copyleft applies), and there's not much background to show how it applies at all yet. I'm writing this assuming it does apply.)
To more clearly illustrate the problem, let me first make a list of some various cool 3d printable things under different licenses:
GPL things:
- RepRap 3d printer (on which most modern 3d printers are based)
- Bead belt gear
BY-SA things:
BY things:
From this list of things already we can see a list of things that could be blocked. Say you want to power your 3d printer by human energy by plugging in the motorized functional differential gear system? Okay, maybe possibly you could argue that that's functional and should have been GPL'ed, but what about the dune buggy, which is closer to a children's toy? What about combining that with some GPL'ed part?
But most complicated of all, what if you wanted to make a walking cat-robot that uses a BY-SA cat design (maybe the head of the octocat) and combines it with the robot chassis and some bears and the bead belt gear and a bunch of other things. Suddenly we've a cool intersection of culture and functionality is blocked by two copyleft licenses that both have the same (and best) intentions at heart. We've blocked the cat-robot from ever being born (well, within license compliance) by best-intentions-copyleft. This is a problem, and if the world continues to develop in the direction we want it to, I think we're going to start seeing it a lot more.
GPL compatibility
Probably the most actionable and most urgently raised amongst issues when discussing with relevant community members is that of a one-way compatibility between CC BY-SA (and probably also CC BY) and the GPL. It's almost certainly not possible at this point (and probably undesirable) that GPL->BY-SA compatibility is possible, but if we choose to do it BY-SA->GPL (and probably BY->GPL) should be.
The benefits of this is that it will resolve the tricky issues with "interwoven" content and cultural works. Clashes in copyleft licenses which share the same goals are unfortunate if they block useful things from being created. As Arne Babenhauserheide said,
... the case of cc-by-sa not being comptible with the GPL is very sad,
because they share exactly the same goals: Copyleft. Thus their incompatibility creates a real split in cultural works. If the 4.0 licenses could make it possible to combine cc works under licenses with compatible concepts (cc by, cc by-sa) with the GPL, that would be
a huge step towards a unified free culture.
So what are potential downsides? The main downside is that Creative Commons licenses are not acceptable for software and we don't want to spread a misconception that they are. If we go forward with this, we should develop strong messaging that makes clear that software should still not be released as BY-SA and that this is for avoiding conflicts in complicated areas of interwoven cultural and functional/software works.