SDL distribution and license

I’m going to distribute a game developed by myself that uses SDL 1.2. On Linux systems there is no issue; users would install the libraries as dependencies (and, most of the time, automatically). The problem is Windows. As far as I know the SDL 1.2 license (LGPL) doesn’t allow library redistribution or static link within an application, so my options are the following:

  • let the user install SDL by themselves: most of the time this will result in them throwing off the game in the dustbin;
  • ship SDL in the installer: if the license permits;
  • static link: seems to be prohibited;
  • switch to SDL 2.0: the zlib license seems to be very open, but I still pose the same questions;
  • switch to some native Windows library: I can’t even name one, and I don’t like Windows in general, so it’s very unlikely;
  • delete c:\ and install linux while the user is not watching: the best solution I can think of.

I still have to choose the license for my project, if it is of some importance in my question.

Thank you in advance.

I think the general accepted way is to bundle SDL.dll with your installer -
that shouldn’t pose any issues with LGPL.On Thu, May 8, 2014 at 6:06 PM, k5748 wrote:

I’m going to distribute a game developed by myself that uses SDL 1.2. On
Linux systems there is no issue; users would install the libraries as
dependencies (and, most of the time, automatically). The problem is
Windows. As far as I know the SDL 1.2 license (LGPL) doesn’t allow library
redistribution or static link within an application, so my options are the
following:

  • let the user install SDL by themselves: most of the time this will
    result in them throwing off the game in the dustbin;
  • ship SDL in the installer: if the license permits;
  • static link: seems to be prohibited;
  • switch to SDL 2.0: the zlib license seems to be very open, but I still
    pose the same questions;
  • switch to some native Windows library: I can’t even name one, and I
    don’t like Windows in general, so it’s very unlikely;
  • delete c:\ and install linux while the user is not watching: the best
    solution I can think of.

I still have to choose the license for my project, if it is of some
importance in my question.

Thank you in advance.


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

  • let the user install SDL by themselves: most of the time this will
    result in them throwing off the game in the dustbin;
  • ship SDL in the installer: if the license permits;
  • static link: seems to be prohibited;
  • switch to SDL 2.0: the zlib license seems to be very open, but I still
    pose the same questions;
  • switch to some native Windows library: I can’t even name one, and I
    don’t like Windows in general, so it’s very unlikely;

I would encourage you to migrate to SDL2 in any case, the license is
just one good reason.

You cannot statically link SDL 1.2, unless you provide a way to let
users relink a different SDL build (usually this means your app is open
source, but you could do something zany like provide the object files so
the user can relink it…the LGPL is weird). SDL2 may be statically linked.

You can ship SDL 1.2 as a .dll with your game. This is okay with 1.2,
and what we encourage people to do, even with SDL2 which doesn’t require
it. I wouldn’t make the user install their own copy of it.

  • delete c:\ and install linux while the user is not watching: the best
    solution I can think of.

Still the best option. :slight_smile:

–ryan.