Warren Young wrote:
Basile STARYNKEVITCH wrote:
However, I disagree with the argument that a GPL-ed library should be
dynamically. Licence terms are legal stuff, linking mode is technical
The law does not allow you to reinterpret a license in a way that is
technically convenient for you. The license's correct interpretation is
independent of your wishes. If it's inconvenient for you to obey the
license, you simply have no legal ability to use the software: standard
copyright applies, you don't own the copyright on this software, and so
you have no right to copy the software.
I certainly don't want to start a lawsuit and I am pretty certain that
the law to which I have to obey -I am a french citizen and my hosting
company is french- is not the same as the law that you have to obey
(since you are probably citizen of the USA. And not every human is a USA
citizen and have to obey to Bush's government :-) - my president is
Sarkozy [but he didn't got my voice]). The courts involved are
different. The Bern convention on copyright is common.
Back to the point. I was referring to the following imaginary scenario:
I am developping an opensource GPL software FooBark (I am assuming this
name is not used yet, please replace it by whatever is appropriate).
FooBark is a CGI application. It is linked with libmysqlpp.
At the exactly same moment, I put on the same site foobark.org (supposed
to be hosted in France or Europe, and I being a French citizen):
the full code source of FooBark as a foobark-0.1.tgz file, a source
code under GPL license as http://foobark.org/foobark-0.1.tgz
a demo of FooBark as http://foobark.org/foobark.cgi
as a binary
foobark.cgi which happens to be linked statically with libstdc++ and
libmysqlpp and libmysqlclient (and any others) dynamically with libc.so
libm.so libdl.so (because my hosting company don't provide anything
else). Notice that you won't even be able to observe that foobark.cgi is
statically linked (because in general you cannot access the binary of
any running cgi programs, like you cannot access the binary of your
Apache2 or PHP executable.).
Notice that I am distributing a source program and deploying at the same
time a binary of the exactly same program, which I have wrote and
release under GPL.
Notice that for libreadline, which is a GPL-ed library, there exists in
some Linux distributions, some static binaries linked to it (IIRC, some
versions of the rkiss shell shipped statically linked). I feel it is a
Please tell me which exact part of the GPL or LGPL licence(s) forbid my
example FooBark but allows statically linked binaries to libreadline
Again, I am definitely not talking about developping proprietery
software, but only about GPL licensed software. And notice that dynamic
linking is orthogonal to licensing. It could be concievable to produce
an entire linux distribution without any shared library or ld.so linker.
I don't see how that could hurt the GPL (or LGPL) license, which can
(and has probably been) used on systems (like SunOS3) which did not had
any shared libraries!
Are you saying that nobody could port MySQL++ to a static-library only
system like old SunOS3 and release the source in GPL or LGPL licence
together with the statically linked binaries?
Are you implying that non-shared linking systems cannot be developped in
Is there anything in GPL which forbids demoing a GPL-ed application on
the same site where the source code of this application is released?
Please reply by taking into account that I am exclusively thinking of
GPL (opensource, free software under GPL v2 licence) applications
(possibly using MySQL++). I am not talking about other kind of software
Recall that http://www.gnu.org/licenses/gpl.html
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted
Anyway, I won't use libmysqlpp. But with your reasoning, you might loose
some clients, committed to open-source.
I repeat: linking is a technical issue (as is running a program: I could
run a program on a chalk board). And I cannot imagine how can someone
violate the GPL (or is it LGPL, I don't care here!) license of mysqlpp
by publishing together the whole source of an application using it and
at the same time demo-ing it on the web.
I strongly insist that I am talking only about an hypothetical web CGI
application, licensed under GPL, which would have be distributed under
GPL and at the same time deployed as a static binary. And again, I
cannot understand how someone can know if a particular CGI is statically
linked, or dynamically linked, or running under an emulator or a C
interpreter, powered by pigeons, etc. The only thing you can measure on
the web is HTTP protocol exchanges!
I am explicitly not talking about running a GPL-ed application on a site
which does not at the same time publish the source form of it (under GPL
Again, all the above is my imagination only. I won't use libmysqlpp. So
don't threaten to sue me. It is irrelevant.