wareya wrote: ↑16 Sep 2018, 18:51
Unity is basically a very elaborate platform library or VM or whatever you want to pretend it is. Using it as a target doesn't make the project itself stop being FOSS.
But along that vein, is a FOSS project that requires a non-FOSS component to be complete, actually FOSS? The DFUnity code on its own is not an engine replacement, it doesn't do anything on its own without a specific "platform library" to function.
Put another way, can I take a working DFUnity executable, get the full source code needed to rebuild it, and treat the whole of the code as a FOSS project (change, redistribute, etc, as I see fit)? For OpenMW and the like, the answer is yes. Every component required in making an executable is FOSS. The fact that it can run on a non-FOSS platform is irrelevant; it can equally run on FOSS platforms, which are officially supported. This is not the case for DFUnity, which is designed for and only supported on Unity, which has proprietary restrictions. There is no officially supported way to use it that doesn't rely on proprietary code, as there is no Unity-compatible FOSS alternative.
It'd be like claiming Doom3 was open source upon release, because the game code (for controlling the game behavior and AI) was available and redistributable. The idTech4 engine was just a very elaborate (closed, proprietary) platform library, but the source code controlling the game was still available and could be ported to another (FOSS) engine if someone had the inclination. Of course such a claim would be silly... the available code isn't designed to be used elsewhere and nothing properly interfaces with it; the original proprietary engine/"platform library"/whatever was still necessary to make a complete executable for a functioning game, despite the state of the core game code.
EDIT:
wareya wrote: ↑16 Sep 2018, 22:43
Game maker is proprietary. Let's say someone makes a FOSS game maker clone that has some level of compatibility with games made for game maker. Do all those open source games made for game maker in the past suddenly become FOSS retroactively? What about just the compatible ones? No! They were FOSS the entire time! (PS: this is a
real example.)
I would take it a step further and say they still aren't fully FOSS until the individual projects officially support said clone, and do whatever work necessary to keep them working. Otherwise, using that logic you could just as easily claim Skyrim and Dishonored 2 are Linux games, because a Windows compatibility layer lets Windows games work on Linux. Doesn't matter that one of them might not actually run right now (Dishonored 2), or that the developers/publisher never guarantee they will work, but the entire time they weren't doing anything Linux couldn't do and were just missing a Linux compatibility layer.
When a FOSS clone layer comes up, the open source games made for the original proprietary version don't automatically become fully FOSS, either. They become fully FOSS at the point that the maintainers say the FOSS clone is a supported way to use it. If the maintainers want to say older versions made before the FOSS clone was released are officially supported, then yeah, those versions retroactively become FOSS. Similarly, a Windows game working in Wine or Proton in the future doesn't make it a Linux game; however, it would become a Linux game when a developer/publisher releases a working Wine-wrapped version and says it's officially supported.