This is a continuation of my earlier message in regards to a suggested
license change of SDL to a license similar to the wxWindows
(www.wxwindows.org) form of LGPL.
First of all, I apologize for misspelling LGPL in my earlier post and would
like to clarify the distinction between a BSD style license and an LGPL
license with a static object code / embedded use exception. The significant
difference here is that the end developer is still bound by the LGPL. Unlike
BSD, this means that: the end user must still acknowledge using SDL and offer
the SDL source used to compile the software.
Furthermore, I would like to point out that a static linkage exception for
SDL would not stifle the development of SDL, it may in fact prove to have the
opposite effect. There are several good open source game development packages
that currently allow static linkage. These include: CDX (www.cdxlib.com) and
Allegro (http://www.talula.demon.co.uk/allegro/). Both of these game SDKs
have a healthy user group and an excellent set of 3rd party open source
extensions. I personally have written extensions for CDX. I have not
however, and do not intend to produce addons to SDL under its current
licensing agreement. I may be alone in this mindset, but I do not believe so.
I respect the argument that was made for allowing the end user to
reconfigure or update the SDL portion of an application for updated system
compatibility, but the risk I pointed out may be too great. By including 3rd
party data into your system / game, the developer assumes certain
responsibilities to protect that data from all but the most dedicated of
hackers. By choosing to link a program with an SDL open source DLL, the
developer has provided a rather obvious back door to otherwise protected 3rd
party data. Furthermore any court ruling in this matter may not favor the
developer because they chose to use an open source library. The keyword here,
being: chose.
This is not the same as choosing to link with a DirectX dll for instance,
because DirectX cannot be easily recompiled by the end user. The courts would
have to rule wether the developer has taken reasonable encryption precautions
and I think the answer would clearly be: no. The SDL backend is rather
obvious. Any programmer could defeat any encryption the developer offered in
little more than a couple hours. While DirectX / DirectSound hacks exist,
they are certainly less obvious and enough large scale developers use DirectX
that any claims of this sort would likely be thrown out of court. As it was
pointed out, a small developer’s primary interest is providing as few
opportunities to be sued as possible as legal defenses are somewhat
unreasonable.
With the exception of Loki, few commercial game developers bother to
develop for Linux and other “alternative” OSes. SDL provides an opportunuty
to radically change this, but only if it becomes as easy or easier to use as
DirectX without the dynamic linkage issues. As the licensing currently
stands, SDL isn’t worth the time of most large developers. I do not expect
that this issue will be resolved anytime soon but it at least needs to be
addressed. In the mean time, I will continue to develop with CDX and
Allegro. Thankyou for your input.