Scrolling Game Development Kit 2 Project Listing Logo

SGDK2 is distributed under the terms of the GPL, which has implications for projects created using the source code delivered with SGDK2.  The GPL requires that modified code be made available.  Since projects created with SGDK2 are likely to contain modified code covered by the GPL license, this may require that your projects also be ditributed under the terms of the GPL license.  Read more for my thoughts on this.

As I review the SGDK2 package, I realize that the license is not being distributed with the install, so I am reviewing the license compliance of SGDK2 and projects created with it in general.  It occurs to me that the standard GPL may be incompatible with my plan to host closed-source projects on this site.  If memory serves, the GPL states that any code covered by the GPL must remain available, and if it is modified, the modifications must be made available.  Since some of this code is compiled into SGDK2 projects, that means the project must also make its code available.  For projects that don't modify any code that's all fine and dandy because the original code is already openly available.  But the nature of SGDK2 encourages users to modify the source code wrapped into their project to suit their project's needs.  Once they've done that, the GPL would seem to suggest that these modifications must be made available if the project is distributed.  Actually, even if no source code is modified, I believe the GPL would require that all the sprite and plan rules be exposed because the project contains GPL'd code and so all source code in the project must be covered by the same license.  Plan rules and sprite rules would fall under the category of "source code".

If anyone has a different reading of the GPL with respect to SGDK2, let me know.   As I consider the implications of this, however, I think it is appropriate, and I'm inclined to proceed using the GPL for SGDK2. If I'm going to host games on this site I want to make sure they aren't coded to do bad things to the system like write files in unrelated directories or transmit data from unrelated files over a network.  So I will want the source code for every project that I host.  And if SGDK2-based games are distributed outside this site (or rather outside my knowledge), I think it's fair that the project be required to conform to the GPL, and also release its source code.

But I am still willing to make occasional exceptions in cases where an author has put a lot of effort into a game and wants to keep their secrets safely wrapped in a closed-source project.  So if someone submits to me a project with a request that it only be released as a binary, I will review it with a few considerations in mind: 1) Does the project behave well (don't access unauthorized data/folders on the user's system, for example); 2) Is the game worthy of special attention for being released as a closed source project (has a lot of effort been put into it making it worthy of protecting the author's work and game secrets); 3) has adequate credit been given to those who have contributed to the project (does it expose the fact that it was created with SGDK2, and list people whose graphics/music have been included).  If these concerns are adequately addressed, I will post a binary version of the project in the appropriate category of the project listing so people will only be able to download a compiled version of the project, and not distribute the source code.

But, you may ask, doesn't this violate the GPL?  Yes it does, but because I am the author of the code covered by the GPL (hopefully the project has not included any external GPL code) I have complete rights to distribute it however I like.  So I can make a different arrangement with a project author to distribute a project under different terms.  My code is released under the GPL, but I can also re-release it under the terms of a different license, and am willing to do so for projects that warrant it.

Still, I encourage open source, but I just want everyone to know that if you have concerns about protecting your work and your game's secrets before investing a lot of effort into a project, I'm willing to make exceptions.