I think the point here is being missed. From a legal stance, almost all
instances of dynamic linking could be argued a as "fair usage", in a court
of law. Consider something like, the zlibc-0.9e, distributed on ftp.gnu.org
and containing the GPL copyright (not the LGPL as I would think is more appropriate).
That utility works is indescriminately overloading the "open()" function for all
applications on a person's computer. It doesn't descriminate by license. If
I have a program on the machine that has a copyright like:
/* This is Bill's program. You may not modify this in ANY way what
so ever. You may not view the source, run strace, or any attempt at
reverse engineering, because this is mine, all mine, and nobody elses.*/
It will just as happily, and siglently overload the open() function in that
program as any other. It would be hard pressed to say that is even morally
wrong, because presumably the program links to libc.so, which is distributed
under LGPL. Consiquently, there is nothing prohibiting someone from replacing
the open() function in that library. All the LD_PRELOAD trick is doing is allowing
the user to do so without the inconvience of rewritting the libc.so library.
Now consider a program that physically does a dlopen() to load a particular
symbol... Presumably someone could just as easily put that dlopen() in a
separate file that was LGPL'd. Unless we start saying LGPL code can't call
GPL code, in which case we'll have to scrap the Linux kernel, there is really
little to stand on from a legal stand point in saying it is illegal to do
so.
The real question is when is it moral to do so? Presumably someone with a
couple of weeks on there hands, could go through every single GPL library
and utility, and make an LGPL interphase, that in most cases would have
almost the same efficency.... Would that person be viewed as a hero for
releasing the software from a more restrictive copyright, or a villian
for robbing the free software community from some of it's exclusive
property?
I think the point here is being missed. From a legal stance, almost all
/* This is Bill's program. You may not modify this in ANY way what
instances of dynamic linking could be argued a as "fair usage", in a court
of law. Consider something like, the zlibc-0.9e, distributed on ftp.gnu.org
and containing the GPL copyright (not the LGPL as I would think is more appropriate).
That utility works is indescriminately overloading the "open()" function for all
applications on a person's computer. It doesn't descriminate by license. If
I have a program on the machine that has a copyright like:
so ever. You may not view the source, run strace, or any attempt at
reverse engineering, because this is mine, all mine, and nobody elses.*/
It will just as happily, and siglently overload the open() function in that
program as any other. It would be hard pressed to say that is even morally
wrong, because presumably the program links to libc.so, which is distributed
under LGPL. Consiquently, there is nothing prohibiting someone from replacing
the open() function in that library. All the LD_PRELOAD trick is doing is allowing
the user to do so without the inconvience of rewritting the libc.so library.
Now consider a program that physically does a dlopen() to load a particular
symbol... Presumably someone could just as easily put that dlopen() in a
separate file that was LGPL'd. Unless we start saying LGPL code can't call
GPL code, in which case we'll have to scrap the Linux kernel, there is really
little to stand on from a legal stand point in saying it is illegal to do
so.
The real question is when is it moral to do so? Presumably someone with a
couple of weeks on there hands, could go through every single GPL library
and utility, and make an LGPL interphase, that in most cases would have
almost the same efficency.... Would that person be viewed as a hero for
releasing the software from a more restrictive copyright, or a villian
for robbing the free software community from some of it's exclusive
property?
Bill