Attribution/Etiquette question when updating/changing someone else's extension

I’ve made some pretty substantial changes to an existing 9.3 extension, that touch almost every part of the original extension, so I can’t get away with releasing my own extension that just replaces sections of the original. I’d instead have to release a new version of the original. I have tried to contact the original author through PM with no luck.

What’s the right thing to do here?

Edited to add: When will we get multiple attribution for extensions in I7?


There is a sort of multiple attribution feature, using a second rubric line.

In the past there have been cases of people rewriting whole extensions and leaving the original author’s name on it and cases of people making modest changes to something and putting their own name on it as author (but attributing the original author internally). I haven’t heard of any bad blood over either one. That doesn’t mean it hasn’t happened, but that’s the best I can tell you.

1 Like

Can I use extensions in commercial works?

Yes. They’re listed under a Creative Commons attribution license, which is the least restrictive license Creative Commons offers; this means that you are only required to credit their authors. See the Creative Commons page for more on these.

Inform 7 FAQ – Emily Short's Interactive Storytelling

I’d assume if you improve or update an extension you basically just add your name and make update notes in the existing documentation. If you make a complete new extension you’d attribute effusively what you’re basing it on.

1 Like

Well… except that that “only required to credit their authors” bit has never been true: living up to a Creative Commons Attribution license has a lot of specific terms and listing the author’s name in the Version command doesn’t come close to covering them. We really should move to a CC0 or BSD Zero Clause License and pursue getting authors to re-license things, but I haven’t had the heart to open that can of worms.


Per Writing with Inform 27.4:

Sometimes authorship is complicated. What if Mary Brown finds some Inform 6 code written by John Smith in the mid-90s, and puts an I7 gloss on it to make an I7 extension, but then Pierre Dupont translates it into French: who’s the author of the result? The rule is that the person making the current, latest version is the author listed in the titling line[.]

Other authors should be credited in a second rubric line, as mentioned above.

This occasionally becomes a problem, when other extensions try to include the original author’s version by name, and conflicts arise. The best way I’ve found to deal with this is to include a special volume “for use with” whatever extension, which systematically blanks out every part of it.


I always thought it was CC-BY, essentially, I’d assume that people who’ve shared extensions intend them for the greater good. I could be wrong of course, that may be my inference only.

Actually, if you make a really neat fork of a known extension, I’d say make your extension separate but with hooks into the original. That’s why extensions can load other extensions and even replace sections piecemeal:

Headings can also replace portions of extensions which have been included. For instance:

Section 6 - Hacked locking (in place of Section 1 - Regular locking in Locksmith by Emily Short)


Most Inform extensions are CC BY, but CC BY actually requires you to link to the source as well as include or link to the CC BY license itself. Which doesn’t happen when an extension is included. But I’ve never seen an extension author express any displeasure at how Inform includes extensions either, so it probably doesn’t really matter.


…until such time as someone storms off in such a huff that they choose to invoke the license violation and potentially games whose source code is lost become undistributable. And that day may never come. But if we’re going to act on a “it doesn’t matter, no one’s worried about it anyway” basis, then why claim to be acting under a CC-BY license? By doing so and then flouting it, we take on all of the risk associated with non-compliance with the license while getting none of the benefit of having a license.


That’s my bad. I take back everything and honestly guess I don’t know about licensing for Inform extensions. I’d always seen “Creative Commons” in the documentation, original website, and official blogs so I apologize if that isn’t correct. From making games where the music licensing is CC-BY that’s what I’m used to and that’s what it sounded the most like.

CC BY vs 0

Even if it was CC-0 my personal preference would still be to credit contributors. The only exception is when I grab tiny noises off the freesound website I will specifically choose samples the creator has marked CC-0 so I don’t have to keep a list of who to credit for every beep or click or footstep sound.

Living with and discussing Inform all these years - in the extensions and on the site and this forum the philosophy has always seemed to be “code is cheap, it’s the writing that matters” and I’ve never seen anyone raise a problem with altering an extension, in fact the reverse is usually true and authors frequently will help someone to do so.

