This is the mail archive of the
pthreads-win32@sources.redhat.com
mailing list for the pthreas-win32 project.
Re: LGPL and a proprietary application
Hi,
Just to reinforce what Vinaya and Hugues have already said and hopefully
not muddy the water too much ...
First of all, see the pthreads-win32-specific file named 'COPYING' in
the distribution, and specifically the last section. It states the
objectives of the project, which includes use with commercial and/or
proprietry code, and the reasons for choosing the LGPL over the GPL.
It may be a gross simplification (see the disclaimer at the end of this
message) but, if you can answer the following question and also act on
it when you distribute your application, then I would say you're
complying with the essentials of the LGPL.
The question is ...
What does your customer need in order to continue to use your
application if they want to use a version of pthreads-win32 that is
different, perhaps a later version, from the one that you provide, even
after you've stopped supporting your application, or have gone out of
business?
As Vinaya has pointed out, the simplest case is if your application is
dynamically linked with the mailine pthreads-win32 version. Then you
only need to tell your customers where they can get the mainline version
and display the pthreads-win32 copyright notice along with yours.
The worst case is if your application is statically linked, possibly
with modifications to pthreads-win32. Then you need to provide
everything that your customer may need in order to build pthreads-win32
from source code, including any modifications that aren't adopted by the
mainline pthreads-win32, and then link it with your application. At the
least they need your .o file/s, and your modifications have to be
released under the LGPL.
Re the inclusion of the header files, there are macros in the headers
that will generate code that becomes part of your proprietry object
files. I don't think anyone would suggest that this renders your code a
derivative work according to the LGPL provided it's intended to allow
your code work with the pthreads-win32 library.
I think section 5 is where the LGPL starts to get confusing. For example ...
"However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables."
Where this says "the executable is therefore covered by this License",
this doesn't mean that your code must be given away as LGPLed code.
Section 6 is just a more complete statement of the question posed for
you above.
If you make modifications to pthreads-win32 itself then you must make
them redistibutable under the LGPL. The easiest way to do that is to
offer them back to the pthreads-win32 project maintainers, where the
chances are they will be adopted. You must at least give your customers
access to the modifications if they want it. The LGPL allows you to
charge a fee to cover the costs of providing that access.
Hope that helps.
Disclaimer: the LGPL is the sole license document and no other opinion
or interpretation, including those contained here, will override the
terms set out in the LGPL.
Regards.
Ross
Vinaya Kumar T wrote:
Hello Jay,
ru linking to this LGPL library statically or dynamically...??
if statically linked ,then u should make only that of the ur src code
open ,so that , changes in LGPL can
be done effectively.
On other hand ,if it dynamically linked,then u don't have to worry
about ur src code to be made open.
hope this helps
vinaya
Turner, Jay wrote:
In reading the LGPL for pthreads-win32 I find I am confused. My
application is company proprietary and one reading says that an
application that "uses the library" does not itself fall under the
LGPL. Another reading says that it does (mainly because it uses
pthread.h and semaphore.h).
Can I link to pthreads-win32 in my application without the license
requiring that I provide my source or object code to my customers?
Is there anything that my legal department would accept that would
confirm this?
Thanks, Jay