So, recently I found myself with some time on my hands due to an unfortunate accident. To fill in my days (and forget about the pain) I decided to take a look at some of the old Infocom ZIL code. Specifically the sections to do with character movement and actions (I think it was known as the ‘transit’ or ‘tram line’ system?). To get a handle on it I decided to write a sample ‘test’ game to move an NPC around a map and get them to perform actions on reaching certain goals, established using a mixture of Infocom code from various games (Moonmist, Deadline, Suspended to name a few). I did this using the current ZIL (ZILF) parser library rather that a hybrid of the Infocom Parser. For the most part, this was working well and I eventually had a number of NPC’s traversing the ‘tram lines’ and carrying out actions on reaching their goals. To that end I thought that it would be a good next step to actually create a game using that system, but my ‘moralistic alarm bells’ rang at the thought of using (what was mostly) a rip off of existing Infocom code, all be it with a few ‘tweaks’ to get it working for me in ZILF. I was wondering what other peoples thoughts are on this re-use of existing Infocom code. I am assuming that any code written for Infocom is (or was) owned by the company (not the writers) and (if the company was still an active source) would be illegal to strip code an re-use it in a project, but as it stands Infocom has long gone and its subsequent owners (I believe to be now Microsoft) don’t seem to be too bothered about Infocom or Interactive Fiction in general. Plus, there have been a number of games released that either directly ‘mimic’ Infocom games, or at least pull heavily from them. My games never generally see the ‘public light of day’ as I just write them for my own pleasure, so I don’t have any issue in making this game, I just wondered that if I ‘did’ release a game using this code what others would think?
Legally, I have no idea, but morally it seems completely fine to me.
First of all, I hope your health improves and I wish you a speedy recovery.
Here’s a personal perspective: I think approaching this from a purely moral point of view is an intellectual dead end if we stop there. When you look at the creative process, whether technical or artistic, and set aside the reassuring narratives we tell ourselves, it becomes clear that we’re always building on the foundations laid by others, adding something that others will later use. Here’s a metaphor: I garden in my spare time. Without the people who worked to make my tools, those who produced video tutorials or manuals teaching me how to set up a vegetable garden, the workers who built the roads that allow delivery drivers to bring me seeds, and without the work of the previous owner who enriched the soil, I wouldn’t accomplish much on my own. It’s the same for software projects, and it’s also the spirit behind Inform extensions, for example, which code is open.
Moreover, studying code and engaging in reverse engineering is very similar to analyzing chess games when one wants to improve at chess: it’s essential to understand how the best do it, not to imitate them, but to grasp the challenges they faced and how they solved them. This field has its own patterns, trends and innovations, making it an area of deep intellectual inquiry. It’s no surprise, then, that your mind has absorbed the most effective patterns and is reusing them, adjusting them as needed. This is legitimate, and it benefits the entire IF community. I’m working on a game whose features would never have existed without the technical and pedagogical work of Emily Short, even though bridging those features together led to significant modifications.
What you’re describing is very interesting, and I’m probably not the only one interested in hearing a detailed explanation of what you’ve understood and created. Besides the customary thanks, which are a polite acknowledgment of all those who’ve shared their knowledge and tools, my personal opinion is that no guilt should stop you from offering us a game. Remains the legal aspect of the case, on which I have no skills at all.
Reusing and adapting others’ code is a venerable practice in IF, so I likewise can’t see any moral or norm-based issues here.
In terms of the legalities, I’ll add my standard disclaimer [*], but to my knowledge the Infocom source code was never publicly released by its authors or owners, so Microsoft as the current owners of the IP would have full rights over it. And while determining whether an adaptation of code is fair use or otherwise a violation of those writes is very complex, if you’ve basically just copied-and-pasted the code and made a few tweaks to make it work with a new compiler, that seems relatively more likely to be infringement.
With that said, the practical remedies available to Microsoft would likely be limited and turn on things like whether a copyright for the source code was ever registered, what damages they can show, and whether it’s worth it to them to bring an incredibly expensive lawsuit primarily to discourage other people from engaging in similar behavior (and, er, whether they’d notice it in the first place, which publicly-available forum threads are maybe not great for).
Practically, as you say the attitude of the rights-holders towards the Infocom IP has been benign neglect, and the worst-case scenario here is likely a cease and desist letter, which isn’t fun but not so bad. But Microsoft’s ownership of the Infocom IP is new so it’s certainly possible things could change.
“Plagiarism” is the wrong word anyhow. Plagiarism is when you pretend that somebody else’s work is your own. You definitely haven’t done that, because you posted here explaining where the code came from.
You’re asking about using Infocom’s code for your own purposes, which is a copyright / fair use question.
People started using Infocom’s code, pretty freely, as soon as it became generally available. (That was 2019.) There’s been people who recompiled Infocom games to fix bugs or remove a hunger timer. There’s been people who took an Infocom prototype and finished it.
You’re using game-mechanics code (not story text) from Infocom’s repository. That’s much narrower in scope what other people have done. So, pragmatically, you can say “It’s not a big deal” and stop worrying about it.
I’m not saying you should stop worrying (people can always worry. :)
But it is not a big deal, really.
I don’t know how much code we’re talking about here, but if it bothers you… why don’t you refactor it into your own coding style and conventions?
I think using it is fine, but if you’re worried, you can say you modified Infocom code for [this portion] in the credits.
I am not a lawyer, but my understanding is that algorithms are not subject to copyright. They can be patented, but any possible patents (and I doubt there were any) would have expired many years ago. So, I think you’re okay if you “stole” the idea of how to do a tram system, but wrote your own code to implement the algo. The new code can even look substantially similar to the old code, because the algorithm necessarily dictates much of the implementation.
From an ethical point of view, just give credit where credit is due and folks will be happy.
I think the best practice would be to acknowledge your sources, as others have said. Lots of people will write a response to an ABOUT or CREDITS command, and you could do it there. You’ll need a place for recognizing testers, anyway, so this isn’t extra work.
[e: ethically, ofc, I don’t know anything about the law]
Sadly, in this case the ethical thing (acknowledging sources) pulls in a different direction than the legally cautious thing (don’t draw attention to stuff rights-holders might object to).
Man, I sure hope there aren’t other areas where law and ethics are mismatched like this!
Yeah, that’s tough. I can’t give any advice regarding that tension. If we’re going down that road, doesn’t most of ZIL belong to Microsoft anyway? It was not licensed to anyone, so far as I know. Or is that different?
Legally, Infocom’s ZIL compiler, ZIL code, and all their ZIP interpreters now belong to Microsoft. So do all of Infocom’s ZIL manuals. (With the usual amusing caveat that Microsoft may not have that material any more. Fans have probably preserved more of it than the legal owners.)
The ZIL language is a fuzzy area. Almost all programming languages in real-world use are open source (that is, they have open source compilers). So everybody behaves as if a language is an abstract idea, not copyrightable; a fresh implementation of a compiler is always legal. (Which is what ZILF is.)
But I have no idea if that’s legally correct. It’s just how everybody acts. It may never have been tested in court.
The ZIL language is a fuzzy area. Almost all programming languages in real-world use are open source (that is, they have open source compilers). So everybody behaves as if a language is an abstract idea, not copyrightable; a fresh implementation of a compiler is always legal. (Which is what ZILF is.)
But I have no idea if that’s legally correct. It’s just how everybody acts. It may never have been tested in court.
The closest example I know is Google v Oracle, where it was determined that Google’s implementation of the Java API for Android constituted fair use.
Software IP law is very complex, varies by jurisdiction, and many questions have not been thoroughly tested in court. I would caution against relying on generalities like “algorithms/languages cannot be copyrighted” and seek real legal advice if you’re actually worried.
Google v Oracle had so much money and legal attention poured into it that it’s hard to generalize from. It focused on very specific details of what Google had done.
Google v Oracle had so much money and legal attention poured into it that it’s hard to generalize from. It focused on very specific details of what Google had done.
I only mention it because it seems like a germane precedent. I certainly wouldn’t call it an ironclad defense for all third-party implementations of languages/compilers/interpreters/APIs. (And just to be clear, IANAL.)
While the legal questions are interesting, I think the fact that a fan completion of an Infocom game from its unfinished source code (Milliways)—and, for that matter, posting the entire Infocom source code online—hasn’t caused any problems, means you’re probably fine.
Right. I think several of us have done things with Infocom property, shared it, experimented with it, and so forth, and that suggests a level of confidence–right or wrong–among community members. My response was really about the OP’s subjective feeling regarding plagiarism, as giving credit is a good solution for that.
I’m tempted to say the times when what’s ethical and what’s legal align are the exceptions, not the norm.
Ethically speaking, Infocom no longer exists, I’m not aware of any legal means of obtaining any of their catelog, and the copyright on all of their catalog would be long expired at this point if it wasn’t for corporate greed getting copyright extended to a ludicrous extent.
Legally speaking, hacks and fanworks of anything that isn’t public domain generally exist for one of the following reasons:
- The copyright holder is ignorant of the infringing work.
- The copyright holder is ignorant they own the IP.
- The IP holder doesn’t care about the IP.
- The IP holder is afraid of public backlash if they pursue action against the infringement.
If Microsoft does own Infocom’s IP at this point, I suspect a mix of 1-3* because Microsoft has proven many times over the decades they don’t give a flying frotz about public opinion.
*1. Text Adventures are a very small niche in general, and reverse engineering old computer games is pretty niche as well. This is a very tight nit community where players and developers sit at the same metaphorical table, so even the people who strictly play IF here have probably heard of ZIL at least in passing, but I suspect it’s practically unheard of outside of this community and adjacent spaces.
- Microsoft has bought out so many companies over the years that I doubt anyone making important decisions about what properties to do stuff with even knows everything they own, and the same was true of Activision before Microsoft bought them.
- Even if Infocom’s library isn’t regulated to some corporate filing cabinet or old hard drive that hasn’t been properly catalogued in 20 years and it’s on some “big list of IP we own” that all the Microsoft top brass have access to, it’s probably near the bottom under a header like “irrelevant”, Hitchhiker’s Guide to the Galaxy is probably the only thing in there they could realistically make money off of without the mainstream basically think it’s a new franchise, and even then, owning the rights to the text adventure doesn’t grant them license to turn Hitchhiker’s into a Triple-A title for Windows and whatever they’re calling the latest xbox.
As for other areas where ethics and legality are at odds, the first thing that comes to mind is it being legal for employers to pay their workers non-living wages and it being legal for restaurants to pay their wait staff below minimum wage and expect the diners to make up the difference and businesses being allowed to advertise prices that don’t include all applicable taxes and fees. Disclaimer: This is from a US perspective, and I’ve been convinced for a long time that the US is the least developed of developed nations by most measures. Kudos to the governments of anyone wearing somewhere that forces employers to treat their workers like human beings and to be honest with consumers.
The Organization for Transformative Works argues that nonprofit fan works are legal, and as far as I know hasn’t been sued over it yet.