[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Question about packaging a library.



On Sunday 22 May 2005 6:15 pm, Shachar Shemesh wrote:
> >You mean link a GPL program against a library that is non-free?!?!?!
> >
> >"Can I write free software that uses non-free libraries?
> >Your program won't be fully usable in a free environment. If your program
> >depends on a non-free library to do a certain job, it cannot do that job
> > in the Free World. If it depends on a non-free library to run at all, it
> > cannot be part of a free operating system such as GNU; it is entirely off
> > limits to the Free World."
> >http://www.gnu.org/licenses/gpl-faq.html#FSWithNFLibs
>
> That's not a legal reason. That's an ideological reason.

True.

> >The GPL does NOT permit you to link a GPL program with a non-free library
> > - one that doesn't permit the distribution of it's source code under the
> > terms of the GPL - which includes for commercial use. Your library
> > doesn't allow commercial use, so it cannot be used by a GPL program. Find
> > another licence or create the library from scratch.
>
> I'm sorry, but that is totally wrong. Are you claiming that rsyncrypto
> is illegal, because it is GPL and links with OpenSSL (which is BSD)?

Well, when we get into the absolute detail, an amended GPL is not "the GNU 
GPL" and although the exception is allowed, it does mean that the package is 
not under the GPL in the same way as any other package may be. 

But yes, there is provision to use the FMOD library IF the exception is used 
to modify the GPL itself. Sorry about leaving that out. My apologies.

I don't see that the program *as run* is free though - punx' code may be free 
but it won't run without the non-free library and the restriction on 
distributing it for commercial profit is irksome. Presumably, packages like 
this that are in non-free or contrib don't get distributed as part of any 
paid-for media.

> And if you claim this ridiculous claim, who is the offended party? 

If it was released without the exception, you agree (below) that anyone trying 
to modify and then distribute the modified code would be in a very awkward 
position. That is, releasing punx' code under the GPL - unaltered and with no 
exception - would make it almost unusable by subsequent developers, despite 
the source code for his portion being available.

I always look at the GPL from the standpoint of the next generation of 
developers. When, in some years hence, someone wants to use a package or 
library, if it depends on a non-free component then that component may be 
abandoned or unavailable by the time someone needs it. Having the full source 
code *now* is the only guarantee that the developers who follow you and I 
will be able to use the code we write.

The "offended party" would be our successors and they would have little option 
but to rewrite the offending library that we thought was so convenient / 
labour-saving.

I know others don't see things that way and these are ideological barriers 
rather than legal, but if free software is to be around for Debian 10, these 
are things that I feel are important.

The situation with the BSD licence is different because it's not about 
restricting access to the source code or preventing commercial use of code 
that uses the library - it's about advertising. The source code remains 
available so future development is secure. Plus there's a modified BSD 
licence that can be used for new code.

> You forgot the "I am not a layer" disclaimer. You really really should
> put one there, because it seems to my unprofessional opinion that your
> advice has no legal basis. 

layer? OK, I know what you mean, no I'm not a lawyer. Is anyone here?

> >Please understand your situation before releasing this - you have
> > contaminated the program with this library and either you replace that
> > library in it's entirety, or you use a different licence. As it is, this
> > is a non-free product, despite your claim to licence it under the GPL -
> > it is not free and not fully GPL compatible.
>
> Not entirely true. It is no less free than WinCVS or Mozilla for
> Windows. It cannot go into Debian main. It's a definite downside.

I'd still put this as "not fully GPL compatible" - in the sense that someone 
cannot modify it and distribute it like any other GPL program - there would 
be a special exception.

> However, please accept that some people apply less significance to the
> question of "purely free" than you do,

True.

> and don't give advice based on 
> legal situation as you would like it to be, rather than as it is.

I admit I left the bit about exceptions out; the perils of trying to keep 
things simple.
:-(

> Without the exception mentioned above, this would put everyone into the
> awkward situation where the code is GPL, but it cannot be compiled as
> distributed without yanking fmod out. This would definitely put
> potential users of the library in a tough spot, but does not make the
> code any less free.

His code, yes, but as we can tell, his code won't do anything without the 
library so it becomes almost a moot point. Someone could modify his code to 
use with an existing library, that's true.

> I'll also mention that I have my own doubt regarding how necessary this
> exception is. I documented them in the "COPYING" file for rsyncrypto, if
> you're interested.

You would agree that if OpenSSL wasn't actually open at all and like FMOD 
restricted access to the source code, that the situation would be wholly 
different?

I have no problem with BSD and OpenSSL - I have had problems where a copyright 
holder for a non-free program took the program off public access websites and 
asked for thousands of dollars per copy when he had included code contributed 
by other developers who had not been asked about the licence change. I'm 
touchy on such things now! I also work on a library released under the GPL 
rather than the LGPL to try to keep all code within the free software remit.

> http://sourceforge.net/projects/rsyncrypto, hope that the webcvs is back
> by the time you look

It is.

Rather than centring on derived works, isn't the problem that if you link to a 
library that the library becomes part of the program - not a derived work but 
an integral component?

"If modules are designed to run linked together in a shared address space, 
that almost surely means combining them into one program."

Isn't that what happens when we load a function in a shared library?

I don't want this to sound as if I'm disagreeing with your statement in the 
COPYING file. I'm just reflecting on what's in the GPL FAQ but that isn't set 
in stone either - it states clearly that this area is unresolved.

"What constitutes combining two parts into one program? This is a legal 
question, which ultimately judges will decide. "

-- 

Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgprbl60qMVPs.pgp
Description: PGP signature


Reply to: