Re: Genode FPGA graphics project launched
- From: David Brown <david@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 29 Aug 2008 09:21:43 +0200
Jon Beniston wrote:
The GPL says (roughly) that any code that is directly linked to the
GPL'ed code must also be GPL'ed. You can't use GPL'ed IP and non-GPL'ed
IP in the same FPGA.
Ok, I think we agree here.
The LGPL is a little lighter - it allows you to link the LGPL'ed code
with non-GPL'ed code as long as anyone with the binary is able to get
the source code to the LGPL part, modify it, re-link it, and use the new
version. This is fine for things like dynamically linked libraries on a
desktop OS (that's what it was designed for), but hardly practical for
FPGA IP!
You don't have to supply the modified code with the FPGA though. I'm
sure a web download would be suitable.
Technically, according to the letter of the GPL 2, a web download alone is not enough (it was considered too unreliable at the time the GPL2 was written), but the GPL 3 allows it. It's a minor quibble, of course.
But what is important for using the LGPL is that the user (or anyone who legally acquires the binary) must have access to everything they need to modify the LGPL'ed code and produce a new binary, or exactly the same binary as the original. In the software world, this means that the rest of the program must be available as a linkable object - easy if you have an OS and the LGPL'ed code is a dynamic library. It must also be possible for the user to download their binary into the system. It's okay if the tools to do this cost money, as long as the user is free to buy them - I don't think you'd have to provide any Microblaize IP, as that's a standard library with the tools. But you'd have to include compiled versions of all your own IP, possibly also third party IP, and things like pin layout files. And if the bitstream is to be encrypted, you have a new set of issues...
All in all, the LGPL is very impractical for embedded systems.
A better choice of license would be what is known as a "modified GPL" or
"GPL with exception" license (or the very similar Mozilla Public
License). Here the GPL is explicitly modified to apply only to the
source files provided
What happens if someone modifies a file to use a function that is in a
new file though? Do they have to provide this?
I don't think so - there is no requirement that your modified m-GPL'ed code can work without the rest of your system. The aim is to codify the idea that the package you got under the m-GPL is a community effort - you can use it as you want, but can't claim you wrote it, and if you extend or improve it, these changes must be available to others. It has always struck me as a very fair license giving the best of both worlds (it can be used freely even in commercial systems, but enforces more "freeness" than BSD-style licenses).
.
- References:
- Genode FPGA graphics project launched
- From: Matthias Alles
- Re: Genode FPGA graphics project launched
- From: Jon Beniston
- Re: Genode FPGA graphics project launched
- From: nfeske
- Re: Genode FPGA graphics project launched
- From: Jon Beniston
- Re: Genode FPGA graphics project launched
- From: David Brown
- Genode FPGA graphics project launched
- Prev by Date: Re: How many mux input on a Xilinx V4 are pratical
- Next by Date: Re: How many mux input on a Xilinx V4 are pratical
- Previous by thread: Re: Genode FPGA graphics project launched
- Next by thread: Re: Genode FPGA graphics project launched
- Index(es):
Relevant Pages
|