[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] RE:Re: [lwip] Should LwIP go (L)GPL ?
From: |
barryc |
Subject: |
[lwip-users] RE:Re: [lwip] Should LwIP go (L)GPL ? |
Date: |
Wed, 08 Jan 2003 23:48:17 -0000 |
>The LGPL also forces changes to be submitted,
>but allows code to be linked that is proprietary.
>So a company can use LwIP and still keep its
>applications secret that link with LwIP.
Almost, but not quite.
Under the LGPL, if you DYNAMICALLY link against the library, you may licence
your program's code as you see fit. However, if you STATICALLY link your code
to it, your entire program must be LGPL (or GPL).
Since I don't know of any embedded microcontrollers (eg: HC12, 8051, etc) that
you'd be willing to take the overhead hit of dynamically loading the library,
you wouldn't be able to use an LGPL LWIP on anything less robust than a
PalmPilot if you want to keep your application's source closed and prevent
reverse engineering.
To quote from section 5 of the LGPL:
#BEGIN QUOTE
A program that contains no derivative of any portion of the Library, but is
designed to work with the Library by being compiled or linked with it, is
called
a "work that uses the Library". Such a work, in isolation, is not a derivative
work of the Library, and therefore falls outside the scope of this License.
[SNIP ONE PARAGRAPH]
When a "work that uses the Library" uses material from a header file that is
part of the Library, the object code for the work may be a derivative work of
the Library even though the source code is not. Whether this is true is
especially significant if the work can be linked without the Library, or if the
work is itself a library. The threshold for this to be true is not precisely
defined by law.
#END QUOTE
This describes what you see when dynamically linking in a library at runtime.
Statically linking a library into your executable is covered by the paragraph I
cut out from what's above:
#BEGIN QUOTE
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.
#END QUOTE
[This message was sent through the lwip discussion list.]