Sonic and Sega Retro Message Board: Question: Best way to open-source an engine to the community - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

Question: Best way to open-source an engine to the community

#16 User is offline null1024 

Posted 09 June 2017 - 05:32 PM

  • Posts: 160
  • Joined: 16-October 08
  • Gender:Male
  • Wiki edits:1

View PostTechokami, on 28 May 2017 - 09:56 AM, said:

Also, the main reason GPL works for Doom is that the engine and the game assets are separate. The Doom engine is released under the GPL, and any derivatives or modifications have to also be under a GPL license. HOWEVER, that's just for the engine that runs the game. The game assets - the stuff that makes the engine run Doom - are under a proprietary license, and you have to pay id Software to use it. You don't have to use the original asset files, you could make your own and run them with the engine; that's what FreeDOOM is doing.

Sonic fangames, however, tend to have the engine and the game assets intertwined together, generally due to the technology used in the community. (Fusion, Game Maker, etc. combine code and assets into a single blob.) As such, a GPL license can't work well here, because you can't partially open source it. You can't abstract out the game engine from the assets. And even then, if you did have an engine that was able to abstract everything, you'd still have to code in the behaviors of objects unique to your game: if you didn't want to give away how you did that awesome boss battle, you would have to have a scripting language implemented in the engine that read code from the asset files, which is a lot of overhead for a 2D platformer game, and making a scripting language and testing it can be a total pain in the ass.

For cases like this, licensing/linking exceptions are what you want. You can totally partially open source it, provided that you actually do make the proper exceptions (and remember that you can't un-GPL something once you've applied the GPL to it -- you (as the author) can absolutely make later versions proprietary again, but there's nothing you can do to stop someone redistributing older, GPL licensed versions of the code). Heck, you can make various parts ISC/BSD/MIT licensed, as long as the license is compatible with the GPL (and all those I listed except original BSD are, there are several examples of projects with parts GPL, parts other licenses, like FFmpeg). There's also absolutely nothing stopping you from licensing it more permissively later on if you decide that the GPL is too restrictive, although older modified releases would be still under the GPL.

Adding a scripting language is pretty standard and usually ends up with Lua being linked in because it's robust and relatively little effort (admittedly, still effort) to add.

Assets can be and are often totally combined into one big binary in GPL'd projects, assets aren't part of the code and can absolutely be differently licensed. As long as the assets are replaceable in your source tree, you're golden.
Look at Firefox's licensing for a fairly public detail of how that works, and why there are things like IceWeasel and the lot.
also, Doom's enemy logic is part of the GPL'd code, only the graphics+sound aren't -- if they cut it out and provided entry points to add your own enemy logic, they could have separately licensed it

The GPL takes no rights away from the author -- your code is your own. It just grants rights to other people, and ensures that others can't just use your sources without others being able to do the same to their modified versions.

All that being said, I kind of like using the ISC license -- it's short and sweet and you don't have to think too much about it.
It's extremely, extremely permissive and boils down to "do whatever you want, but keep my name on it," however. It's like the MIT/X11 license, but shorter.

#17 User is offline Overlord 

Posted 10 June 2017 - 01:06 PM

  • Substitute Meerkovo IT Chief
  • Posts: 16825
  • Joined: 12-January 03
  • Gender:Male
  • Location:Berkshire, England
  • Project:VGDB
  • Wiki edits:3,204
If you want short, there's always the WTFPL =P

        DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
                    Version 2, December 2004 

 Copyright (C) 2004 Sam Hocevar <[email protected]> 

 Everyone is permitted to copy and distribute verbatim or modified 
 copies of this license document, and changing it is allowed as long 
 as the name is changed. 

            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 

  0. You just DO WHAT THE FUCK YOU WANT TO.


  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users