License question, also first question :)

Hello! I’ve been using SDL for some time now, but I subscribed to the
mailing list today.

My apologies if this question has been answered millions of times. SDL
and other useful libraries (SDL_image, SDL_mixer) are released under
LGPL. As I understand it, I can’t statically link my program to the
libraries unless my program is GPL. Is that correct?

My situation is this : although I am a supporter of open source (see
libz80.sourceforge.net or
http://www.tldp.org/HOWTO/Linmodem-HOWTO-5.html for example), in this
case I’m trying to make a small game and distributing it as shareware. I
can’t release the code. Being a small game, distributing the DLLs impose
a considerable overhead to the download size. I’m using only a subset of
SDL_mixer, for example I’m loading only ogg files, so all the .XM code
isn’t used. Statically linking would reduce the size of the download
since the unused object files won’t be linked. I have a similar
situation with SDL_image - I’m only loading .bmp, .jpeg and .png. (in
this case is worse, since I can’t statically link to zlib, libpng or
libjpeg either!)

Is there a way to do that? I’ve read somewhere that I can distribute my
object files, not my source files, and comply with the license.

Can somebody enlighten me in this topic?

Thanks a lot,
–Gabriel

Lic. Gabriel Gambetta
ARTech - GeneXus Development Team
ggambett at artech.com.uy

I’ve found the best solution to this is to distribute a statically
linked copy of your program and provide a special developers download
which is dynamically linked. Or to include the dynamically linked file
WITH the statically linked, but without any of the associated
libraries. Keeps it easy for people who want it easy, and provides a
toy for people who want to sub in new libraries.

If I remember correctly, this is how many of Loki’s games were released.On Wed, 2003-05-14 at 12:38, Gabriel Gambetta wrote:

Hello! I’ve been using SDL for some time now, but I subscribed to the
mailing list today.

My apologies if this question has been answered millions of times. SDL
and other useful libraries (SDL_image, SDL_mixer) are released under
LGPL. As I understand it, I can’t statically link my program to the
libraries unless my program is GPL. Is that correct?

My situation is this : although I am a supporter of open source (see
libz80.sourceforge.net or
Linmodem-HOWTO : Specific Chipsets and Their Drivers for example), in this
case I’m trying to make a small game and distributing it as shareware. I
can’t release the code. Being a small game, distributing the DLLs impose
a considerable overhead to the download size. I’m using only a subset of
SDL_mixer, for example I’m loading only ogg files, so all the .XM code
isn’t used. Statically linking would reduce the size of the download
since the unused object files won’t be linked. I have a similar
situation with SDL_image - I’m only loading .bmp, .jpeg and .png. (in
this case is worse, since I can’t statically link to zlib, libpng or
libjpeg either!)

Is there a way to do that? I’ve read somewhere that I can distribute my
object files, not my source files, and comply with the license.

Can somebody enlighten me in this topic?

Thanks a lot,
–Gabriel

Lic. Gabriel Gambetta
ARTech - GeneXus Development Team
ggambett at artech.com.uy


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl


Jimmy <@Jimmy>
Jimmy’s World.org
-------------- next part --------------
A non-text attachment was scrubbed…
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20030514/22d81717/attachment.pgp

“Gabriel Gambetta” wrote:

and other useful libraries (SDL_image, SDL_mixer) are released under
LGPL. As I understand it, I can’t statically link my program to the
libraries unless my program is GPL. Is that correct?

[…]

Is there a way to do that? I’ve read somewhere that I can distribute
my object files, not my source files, and comply with the license.

yes. you just have to give the user the chance to relink your binaries
with a newer version of the used LGPL libraries. thus you must
distribute at least the *.o files.

“Gabriel Gambetta” wrote:

and other useful libraries (SDL_image, SDL_mixer) are released under
LGPL. As I understand it, I can’t statically link my program to the
libraries unless my program is GPL. Is that correct?

[…]

Is there a way to do that? I’ve read somewhere that I can distribute
my object files, not my source files, and comply with the license.

yes. you just have to give the user the chance to relink your binaries
with a newer version of the used LGPL libraries. thus you must
distribute at least the *.o files.

Or, dynamically link with the LGPL libraries, in which case the end user
can just drop in a replacement.

See ya,
-Sam Lantinga, Software Engineer, Blizzard Entertainment