They couldn't release the windows port of Doom either, as that had been done by Microsoft, and would therefore include Microsoft copyrighted code.
With Quake, Id did their own windows port, so it was possible to release the source code for winquake.
> The bad news: this code only compiles and runs on linux. We couldn't release the dos code because of a copyrighted sound library we used (wow, was that a mistake -- I write my own sound code now), and I honestly don't even know what happened to the port that microsoft did to windows.
> Still, the code is quite portable, and it should be straightforward to bring it up on just about any platform.
It seems like they just didn't have immediate access to the code for the Windows version. The DOS source code eventually leaked a couple years ago along with the code to the Mac port of Doom. https://archive.org/details/doom-mac-source
How does that follow? Normally copyright would transfer to the company paying for it.
But Microsoft essentially licensed the Doom source code and ported it themselves, it's not work-for-hire, so the copyright on any changes would default to Microsoft. Though, I'm really not sure if Microsoft paid anything for this licence, or if there even was a contract.
Nope, not true. Work by non employees is only work-for-hire if it falls into one of the qualifying categories and the contract explicitly says that it is work-for-hire.
Oddly enough, the project of "porting Doom to Windows" was started by Gabe Newell, who worked at Microsoft at the time,
- https://www.doomworld.com/idgames/historic/wdoom
- https://www.doomworld.com/idgames/historic/wdoom2
- https://virtuallyfun.com/2011/03/29/windoom-wing-win32s-on-w...
The implementations get compiled in based on whatever platform you’re compiling for using a bunch of #ifdef statements
In that case it’s just a matter of not including certain .h/.cpp files
reminds of the whole "opensourcing solaris" drama that Bryan Cantrill talked about in his speech at usenix some ten years ago.
i wonder if the culprit is i18n again, "lol"
Probably other stuff there but not sure off the top of my head.
And yeah too much effort to re-encode all the game audio most likely.
This just seems like a lazy excuse. Ok so some of the code can’t be released. Fine, what stops you from open sourcing the rest of it that isn’t licensed? The OS community will surely fill in The blanks.
I do think that the source code of source was leaked. Its just that valve has to themselves give the code of source. FLOSS community would really do it. Trust me.
Modders in general won't care though.
So they could probably do it, but it would be costly, while just releasing the TF2 code is basically free.
You’d think so, but some developers have a very adversarial relationship with abstractions, such as abstracting away platform-specific code behind a common interface. It happens more often than you’d think.
> And even if the developers were that crazy those calls need to be excluded when building for other platforms so can also be stripped form the source code in an automated fashion.
So they’re going to leave people code that either doesn’t compile or, if it does, doesn’t work? And what’s stripped out may have very important technical considerations that might only be known based on which function calls were yanked out.
I think that in general, potential open source developers would not care at all about that. Some code (that doesn't yet work) is better than no code. As someone else mentioned, a motivated open source group could probably easily fill in all the missing gaps within a month.
It's all legal risk with little commercial upside
https://github.com/id-Software/DOOM-3/blob/master/neo/render...
I remember that being somewhere in the neighborhood of 1 LOC to fix, and exactly where to change it was “common knowledge” the moment the source came out
On one hand, at one point we had CEO and CTO publicly stating in townhalls that they want us to be a technological forefront and looking for ways to showcase our capabilities. At the same time it was virtually impossible to open source even something as trivial as a string formatting library, because once you started talking to stakeholders about approval their POV was that it's part of a project that took X amount of employees Y amount of time and that equation is in millions, so that has to be really valuable.
hell, when I joined the frontend circus in 2013 I was flabbergasted that most people needed to install 3rd party library to perform "isEven(num)" operation
... not to mention that aforementioned library had at least 3 dependencies itself.
IdTech probably was only open sourced because Carmack pushed for it, but it helps that IdTech of that vintage was all in-house code exclusively targeting the PC. I think the only thing they had to cut out for legal reasons was the patented shadowing algorithm in Doom 3.