4 ms·
You include several clones built on Unity. These are not open source.
by dmm 9y ago
You include several clones built on Unity. These are not open source.
- derefr 9y agoIs a game "not open source" if all the business-logic code and game assets are open-source, but it relies on a closed-source engine (that it doesn't ship with)? Doesn't seem much different to me to e.g. writing an open-source game that uses DirectX. DirectX is not, itself, open-source, but it's not really "part of" the game. The game just uses its API; and could equivalently use anything else with the same API (like the DirectX implementation in Wine.)
- throwaway2016a 9y agoA purist would say that an open source game should use OpenGL. But I generally agree. Unity is free to download so there is no monetary barrier to compiling these games. So it's not free from a GNU sense of the word but it is free money wise and the gameplay parts are open source.
- derefr 9y agoThat's not even so much what I meant. The "game" isn't the engine; and so the "game" is open source. You're free to modify and redistribute everything that constitutes the game. To play the game, you need the game engine, similar to how running a program requires a machine (real or virtual) with a compatible ISA. But there's nothing forcing you to use a closed-source implementation of the game engine. If an open-source implementation of the engine doesn't exist, you're always free to write one. Nobody ever says that a program being written for closed-source hardware necessarily implies that the program can't be open source. Because, of course, you can just write your own open VM for that same hardware. Saying that e.g. Gameboy Advance home-brew is all closed source, because the reference implementation of the hardware is closed source, is nonsensical. People are free to write, modify, and run GBA home-brew. Doing the last one just requires an emulator for most people, which is an everyday tool for programmers (given that many languages target abstract machines like the JVM or Erlang's BEAM, where the resulting bytecode ISA is only reified as an emulator.)
- rekado 9y ago> If an open-source implementation of the engine doesn't exist, you're always free to write one. This is a very strange interpretation. When a piece of software that is released under a free license has a crucial non-free dependency, it is effectively non-free. As the software only works with the non-free dependency, but that dependency cannot be conveyed along with the free part, the whole thing cannot legally be distributed and thus is non-free.
- pvg 9y agoThat would make all GPL-licensed Windows software non-free. Not even the FSF thinks that's the case.
- derefr 9y agoThe reason I take that view, is that the ability to use the software isn't actually a part of what makes software open source! As long as people have all the code, and can modify it, and can redistribute their modifications, the code is open-source... whether or not you can run it. Consider: there are also hardware platforms that have effectively ceased to exist over the years. If you wrote a program for one of these platforms, and it was open-source, would you now consider the program closed-source, because—given that the platform hardware doesn't exist any more—you can't run the software any more? No. Why not? Because open source is about the source, not about the binary. The source is a product in its own right, and valuable in its own right, whether or not it can be compiled into a working program.
- khedoros1 9y ago> Why not? Because open source is about the source, not about the binary. If you have the platform and the source, but you can't run the program, then I wouldn't consider it "open source". At least not in the usual sense of FOSS. It's not just about the source; it's about the freedom to study and modify the source, produce improved versions of the original binary, and distribute that binary and the source that created it. The division between game and platform is lower in the stack than the engine. > The source is a product in its own right, and valuable in its own right, whether or not it can be compiled into a working program. I agree with that statement, but it's a different argument than you were making before.
- zanny 9y agoThe trick is that since Unity itself is not permissively redistributable, the ability for the game to work depends on both Unity the corporation continuing to provide its proprietary part and to make it available under terms allowing games to be compiled with it. I would consider neither Unity nor Unreal capable of producing free software titles because there is no way to get the engine parts without some barrier. It may not be monetary, but you still need to agree to EULAs for both engines, despite the later being nicer since it also includes source access. An open source game does not, however, need to start from scratch (which saying OpenGL seems to imply). There are both legacy code bases like doom3 or free engines like Godot that let you build off them rather than reinventing all of the extremely complex and sizable code required to even start making a video game. It is just you cannot have open code that is then tied to a proprietary part unless that proprietary bit has liberal distribution rights (and I don't mean just the game lib you ship, you need to be able to recompile the project with changes which almost always means you need the game editor). I'm not aware of any proprietary engines that give away all the tooling under permissive terms that would fit that scenario, though.
- throwaway2016a 9y agoOpen source does not imply the definition of free as defined by GNU / the Free Software Foundation. I explicitly said it was not "free" in terms of the GNU definition. You are agreeing with me here. Also, I used OpenGL in my example because the parent post used DirectX. I also agree with you that they don't need to start from scratch, despite what you said, I did not imply they did. I was simply replying directly to the parent reference to DirectX.
- krapp 9y ago>Is a game "not open source" if all the business-logic code and game assets are open-source, but it relies on a closed-source engine (that it doesn't ship with)? Depending on a closed-source engine at all by definition makes the game not open source, when you consider "the game" from both a developer and user point of view.
- my_ghola 9y agoThis is (was?) called the Java Trap: https://www.gnu.org/philosophy/java-trap.html https://www.gnu.org/philosophy/java-trap.html If some of a program's dependencies are nonfree, this means that all or part of the program is unable to run in an entirely free system—it is unusable in the Free World. Sure, we could redistribute the program and have copies on our machines, but that's not much good if it won't run. That program is free software, but it is effectively shackled by its nonfree dependencies.