So I've been involved in this sort of process before. IANAL but the answer likely yes, but it is complicated.
So, firstly IP rights may not be your only encumbrances, NDA's can be even more restrictive, since leaking information about a library may be covered, for instance.
Additionally, the IP of the game code itself may be encumbered, for instance with publisher agreements, or if your code is derivative, source for instance may still be considered partially derived from id code, which zenimax, or maybe some other party may own, and getting those rights may be difficult, (even if some large percentage may be released in the GPL'd id codebases) And if your core engine is IP encumbered, that may not be something you could "just release without"
So then someone is going to have to actually do the work of separating out all the third-party libraries, which may not be trivial depending on how many, and how well separated they are.
Then at any reasonably risk-averse company, somebody is going to have to do an audit, which could be a lot of work.
And then we might not just have other people's files to remove, while it may not be an copyright violation to reference API calls of a copyright work (I'm honestly not sure) It sure could be an NDA violation depending on the NDA. Not to mention code that may be derived from library samples. So you either have to cut out all of that code, or rework it to just not be in violation.
And lastly, most companies care enough about their reputation to not want to just dump a large pile of broken code in the wild (Maybe it'd be better if they would) but want to make sure it builds and runs. So once you've removed all those other bits, it may be a lot of work to just get everything building, or running again. And not to mention that asides from just IP issues, a lot of the build system may depend on local infrastructure, perhaps connecting to local databases, or cache servers, so you will want to make it work without that, and we also have to ensure no secrets are accidentally being divulged (maybe signing keys, or credentials to servers)
As I understand it, Valve licenses Havok, which they possibly use for any and all collision (or maybe just rigid-body stuff, who knows) and if so, even if you get the game running you may fall through the world, or perhaps not be able to move at all, which is hardly the TF2 we all want open-sourced. And that's just one possible library, maybe they use RAD Granny to do animation, etc.
Or if you want to allow people to buy the licenses to compile it, you still have to do almost all of the above, then setup the infrastructure to download the correct version, and set it up for builds, and that only works if they didn't make any internal modifications, or maybe they can setup a patch file that doesn't violate any copyrights, but that's also work. And that also implies that the company the libraries are licensed from still exists and is still selling, and still offers the old versions the game is built with. And now you have to release the engine under a license that's compatible with the third-party licenses, which given the precedent of using GPL that adds some extra complications.
So, yeah, there is a good chance it's possible but there is a varying amount of work, which is most likely at least a lot.
As for libraries that exist in that area, of the top of my head some examples:
* Havok/PhysX, physics library
* FMod/WWise, audio libraries
* Natural Motion, animation libraries
* Everything that RAD Game Tools offers, including audio/video codecs, compressors, animation libraries.
Keep in mind, some of these are expensive, but some are more dependent on a corporate relationship, which is not the sort of thing that frequently offers a student or noncommercial version.
Id Software has been an inspiring example here, open-sourcing several historically significant game engines. https://github.com/id-Software/
However, they typically don't include the full game data; you
have to use them with data from the free trial versions or contributed by the public mod community (something else Id really helped foster). Does anyone know if this is necessary for them to retain rights to the IP?
These games are closed source with IPs owned by multi-billion dollar corporations.
The engine being closed or open is of literally 0 consequence. Any 3rd party reverse engineering these games to run on a new platform would already be breaking licenses and trademark laws.
No code is a hole large enough to drive a truck through, copyright covers a lot more than just code (for instance, design documents). The code written could easily be a derivative work of something that Id held copyright to.
That will be harder to prove than an outright copyright violation. But if any files made it from Id to Carmacks subsequent employers it is going to be very hairy.
ZeniMax may have found that the IP was already patented by other parties or that they decided they did not wish to patent it. That does not mean they relinquish all their rights.
Oh, I didn't think about that, but in retrospect it seems obvious. That makes the problem harder - how do you honor the "IP release" part of copyright (and enable game preservation) while respecting the copyrights that still are in place but that are required for the game to work?
I worked with game RE for a long time and the only way that publishers were able to go after people was if they used game assets. The decompiled code was, as far as I was ever aware, free game. There was almost always manual intervention to get it to build.
I have a policy with the games I'm working on that I won't include any resource, engine, code, etc... unless it's Free (Libre) or I personally own the IP. I often wonder if I'm too strict about that, but seeing comments like this makes me feel like it's the right move.
I don't want to be in a situation where I want to do something with my game and can't because I would need to track down the rightsholder. As a consumer I want to have some semblance of ownership over the things I buy, but even more than that as a creator, I really want to own the things I make.
Someone who doesn't have to respect copyright law could use it to make their own game like it, saving years of effort. It'd be hard getting up to speed on it, but it could be worth it.
>I don't know. Winning people's hearts? For the fun of it?
That's true, but as long as they can still make money from their IP they won't (i.e. repackaging old source + game(s) into a VM for sale on Steam or next-gen consoles)
Some of the source code/etc may be licensed from a third party, which means that releasing it is treading through a legal minefield.
Also, they may own it as a trade secret rather than as a patented process. Or, further, it's possible that code that John is working on now is a derivative work of code owned by Zenimax. We won't know until the facts come out.
The bigger question is if the company who legally owns the right to the code realizes it's their IP, and then, of course, if they care. Not every game publisher has a Nintendo-level concern for their archaic titles, and some publishing houses may own hundreds of franchises technically they have zero intent to ever touch again and may not even have bothered to keep track are theirs.
The main thing I fear is that it would spark parent or other IP lawsuits. Admitting you based your successful game on someone else's ideas may make the other person's lawyers think they deserve a share of your profit.
I think a lot of IP law is hostile to that sort of free flow of ideas.
Honestly, it's fair game. I don't expect every studio to have the source code handy and someone who knows how to build and modify the game anymore. If the crack does the job, I can empathize.
Inversely, it's not like the crack was made just out of educational curiosity. At one point it might have hurt sales... now somehow it helps.
Not like the group would have a moral high ground to claim their copyright was violated. Though the idea is fun.
I see. That's probably true; I'm not up to date on that stuff. Still, in this particular case, I can't blame any company for protecting their IP. It's a freely distributed clone of one of their games, after all. Even if they are not making money out of it they are hurting their business.
This. It happened with Dungeon/Zork. Tons of people it's ilegally slapping it a bad public domain/or even a stapled GPLv2 license on custom forks where Dungeon it's non commercial only until Lars Brinkoff and the rest of Zork creators from MIT approve it. (they're close).
I'm not following your logic. Game companies copy other successful games all the time. Why would using their engine make it more vulnerable? They don't own your game nor gain access to your code.
So, firstly IP rights may not be your only encumbrances, NDA's can be even more restrictive, since leaking information about a library may be covered, for instance.
Additionally, the IP of the game code itself may be encumbered, for instance with publisher agreements, or if your code is derivative, source for instance may still be considered partially derived from id code, which zenimax, or maybe some other party may own, and getting those rights may be difficult, (even if some large percentage may be released in the GPL'd id codebases) And if your core engine is IP encumbered, that may not be something you could "just release without"
So then someone is going to have to actually do the work of separating out all the third-party libraries, which may not be trivial depending on how many, and how well separated they are.
Then at any reasonably risk-averse company, somebody is going to have to do an audit, which could be a lot of work.
And then we might not just have other people's files to remove, while it may not be an copyright violation to reference API calls of a copyright work (I'm honestly not sure) It sure could be an NDA violation depending on the NDA. Not to mention code that may be derived from library samples. So you either have to cut out all of that code, or rework it to just not be in violation.
And lastly, most companies care enough about their reputation to not want to just dump a large pile of broken code in the wild (Maybe it'd be better if they would) but want to make sure it builds and runs. So once you've removed all those other bits, it may be a lot of work to just get everything building, or running again. And not to mention that asides from just IP issues, a lot of the build system may depend on local infrastructure, perhaps connecting to local databases, or cache servers, so you will want to make it work without that, and we also have to ensure no secrets are accidentally being divulged (maybe signing keys, or credentials to servers)
As I understand it, Valve licenses Havok, which they possibly use for any and all collision (or maybe just rigid-body stuff, who knows) and if so, even if you get the game running you may fall through the world, or perhaps not be able to move at all, which is hardly the TF2 we all want open-sourced. And that's just one possible library, maybe they use RAD Granny to do animation, etc.
Or if you want to allow people to buy the licenses to compile it, you still have to do almost all of the above, then setup the infrastructure to download the correct version, and set it up for builds, and that only works if they didn't make any internal modifications, or maybe they can setup a patch file that doesn't violate any copyrights, but that's also work. And that also implies that the company the libraries are licensed from still exists and is still selling, and still offers the old versions the game is built with. And now you have to release the engine under a license that's compatible with the third-party licenses, which given the precedent of using GPL that adds some extra complications.
So, yeah, there is a good chance it's possible but there is a varying amount of work, which is most likely at least a lot.
As for libraries that exist in that area, of the top of my head some examples:
* Havok/PhysX, physics library
* FMod/WWise, audio libraries
* Natural Motion, animation libraries
* Everything that RAD Game Tools offers, including audio/video codecs, compressors, animation libraries.
* Scaleform, animation libraries
* SpeedTree, tree modelling libraries
* Enlighten, lighting (global illumination) libraries
* Platform specific libraries
* NDA encumbered IHV libraries
Keep in mind, some of these are expensive, but some are more dependent on a corporate relationship, which is not the sort of thing that frequently offers a student or noncommercial version.
reply