First of all, I must apologize for the length of my message
and the trivial questions I’m going to ask. I am sure
you’ll be tolerant as you will clearly notice I’m an
absolute newbie to the GNU/Linux/Free SW/Open SW
not for talk of the SDL!
Reading the excellent “Programming Linux Games” by
John Hall with the interest not of programming games
( an amazing task, anyhow ) but wanting to learn
about graphics and sound linux programming for
my little scientific programs I thought SDL seemed
to fit for me. Yesterday I finally tried it, and found
it with a little tries as powerful and easy to use
as I had thought.
Anyhow, there are some things that confuse me,
specially regarding to the license terms. I’ve
entirely read the LGPL text several times but
I find its text more suitable for lawyers
that for scientifics, technicians or programmers,
so every time I read it I understand less
I understand this question would be less OT
in a newsgroup related to GNU and/or LGPL
but I shall refer to some words of Sam Lantinga
and I think the best place to ask my exact
doubts is here.
I must write a little program that calculates
some bodies movement using differential
equations numerical methods. I’d like
to show the movements in screen rather
than showing a horrible huge list
of numbers in rows. I find SDL is the
tool I need. The program is to be given
to a university teacher as an academic task.
I don’t think he will show it to anybody
else and probably in two weeks my program
will rest forever in a dark case where nobody
else will never look at it anymore, but I want
to be strictly compliant with the terms of
the SDL license, recognizing the nice work
of Sam Lantinga and the rest of the people
who have helped the project.
My confusion starts here:
Simple DirectMedia Layer - License says:
To comply with this license, you must
(…)
You must also do one of the following:
- Include the source code for the version of SDL that you link with,
as well as the full source or object code to your application so that
the
user can relink your application,
or
(…)
The most common way to comply with the license is to dynamically link
with SDL, and then include the SDL source code and appropriate notices
with your application.
I use a RH Linux 7.2 distro, that installs by default SDL-1-2-0, or 1-2-2,
I can’t remember now. I tried to compile my programs as my RH system
was originally installed but I found bash didn’t recognize sdl-config.
I downloaded SDL-devel-1.2.5-1.i386.rpm
http://www.libsdl.org/release/SDL-devel-1.2.5-1.i386.rpm and installed
it and
everything worked. In order to have a 1.2.5 complete version I downloaded
SDL-1.2.5-1.src.rpm http://www.libsdl.org/release/SDL-1.2.5-1.src.rpm
and SDL-1.2.5-1.i386.rpm
http://www.libsdl.org/release/SDL-1.2.5-1.i386.rpm too and made rpm -U
with all of them. Anyhow, the src.rpm seemed only to expand
to a tar.gz file and a spec file ( I don’t know what the role of the
spec is). Finally, I extract the tar.gz and installed it with
./configure; make; make install. I’m not sure of the order I
did it all but I think all I have now is the 1.2.5 version and
I no longer have any 1.2.2 components.
I’m confused, I was saying, about the assert saying “The most
common way to comply with the license is to dynamically link
with SDL…”. I want to give my teacher a self-complete application,
that won’t need a dinamic linking with all its associated problems,
I’d like to give him an executable with the needed functions
compiled statically AND WITH ALL THE SOURCE CODE
of my little program. I think Sam Lantinga words refer to
the programs that don’t offer its source code, and that that
is the point I don’t understand, is that right?
On the other hand, I’d like to know if including the
SDL-1.2.5.tar.gz file is enough and it includes all
of the source code needed to create the run-time
libraries AND THE DEVELOPMENT LIBRARIES.
I would have tried myself, but rpm warned me
that if I uninstalled the SDL-devel-1.2.5-1.i386.rpm
http://www.libsdl.org/release/SDL-devel-1.2.5-1.i386.rpm
and the SDL-1.2.5-1.i386.rpm
http://www.libsdl.org/release/SDL-1.2.5-1.i386.rpm packages my system
would turn unstable, so I didn’t do it as I’m not
an expert user ( is clear! ) and these days I have
no time to “repair” my system of great mistakes
or reinstall it.
Summing up: if I save on a cd-rom my program,
with an executable linked statically with the
SDL, a clear notice saying I’ve used SDL,
a copy of the LGPL license, the SDL-1.2.5.tar.gz
http://www.libsdl.org/release/SDL-1.2.5.tar.gz
file AND MY PROGRAM COMPLETE SOURCE
CODE, am I violating the license in any way?
The answer will be important for me as I want
to begin a more serious academic project in
March, maybe in June, and I like to use SDL
in that project too. My doubts, if not resolved
will make me to decide to use proprietary
software, as TODAY I’M finding it legally
safer as the terms of its licences are more
clear and understandable for me, and I’m more
accostumed to them, but I am enjoying very
much the SDL and I like the spirit
of free software and want to contribute to
it and its development,
Thank you again to all of you and I apologize
once more on the length of my message, my OTs
AND ON MY HORRIBLE ENGLISH
Sergio Gayol
University of Oviedo student
Northern Spain
Embedded Use:
Personally, I don’t have a problem with anybody statically linking
SDL for use with embedded environments
that don’t already have an open development environment. (i.e. the
users can’t relink programs anyway)
However, this does technically violate the LGPL, so be cautioned.
P.S.: In this paragraph I’ve understood even less