Hi all,
please consider the following hypothetical scenario.
1. Software vendor V produces a proprietary program P. This program has some function which can be implemented by using an existing and excellent library L. Since this library is covered by the GNU GPL, V can not use L with his proprietary program P and distribute the whole unless he places the whole under the GPL as well.
2. Since the function which could be implemented using L is really needed, V programs a replacement R for L which he is free to distribute under any license he wishes.
3. Customer C gets P from V. He is unsatisfied by the quality of the replacement R and asks V if he can change P so that it uses the superior free library L. V walks over to C's place and changes P to use L instead of R. He does not change the proprietary license under which he provided P to C in the first place.
Now please consider this question:
Is V violating the terms of the GPL in step 3? Is it possible to say that he is _not redistributing_ a work including both code form L covered by the GPL and his own proprietary code and that he is _not violating_ the GPL since 2.b) of the GPL only aplies to distributing or publishing? Can V claim that he is only providing a service in altering P after he distributed it and that altering can not be called distribution?
It is my strong believe that answering the above questions with 'yes' is at least against the spirit of the GPL. But is it against it's words, too?
Regards Lutz
I don't know whether this is correct or not, but I like your reasoning :) However... who cares? If they go to all that trouble ... And would you risk it?
On Tue, 19 Jun 2001, you wrote:
Hi all,
please consider the following hypothetical scenario.
- Software vendor V produces a proprietary program P. This program has
some function which can be implemented by using an existing and excellent library L. Since this library is covered by the GNU GPL, V can not use L with his proprietary program P and distribute the whole unless he places the whole under the GPL as well.
- Since the function which could be implemented using L is really
needed, V programs a replacement R for L which he is free to distribute under any license he wishes.
- Customer C gets P from V. He is unsatisfied by the quality of the
replacement R and asks V if he can change P so that it uses the superior free library L. V walks over to C's place and changes P to use L instead of R. He does not change the proprietary license under which he provided P to C in the first place.
Now please consider this question:
Is V violating the terms of the GPL in step 3? Is it possible to say that he is _not redistributing_ a work including both code form L covered by the GPL and his own proprietary code and that he is _not violating_ the GPL since 2.b) of the GPL only aplies to distributing or publishing? Can V claim that he is only providing a service in altering P after he distributed it and that altering can not be called distribution?
It is my strong believe that answering the above questions with 'yes' is at least against the spirit of the GPL. But is it against it's words, too?
Regards Lutz -- Lutz Horn lh@lutz-horn.de For PGP information see header.
---------------------------------------- Content-Type: application/pgp-signature; name="unnamed" Content-Transfer-Encoding: 7bit Content-Description: ----------------------------------------
Hi John, hi all,
* John Tapsell tapselj0@cs.man.ac.uk [20010620 09:51 +0100]:
I don't know whether this is correct or not, but I like your reasoning :) However... who cares?
Well, I think we should care. The FSF(E) is _the_ entity to guard over the GNU GPL. It should actively try to prevent it's missues and speak out if missues occures.
If they go to all that trouble ...
Going through trouble wouldn't make it right. A big software vendor with enough ressources could try to use this kind of reasoning for his benefit and harm free software in doing so. But if it pays off to do this, if the advantage gained is bigger than the loss incured by the anger of the free software community, a firm /could/ decide in favour of this reasoning. Do we want that to happen?
And would you risk it?
Of course not. Luckily I'm not in the position to provide this kind of 'service'. But what if my boss decides that following this reasoning is worth the risk and he tells me do provide the service of linking the free library to the proprietary piece of software: what shall I do? I'd have to say no or try to argue against it.
Regards Lutz
On Wed, 20 Jun 2001, you wrote:
Hi John, hi all,
- John Tapsell tapselj0@cs.man.ac.uk [20010620 09:51 +0100]:
I don't know whether this is correct or not, but I like your reasoning :) However... who cares?
Well, I think we should care. The FSF(E) is _the_ entity to guard over the GNU GPL. It should actively try to prevent it's missues and speak out if missues occures.
The guardians :)
You made some good points.. But I don't think you can stop them. Example. I create a stub .dll which only has the function names, but no code. Then I distribute my program, with just about all the features disabled. And a text file saying "To enable all the features do NOT *cough cough wink wink* replace our dll with the gnu one (which we have included _only_ because we wanted to fill up disk space). If you do I will not be responsible, and have told u not to"
Then what?
If they go to all that trouble ...
Going through trouble wouldn't make it right. A big software vendor with enough ressources could try to use this kind of reasoning for his benefit and harm free software in doing so. But if it pays off to do this, if the advantage gained is bigger than the loss incured by the anger of the free software community, a firm /could/ decide in favour of this reasoning. Do we want that to happen?
And would you risk it?
Of course not. Luckily I'm not in the position to provide this kind of 'service'. But what if my boss decides that following this reasoning is worth the risk and he tells me do provide the service of linking the free library to the proprietary piece of software: what shall I do? I'd have to say no or try to argue against it.
Regards Lutz -- Lutz Horn lh@lutz-horn.de For PGP information see header.
---------------------------------------- Content-Type: application/pgp-signature; name="unnamed" Content-Transfer-Encoding: 7bit Content-Description: ----------------------------------------
On Wed, 20 Jun 2001, Lutz Horn wrote:
Going through trouble wouldn't make it right. A big software vendor with enough ressources could try to use this kind of reasoning for his benefit and harm free software in doing so. But if it pays off to do this, if the advantage gained is bigger than the loss incured by the anger of the free software community, a firm /could/ decide in favour of this reasoning. Do we want that to happen?
I think the issue is a bit clouded. The real loophole is about the scope of the GPL, which is normally defined to be the distribution of a program. Here's an interesting exercise:
EvilCompany wants to distribute a program that is based on gfoo, a GPLed application. EvilCompany does not want to release their changes under GPL. Let's say that their changes add an X11 interface. If EvilCompany distributes the modified program in binary form, the GPL is violated. But what if, instead, EvilCompany chose either of those options:
1) EvilCompany creates a separate program that displays the X11 interface and translates it into virtual keypresses to the original terminal interface. No GPL code is (re-)distributed, no GPL libraries are linked.
2) EvilCompany creates a binary patch to /usr/bin/gfoo that adds the extra functionality. No GPL code is (re-)distributed.
3) EvilCompany releases patches to the gfoo source under a closed license. No GPL code is distributed.
The common denominator: In all of those cases, the factual software that is distributed is entirely owned by EvilCompany. The "breaking" of the GPL is performed entirely by the user, who has this right unless if he/she redistributes the resulting binaries/sources.
Compare the way people were working on minix in the old days. Its license prohibited distributing modified sources, so all third party code was distributed as patches to the original minix source tree.
Cheers, Pi
Hi Lutz!
On Tue, Jun 19, 2001 at 09:28:30PM +0200, Lutz Horn wrote:
- Software vendor V produces a proprietary program P. This program has
some function which can be implemented by using an existing and excellent library L. Since this library is covered by the GNU GPL, V can not use L with his proprietary program P and distribute the whole unless he places the whole under the GPL as well.
As far as I remember, a library should be put under the LGPL and not the GPL. Because putting the lib under the GPL would restrict the freedom to use it, as you point out. Thus the LGPL was designed to allow such a use. Anyone knows more details? Anyone knows the statistics? How many libraries are under the LGPL compared to the GPL?
- Since the function which could be implemented using L is really
needed, V programs a replacement R for L which he is free to distribute under any license he wishes.
I would write a wrapper and place that one under the LGPL. Should be easier. Since the wrapper does not contain any valuable code, the company can release it under the LGPL without a thread to their business. Then it can link their own product against their LPGL'd wrapper lib. Would that work legally? The GPL'd lib is only accessed from the LGPL'd and not from the program itself.
- Customer C gets P from V. He is unsatisfied by the quality of the
replacement R and asks V if he can change P so that it uses the superior free library L. V walks over to C's place and changes P to use L instead of R. He does not change the proprietary license under which he provided P to C in the first place.
No need for this step with my proposal.
Is V violating the terms of the GPL in step 3? Is it possible to say that he is _not redistributing_ a work including both code form L covered by the GPL and his own proprietary code and that he is _not violating_ the GPL since 2.b) of the GPL only aplies to distributing or publishing? Can V claim that he is only providing a service in altering P after he distributed it and that altering can not be called distribution?
Well, he distributes the alteration. Which is in reality distributing a modified version of his program and thus the GPL should hold and disallow it. I think, there is no difference, if the program is modified at the creating company or from employees of the creating company at some customers place.
But I'm not a lawyer...
It is my strong believe that answering the above questions with 'yes' is at least against the spirit of the GPL. But is it against it's words, too?
Well, I would say, that it is already against the spirit of free software to publish a library under the GPL and not the LGPL. I think so, because you limit the freedom of usage of the library quite significantly. I would favor to publish it under the LGPL and kindly ask the commercial software house to mention the library as being part of their software. Like some startup notice: This software uses the xyz library from uvw, which is free software.
Bye, Marc _______________________________________________________________________________
email: marc@greenie.net email: m.a.eberhard@aston.ac.uk, web: http://www.aston.ac.uk/~eberhama/