Licensing for interactive fiction

While trying to set up some test cases for Dialog, I realized I haven’t really given proper thought to licensing for individual works of IF before. It’s in an odd sort of place, where it’s simultaneously a creative work (the sort of thing covered by Creative Commons licenses) and a technical one (the sort of thing covered by software licenses), and I’m not really sure how to reconcile those.

Is there a consensus on this? Coming from academia, I’m used to an attitude of “do what you want as long as you cite and attribute your sources”, so if there was a standard license for the purpose of “you can use any part of the text and code, make ports and adaptations, redistribute the whole thing as a compiler test case, and so on, so long as credit is properly given”, that would be ideal. I would default to Creative Commons - Attribution, but I’ve heard that that one can interact poorly with software.

(I feel like this has come up several times before, but the forum search isn’t finding anything useful.)

4 Likes

For conventional (non-IF) games, I’ve heard of people using a different license for the code and the assets (including sometimes using a permissive license for the code, but keeping the assets proprietary), so in principle someone could reuse the engine so long as they create a new artistic identity. But I’m not sure how that would work for IF.

Personally, most of my games (IF or IF-adjacent) are code-available on Github but without a license, in part because I’m not really sure what sort of license would be appropriate. It feels less pressing to me to add a license for games, since it’s harder to imagine why someone would want to expand/use/build on them, compared with the more utilitarian projects that I also share (where I typically use MIT).

2 Likes

“properly given” credit is the whole question though. Part of the reason why there are so many open source licenses is different opinions on what it looks like to give proper credit: how does it apply to source code vs compiled software? Must the full license be copied or can just the fact that the thing is licensed under that license be noted? Must the license be specified in every file? To what extent must changes be notated? Are hyperlinks required where possible?

(And of course the big question of permissive vs copyleft licenses.)

I think concerns over using CC licenses for software are overblown. But if what you’re doing is more on the backend software side than the creative artwork side then a license like MIT might be simpler for everyone.

1 Like

Indeed it is not an easy, as Interactive fiction blurs the line between code and literary work.

Let us start from what we know for sure:

  • If you are writing an open source game — or any tool/library, really —, it is very important that what terms each bit is available under is immediately clear.
    This is not difficult: just put a licence header in each of the source files of the project (e.g. see the GPL FAQ). For assets, having directories per-licence and an attribution file (like Endless Sky) is a good choice.
  • Creative Commons discourages using CC for code, and instead recommends free and open source licences like the GPL (CC FAQ).

So for an Interactive fiction game, I would release all art (cover image, sounds, any picture appearing on screen, icons, etc.) with a CC licence, and the rest (code mixed with story) under an open-source software licence.
This is what many developers do, too.

Specifically I am partial to CC BY-SA for assets and GPL for code. They are both copyleft, which means any improvement or modification to your game (maybe a port to a different platform) will be shared with the community.

2 Likes

My view of IF is closer to a text with moving parts (like a digital pop-up book of sorts) than to a computer program, so I’ve been using CC for my works.

The case of extensions or engines might be different, but the kind of ad hoc code that usually powers IF (I think of it as “if the player is wearing pants” code) is somewhat different to the generic, reusable program modules that FOSS licenses are written for.

I get where you’re coming from, but it creates headaches for anyone who does want to build on code from a CC-licensed work in a different (engine or extension) context and takes the requirements of the licenses seriously. As the CC FAQ says:

our licenses are currently not compatible with the major software licenses, so it would be difficult to integrate CC-licensed work with other free software

If someone graciously shares the source code of their IF work under a creative commons license, any derivative work is still bound by the stipulations of this license. So e.g. if someone notices a clever trick in that one project, and generalizes it to make it a broadly useful extension module, the letter of the law makes it difficult or impossible to release that extension under a generic FOSS license because it’s subtly incompatible with the original CC license. The sole exception is a one-way door from CC-BY-SA to GPLv3. The original author may or may not have intended to place such restrictions on the reuse of their work in FOSS context – I suspect that many are not consciously aware of it.

Of course, it’s far from the biggest problem in how hobbyist projects handle FOSS licenses. But if someone intends to allow reuse of their source code under an FOSS license, then it’s easier for everyone to just release the code under such a license from the start.

5 Likes

Test cases should use an open-source code license, because someone may want to port or adapt the entire thing as a technical matter.

I don’t use open-source licenses for my games; I don’t think that there’s a real call for ports or adaptations. The originals are playable already.

(Translations are a slightly different issue. I say “If you want to translate one of my games, please contact me first.” This has very rarely happened, but I don’t think I’m the roadblock there – IF translations are high-effort regardless.)

Colin Post has a long-term project to think about this, not in terms of open-sourcing games, but in terms of making them archivable:

Thanks all! I’m currently leaning toward dual-licensing under MIT (for the software side) and CC-BY (for the creative side) and letting people decide which of those is more appropriate for their purposes. They both capture my fundamental goal, which is “feel free to adapt, modify, and build off this, but give me credit if you do”, and my goal is to create fewer headaches for anyone trying to incorporate these tests into another project, not more.

Per the inform-evolution proposals, it looks like Inform extensions in the Public Library will need to be released under CC0 (i.e. effectively public domain), CC-BY, Unlicense (i.e. effectively public domain), MIT-0 (MIT without attribution requirements), or Artistic (same as Inform, basically MIT but requiring modified versions to clearly document how they differ from the original and to not interfere with the use of the original). Out of those, CC-BY is the most appealing to me, since it requires attribution and the Artistic requirements don’t seem particularly applicable to a single work of IF. (The goal as I understand it is to ensure that, if someone forks Inform 7, it’s that person’s responsibility to ensure that installing the fork doesn’t interfere with also installing the original.)

3 Likes

The list was updated (but not in the proposal) to also include MIT.

1 Like