Disclaimer: Copied from Reddit
So you deobfuscated unturned. Great. This is extremely useful. Now, anyone can look at the games’ internals to figure out how it works. People can find exploits, bugs, and things to be improved. Great, now how do we go about getting them fixed? Well, if unturned was open-source, people could simply fix it themselves, and make a pull request for their change to be adopted into unturned. Why is this necessary? Nelson is one person, the community of people capable of doing this, however, is dozens large. Together, we can accomplish more than Nelson can do alone. So what consequences are involved? None that I can tell. People exploiting the game already have the potential to harm it, and keeping the game closed source but deobfuscated prevents people legitimately trying to help from being able to do so.
Trojaner’s expansion:
I’m Trojaner, developer of many popular Unturned plugins such as vault, regions, etc.
Every good Unturned Plugin developer knows the source code of Unturned. Just open any decompiler and you get it. Of course this is semi-legal but Nelson is actually allowing this (although not officially). But we don’t just want to see the code, we also want to contribute. Plugins are very limited these days, as they can not change client side behavior. Modules were going to change that but they also have other limitations, like no BattlEye, manual download, etc…
Nelson has issues with licensing, because Unturned uses proprietary code (assets from asset store like Highlighter for example), which he is not allowed to make open source. We would never be able to get a compile-able version of Unturned because of that, and some open source licenses like GPL (especially FOSS licenses) are not compatible with proprietary code.
My suggestion is this: firstly Nelson should not make anything “open source”. Because open source means he owns all rights / code and allows anyone to copy and use his code how they want it. No, instead he can make the code “public” and force a CLA on each pull request, to transfer ownership of code to himself. Instead of using a open source license, he can make source code public but still proprietary. See Space Engineers example below. Any third party code can remain closed source. He should also only publish the “code part” of the project, no assets (like textures, models), shaders, settings file, resources etc.
Games can have public source code while remaining proprietary: GitHub - KeenSoftwareHouse/SpaceEngineers. Space Engineers has an EULA for using the source code: SpaceEngineers/EULA.txt at master · KeenSoftwareHouse/SpaceEngineers · GitHub It basically restricts usage to “educational purposes” and “contribution”.