> They gain almost nothing by having it closed source
That's not really true. As a strictly internal engine they gain the massive benefit that the only users are themselves. They don't have to make affordances or adjust for third party users. If they released it with no intention to play nice with the community then all they open themselves up to is criticism and bad press when they inevitably break third party users. To keep their nice internal workflows without more engineering effort would make the release a dump of the source tree and a "have fun" message pledging zero support.
Often in internal engines there are lots of workflows and tools that only work with access to the company's internal network. Things you can't make public. I work on (a different) internal AAA engine and our build system would not work without access to our internal network even if you had a dump of the entire source code. Do you rip that out or modify your internal workflows? Not so free to release it anymore.
> They don't have to make affordances or adjust for third party users. If they released it with no intention to play nice with the community then all they open themselves up to is criticism and bad press when they inevitably break third party users
I kinda get this but also don't get this. You can always open source something without giving any guarantees to third-party users about stability, feature requests, etc., no?
It would still be useful as just having the possibility to look into the code, and if someone want to build on top of it, then they know the context and have to accept the conditions.
But then what is the benefit to them? If the don't maintain the repo (benefit from bug fixes, features, security, etc) and it's free for people to build on, how does that make them money?
By having people make better mods/games that they then likely release on steam because it's very Source-friendly. Even for free games this drives more users to Steam and keeps existing users from leaving so it's a benefit for Valve.
Honestly, a source dump with a “have fun” message is pretty useful. Adding a bit of documentation and some technical notes on how and why things work the way the work is gold.
I haven’t spent _that_ much time reading the doom3 codebase, but when I go “I wonder how that should work,” it’s a decent place to look.
Having a base of useful code to read that’s better than anything you’ve written is always a good thing.
You're right. I was more thinking of "they gain almost nothing by protecting their copyright over the engine" as in having a competitive advantage using their engine as a secret sauce. Because Valve is barely in the game dev industry to begin with and makes most of their money from steam sales. But yes they would have to either support the engine or make the decision to not support it.
>when they inevitably break third party users.
Wouldn't versioned releases solve this issue? You can ship a new release every 3 years (lets say) and developers would expect things to break between versions which is the case for all engines.
That's not really true. As a strictly internal engine they gain the massive benefit that the only users are themselves. They don't have to make affordances or adjust for third party users. If they released it with no intention to play nice with the community then all they open themselves up to is criticism and bad press when they inevitably break third party users. To keep their nice internal workflows without more engineering effort would make the release a dump of the source tree and a "have fun" message pledging zero support.
Often in internal engines there are lots of workflows and tools that only work with access to the company's internal network. Things you can't make public. I work on (a different) internal AAA engine and our build system would not work without access to our internal network even if you had a dump of the entire source code. Do you rip that out or modify your internal workflows? Not so free to release it anymore.