Timothy Miller wrote:
Yes, sorry, LGPL. I spent a bit of time reading the LGPL this evening.
Caveat here as needed: IANAL. The way I interpret is distributing an
FPGA bit file containing the above modules or an ASIC containing them
without also providing the source would fall afoul of section 6 of the
LPGL. This is mainly do to the nature of hardware vs software I think.
It is much harder to "re-link" hardware...
Providing the source to the module isn't a problem. But does the LGPL
require that one provide the source to the whole chip?
I just lost my original message due to a nearby lightning strike. So,
I'll try this again.
Here is section 6 of the LGPL (http://www.gnu.org/copyleft/lesser.html):
-----------------------------------------
*6.* 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.
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. Also, you must do one of these things:
* *a)* Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood that
the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
* *b)* Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
* *c)* Accompany the work with a written offer, valid for at least
three years, to give the same user the materials specified in
Subsection 6a, above, for a charge no more than the cost of
performing this distribution.
* *d)* If distribution of the work is made by offering access to
copy from a designated place, offer equivalent access to copy the
above specified materials from the same place.
* *e)* Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
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 the executable.
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 distribute.
-----------------------------------------
As I read you must either provide the source to the library under LGPL,
provide relinkable object files of the program using the library such
that the library can be updated and re-linked with the program, or
provide for dynamic linking such that the library is not actually part
of the program binary and can be replace at the users descression.
I don't think this is a big issue for the FPGA bit files as the will be
downloadable and the source can be provided for the LPGL parts on the
download site, complying with 6d. The problem I think comes with the
ASICs. Since you can really re-link an ASIC you cannot comply with
sections 6a or 6b as they are worded. Even if you interpret that to
mean that the recipient has the ability to re-make the RTL, do all the
layout work, and regenerate the ASIC mask, it still requires the
distributor to supply all the necessary pieces in either a "linkable"
binary for, or as original source. Besides the "burden" of this in the
commerical realm, I don't know that there is the equivelent of an object
file for HDL code that is sufficiently binary to make it acceptible to
an company for release of their IP.
We need to explicitly state that release in an ASIC form falls under
different rules.
Patrick M
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)