Yesterday, I complained about AndEngine’s documentation situation, so I thought this would be a fitting time to talk about this new issue.
Chingu is a Ruby based game creation framework, and is pretty awesome. Open source, just like AndEngine, and overall a great time, just like AndEngine. From a technical aspect, it’s really cool, and I love playing with the functionality built into it. That said, the main issue I have with Chingu is it’s licensing situation.
Chingu is built on Gosu, yet another cool but slightly lower level engine. Gosu is licensed under the MIT license, but Chingu uses the LGPL (Gnu Lesser General Public License). They are both commonly used open source licenses, especially for libraries like Gosu and Chingu. So what is the problem?
Let’s say you want to distribute a Gosu based game under a closed license. Just package the project up using OCRA, and release. Licensing is not much of a concern here because any derivative of a MIT licensed project does not have to be open source.
Now let’s take a look at what happens when you try to distribute a Chingu based game. Package using OCRA again, and we should be finished. Oh, but wait, LGPL states that while we can dynamically link the project, any changes to the project itself must be released under LGPL or GPL and that includes any situation where we statically link the library. If we try to dynamically link, our source is completely showing, and so it might as well be released under an open license. If we statically link, we HAVE to release the source to comply with Chingu’s LGPL license.