Amen!
Dealing with the issues of modifying extensions, saying you’ve modified them, crediting all involved in a systematic way, and also just plain old managing the files that result (because if you make a copy of the extension to modify it, it can no longer have the same name and author as it originally did) has been an area of significant pain. I hope the next version of Inform may do something about this.
In the meantime, I’ll tell you what I do, which I think is pretty good. Others can tell you what they do, which they may also describe as pretty good, and then you’ll have to decide which method you like.
First, you can add info to what appears when ‘version’ is typed.
Report requesting the story file version:
say "This game uses modified versions of the following extensions:[paragraph break]'Girl Power, Yeah!' by The Spice Girls".
So taking this into account, my overall method of modifying an extension is:
- Copy the original extension file.
- Change the copy’s author to myself — change its name (both the file and in the extension) to something like 'Exit Lister Hack for (GAME NAME)" (if the extension I hacked was Exit Lister) — add the line ‘Use authorial modesty’ to the extension code so it doesn’t appear at all in the version list with the wrong name and author
- Install this hacked copy back into Inform, where it will be filed under my name, authorship wise
- INCLUDE it in the game instead of the original.
Now, I need to credit the extension again, because as is, it won’t appear when 'version 'is typed.
So now I add that line I mentioned into my source and list any extensions I modified with their original names and authors:
Report requesting the story file version:
say "This game uses modified versions of the following extensions:[paragraph break]Exit Lister by Eric Eve".
Pros: I’ve got a clearly labeled and separate copy of the extension file which I can hack for this game only without interfering with the original copy, or other games which use the original copy. I still credit the original extension and original author. I’ve indicated I altered with it. (People have debated about this part. Some viewed it as credit hogging if I say I modified an extension when maybe all I did was change 1 line. I don’t care about my credit - I’ve listed the original author and I’ve said that I’m not using the extension in its vanilla form. That’s what I’m interested in indicating personally. I don’t go into the magnitude of my changes, or the smallitude.)
Cons: You have to manually write up the extension credits for extensions you treat like this under the ‘Report requesting the story file version’ rule.
So that’s how I handle it. It deals with the attribution side and the practical file management side.