[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] LGPL and the PGU Library



On Sat, 2005-09-10 at 23:00 -0400, Kris Schnee wrote:
> I've been looking at the PGU Library for Pygame, and I don't understand 
> the Limited/Lesser General Public License it comes with.
> 
> If I use Py2Exe to build an executable that uses Pygame and PGU (but 
> doesn't change either library itself), can I distribute it without 
> giving away my source code? Can I charge for the program?

The point of the LGPL license is that you can use an open source library
inside closed source projects. It sounds like the specifics that are
hanging you up is that the LGPL library must not be statically linked to
the binary executable. Since you are using Python, this is not really a
problem, since python modules aren't really statically combined. 

The point of this restriction is so people can replace the Pygame and
PGU that come with your game with their own versions (perhaps if years
from now people want an update but you are not releasing new versions of
the game.) The py2exe executable does internally bundle the Pygame and
PGU files, but the executable is only an auto-running ZIP file, so
anyone can extract and swap the SDL, Pygame, and PGU libraries. Note
that this whole binary bundling thing may be part of the "grey area" of
the LGPL, but I do not believe it breaks the intent of the license.

The other problem people have mentioned is that the newer versions of
Python require a MSVC71.DLL. This is a Microsoft file that I do not
believe can ship with your game. Sadly the hardest part about
distributing games on windows comes from Microsoft themselves. (Built by
morons, for morons)

There has already been at least one closed-source shareware project
released with Pygame. (The game, Basegolf went on as a finalist in the
Independant Game Developer Awards). The SDL libraries that Pygame uses
are also LGPL and used by almost every closed source game project for
Linux. Again, this is the whole point of using the LGPL license over the
regular GPL, so people can release binary programs that use those
libraries. 

Do be aware the the LGPL license does come with some restrictions. 


Base Golf on the show floor. (Pygame's biggest showing?)
http://www.gamedev.net/columns/events/gdc2003/pics/altius.JPG
http://www.avault.com/pcrl/demo_temp.asp?game=basegolf