Joe Tennies wrote:
I know you are thinking that this is just good programming practice (and
you’re correct), but the LGPL forces you to do this. This way currently
weak library can be “upgraded” to a stronger, more stable one later. If you
statically link ANY LGPL code into your code, you MUST make your project
open-sourced and in a license that is compatible with the LGPL (the GPL, for
instance). They were thinking about the rights of the user, not the
Ugh, good point. Anyone who has released work under LGPL (that is, programmers)
do really care for upgrades of the library code. They want everything, from
compiler sources to makefiles and helper scripts, to rebuild anything what
another programer might have changed, and have it available for evolution.
Now, the programmer is the copyright holder - he won’t sue you for making
a static link, also in the face of a) bugfixes can break programs who might
have expecting them - even providing the app in objectcode for static relink
does not help since the sources of the app are not available. b) some
platforms can not provide necessary ldso support.
However, I re-read section 6 of the LGPL, and it seems you’re right - it is
not the question if it is a good idea to relink the program, you must offer
a way to do it, whereby it is okay to provide the mere object-archive of
your application along with the (static-)LGPL-lib (and not the sources to
What I find interesting: IMHO, a case would be filed by the copyright holders,
not the users - may a user sue you for not being able to relink? Perhaps,
I don’t know but from being realistic - it won’t happen, atleast not before
the gpl has been enforced originally.
For the platforms we target here, it should be always possible to make
atleast a second version of the program to link to sdl.dll. And you noted
the exception of sdlmain.lib - where Sam has been aware of and made it PD.
Therefore, the discussion is really off-topic, and the license issue
does not exist for sdl. However this has made me aware of a problem that
could creep into one of my own projects where I do now know to possibly
put something as PD to make it work as a LGPL-programmers wants it to be.
– guido> […]
here, but it is actually not. As a rule of thumb: make sure that the
library/libmain code can compile (and run) without the non opensource
parts, so that this libcode can be placed seperately and as a whole
as opensource material. The buildprocess of an program that links this
libcode statically is simply okay, since the libcode itself is placed
seperately, it is completely opensource, and even other applications (than
the original) can reuse that libcode - the intention of public IP