So if you or anyone is worried about it, please don’t rewrite an extension unless you get explicit permission. I’ve always heard “use code with attribution.” That probably applies to using an extension your own work. Example: I tweaked Emily Short’s “Recorded Endings” for use in a slightly different manner than intended in Baker of Shireton. Despite changes, her name is still on the extension in the game.

Now if someone’s like “I’ve made improvements to this extension and I feel I should republish it as my own under my name and take the original author’s name off…” I’ve heard people like @Draconis say that’s the rule, but I personally don’t think it’s necessary. There’s no reason to rub out that (say) Emily Short was historically responsible for “Locksmith” and for someone to claim it as solely their own when updates or rewrites of extensions can be cumulative and collaborative. Or just create “Advanced Locksmith” as a separate extension of your own. There’s no reason both can’t exist. Library extensions get vetted, so if they’re just a duplicate of what’s there they can be rejected on review.

Again, this is all my subjective thought on this. If there’s a way it’s actually done or needs to be done I’ll follow that going forward.

1 Like

You’re completely correct, and I apologize if I sounded like I was calling you wrong. The docs still say:

The I7 website extensions page (archived) said:

with a link to the CC-BY 3.0 license.

The 9.3/6M62 Public Library and 10.1 Public Library say:

The Friends of I7 Githtub repo has the CC-BY 4.0 license, which is problematic because CC-BY 3.0 doesn’t extend the right to re-release something under a subsequent version of the license.

What I’m saying is wrong is the docs’ assertion that just giving credit, of itself, satisfies the license and, thus, that Inform’s default behavior vis-a-vis extensions and the version command satisfies the license.

We have a strong community norm that giving credit is sufficient, and so far that’s worked out. But there’s a substantial mismatch between our community norm and the terms of the license. The benefit of calling on people to release things under a license would be to guarantee that the code-sharing would continue to work out even if someone wanted to take their ball and go home. Advertising that everything’s under a license and that that license is being followed creates a false sense of security. At best, it’s useless; at worst, it’s dangerous.


You as well - Inform’s take on license might resemble CC-BY 3 or 4 even though it isn’t expressed officially as using it. That was my own incorrect leap of logic.

1 Like

To be clear, doing this doesn’t claim it as solely your own. Extensions can, and should, show the names of anyone who worked on them in the credits. The problem is that Inform doesn’t allow multiple attributions in the internal name of an extension (the name on the I7X file), which is what that line in the documentation is about.

The recommendation to have the internal name match the most recent author is also better than the alternative (having it match the original author), imo, because it means multiple people editing the same extension won’t create conflicting versions. If I edit Locksmith by Emily Short to add some new behavior, and you edit Locksmith by Emily Short to add some different new behavior, how are people supposed to know which is which?

Inform’s solution is to say that the internal name should match the most recent author, so we end up with Locksmith by Emily Short (the original), Locksmith by Daniel Stelzer (my version), and Locksmith by Hanon Ondricek (your version). This means that authors can keep them straight and know which one they’re using in their games. Meanwhile, they’ll all also credit Emily Short in the in-game credits, since they’re all built around her original code.


Again, that’s why I’d much prefer that someone create a completely new extension like “Advanced Locksmith” (for use with “Locksmith” by Emily Short) rather than usurp an existing extension to use the same name which would be confusing and potentially thwart re-compiles of games that already use the extension by the original author.

1 Like

Right, that’s exactly the issue that this passage from the documentation is addressing: the documentation specifies that my new version should be Locksmith by Daniel Stelzer rather than Locksmith by Emily Short, so that projects relying on the original behavior don’t get tripped up by my modified version, and projects relying on my new behavior don’t start malfunctioning when compiled with the original.

Since this is about the internal names, it’s an issue for authors rather than players; the “second rubric” of the extension ensures that all relevant authors are credited in the player-facing parts.