Re: [gnupic] GPLed PIC USB package using SDCC, from Nuts & Volts
I still don't think that LGPL license is the optimal one for the sdcc libraries:
- The applicationprogram which uses the library is "work that uses the Library",
but the final binary produced by sdcc, statically linked and burned to the MCU
or EPROMs, is "work based on the Library".
LGPL says in chapter 5:
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.
BTW: this statement makes the discussion between Jesus Calvino-Fraga and Philipp
about using header files pointless since the next paragraph in LGLP is talking
about using the header files in "work that uses the Library", which doesn't apply
in our case.
- Now let take a look to the chapter 6. to see the actual requirements:
As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
Which means that you can distribute the binary under any license you
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License.
So the license must be supplied with the work.
Item a) requires that the source code of the library is available
and the source or object code of the application program which uses
the library must be available too!
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
This means that Makefiles or project files and utilities to produce a
binary must be included.
In short, in addition to the binary, which is usually burned into the silicon,
the delivery should include (or at least state where they are available):
- the license
- the source code of the library
- the source or object code of the application
- all tools needed to create the binary from the supplied source and/or object code
- maybe also a hardware tool to burn the binary to the silicon???
My opinion is that this requirements are too strict to be practically usable.
The classpath exception doesn't change the things much IMHO.
I'm more favorable to the BSD license, see http://www.opensource.org/licenses/bsd-license.php.
P.S.: I only expressed my understanding of the LGPL license, which might be wrong.
Sandeep Dutta wrote:
--Code generated by sdcc contains GPLed parts, thus the whole program
--would have to be under GPL.
This is my fault (I Think), when I was developing the libraries I guess
I did not read the differences between LGPL & GPL. I just copied the header
from the source files to the library sources. People who followed did the
I think current people with CVS access can safely change the Header on the
libraries to LGPL.
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo