SDL redistribution with custom game engine.

Started by
6 comments, last by allenv 11 years, 1 month ago

Hello all! And please forgive any cryptic nature that might be found in my topic title.

I'm developing a 2D/sprite-based game engine which I wish to license to other independent developers for a nominal fee. Beyond talking to a lawyer about the specifics, I'm wondering if you guys could give me some insight into the more immediate questions. I'm building my engine on the shoulders of some 2D giants, e.g., SDL. I'm also using zlib. I've read their licenses, and I understand when I release my engine to a developer (header files, dlls, documentation) I must also include a copy of the LGPL agreement and of course SDL and zlib dlls, libraries and header files, or at least the LGPL and links/resources the developer can use to obtain their own copy of the SDL and zlib development files themselves.

I'm wondering am I allowed to license this engine at all, as it is built upon SDL and zlib? Must I simply include the required license and accreditation, or is my new engine also bound by the LGPL? Will games made by my engine be required to be released non-commercially? I've read on SDL's list of games webpage that Amnesia: The Dark Descent was built with some code from SDL, so I do believe there is some merit in thinking commercial games are possible with SDL.

I'm exploring these questions now much after development, since development is almost complete.

Any links or resources alongside some good old fashioned responses would be enormously helpful. I always fear some reprisal from asking seeming "obvious" questions, but I knew gamedev would be the best place to get some straight answers without spending too much time.

Advertisement

Yes, you can sell it. The licences mean exactly what they say - for redistribution, you must include the licences and the ability to get the source code for the libraries and make it possible for the end user to compile their own versions if they wish. There are no restrictions on sale. Commerciality or non-commerciality don't come into it.

The point of LGPL is that it only applies to the specific library, as long as it is dynamically linked with your code. That is the difference between that and the GPL, which would apply to your code if you wished to redistribute it, however it was linked or used. Even then, you're still allowed to sell it. There's just little point since people are legally entitled to copy it.

Ahh great, thank you for the reply. I've read as well that simply sharing the link to the SDL website would suffice, the place where other developers can get the source code to SDL.

Just to clarify, note that commercial use is always allowed with any Free and Open Source licences - by definition. But the issues are more to do with using with software that is released under a non-Open licence (e.g., closed source).

Also have a look at http://www.gnu.org/licenses/gpl-faq.html .

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux

Yes, you can sell it. The licences mean exactly what they say - for redistribution, you must include the licences and the ability to get the source code for the libraries and make it possible for the end user to compile their own versions if they wish. There are no restrictions on sale. Commerciality or non-commerciality don't come into it.

The point of LGPL is that it only applies to the specific library, as long as it is dynamically linked with your code. That is the difference between that and the GPL, which would apply to your code if you wished to redistribute it, however it was linked or used. Even then, you're still allowed to sell it. There's just little point since people are legally entitled to copy it.

You could work around that issue by selling data rather than software, The GPL allows you to bundle GPL and proprietary software and data and use a proprietary installer to install both at the same time, You'd still have to compete with both free and proprietary clones using your engine in that case though but large parts of the game can be proprietary.

The biggest problem with using GPL licensed code in a game engine is not really on the commercialization side (unless you intend to sell game engines in which case it would be a big hurdle).

The big problem is the incredibly annoying restrictions on which third party libraries you can use (The only proprietary libraries you can link against with a GPL engine are system libraries (Win32/DirectX/OpenGL etc are fine, things like scaleform,speedtree,havok,etc is not)

and with LGPLv3/GPLv3, which platforms you can target. (iOS, consoles and other restricted platforms are out of the question with v3 of both LGPL and GPL and that pretty much kills those licenses not just for AAA studios but also for a fairly large portion of the indie developers (iOS is our most important target platform these days)) (Allthough some AAA developers do use LGPL licensed libraries for their Linux ports and in some cases GPL licensed software bundled with older PC games to get them running on modern systems)

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

The fact you mention LGPL means you're probably using SDL 1.2, because SDL2 switched to zlib. Just remarking. You can still try to see if you can get an exception though, I know several SDL 1.2 games on iOS got an exception so they weren't bound to the LGPL.

Don't pay much attention to "the hedgehog" in my nick, it's just because "Sik" was already taken =/ By the way, Sik is pronounced like seek, not like sick.

(iOS, consoles and other restricted platforms are out of the question with v3 of both LGPL and GPL and that pretty much kills those licenses not just for AAA studios but also for a fairly large portion of the indie developers

What was the change in v3 that made this become a problem? I remember there being an outcry at the time the new licence came out, but I don't remember the details.

The fact you mention LGPL means you're probably using SDL 1.2, because SDL2 switched to zlib. Just remarking. You can still try to see if you can get an exception though, I know several SDL 1.2 games on iOS got an exception so they weren't bound to the LGPL.

If I was a much greater programmer, I most likely would be using SDL2, but since it's still deep in development, I decided the solid 1.2 foundation for an engine was the way to go.

Thank you all for the insights, I definitely feel more confident with my intentions, but to dig a little deeper: Selling/licensing a game engine built on software which uses these LGPL and zlib licenses is where I'd find the real hurdles? Now that I've written it out, it seems to make a good deal of sense to me... Why should I benefit financially from the work of a set of lower-level software? Creating a game engine designed to be sold for others to develop with is going to be a big no no here?

This topic is closed to new replies.

Advertisement