On Mon, Aug 25, 2014 at 09:18:27PM -0400, Byron Jeff wrote: > On Mon, Aug 25, 2014 at 10:44:09PM +0100, David wrote: > > On 25/08/2014 20:43, John J. McDonough wrote: > > > If you use an open source compiler under the GPL, then there is no > > > question that you can do what you want with the result, and ditto for > > > those libraries licensed under GPL. > >=20 > > You cannot "do what you want with the result", as the GPL (and other > > similar licenses) place requirements on you if your final product > > includes GNU GPL libraries. >=20 > This is correct. However, as pointed out below it's not as challenging as > it may seem. >=20 > >=20 > > >From http://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL : > >=20 > > "If a library is released under the GPL (not the LGPL), does that mean > > that any software which uses it has to be under the GPL or a > > GPL-compatible license? > >=20 > > Yes, because the software as it is actually run includes the library." > >=20 > > >From http://www.gnu.org/licenses/why-not-lgpl.html : > >=20 > > "using the ordinary GPL for a library makes it available only for free > > programs" > >=20 > > A popular example of this is home routers that use Linux as a base > > operating system and bundle GPL binaries/libraries. > >=20 > > Therefore if *all* required libraries for compiling a program were GNU > > GPL, e.g. > >=20 > > - the C runtime > > - startup/initialisation code > > - popular functions like printf() or malloc() > >=20 > > .. then you would not be free to "do what you want". For this reason > > the GNU C library (glibc) is LGPL and avr-libc is a modified BSD licens= e. >=20 > And this is generally why the proposition fails. Even with GPL (not LGPL) > libraries, an exception is generally made for linking only. >=20 > It makes sense when you view the underlaying objective. The GPL tries to > balance the freedom of you using the codebase for what you want to do > against the free of others having the ability to benefit from improvement= s. > I've always thought of it as "Granting access to the source, and all > successive forks of that source too." I reiterate that only applies to th= e > GPL code, not your code. >=20 > Unfortunately many would take advantage of forking a codebase they did no= t > develop and not sharing the changes of the fork for a competive advantage= .. > The GPL in all of it forms is designed to give open access to the codebas= e > while allowing individual developers to develop their own work unimpeaded= .. >=20 > That's why even though in theory it would be possible to create a system > that embeds GPL code in such a way that someone's independent code would > have to be open sourced, it doesn't happen because it's totally against t= he > spirit of the effort. There is one exception to this and that's in the embedded systems world. So there may be some relavence as a discussion here. The question is what happens where there's no easy way to separate the GPL code from the developer code? It's not hard to imagine an SBC that has a combination of developer code and GPL/LGPL licensed "library" code that could only be combined at the source level. A library written in absolute code for example that is included into the source file. Another GPL tenant is that downstream folks should have the ability and right to modify the GPL/LGPL code and build new systems with that modified code. So someone gets a cool SBC gadget that has a GPL library in it. They think up a library mod to make the gadget better. They have no problem getting the GPL source and modifying it. But to build the firmware for the revised gadget they need the developer's part too. With a linked object system, the develop could distribute their independent code as an object file that is relinked to the library. But if that development mechanism doesn't exist then the only way to rebuild the updated gadget is to have the original source code from the developer even though they have no intention of changing or distributing that developer code. It's what in the GPL3 commentary they call "tivoization". In this instance the original developer would either have to release their source making the combined work GPL/LGPL or they would have to find another more permissively licensed library to build upon. This is an instance of my #4 of my other post where YOURCODE and GPL/LGPL code are combined in such as way that they are interdependant. In that case the GPL/LGPL code may influence the licensing of YOURCODE. BAJ >=20 > BAJ >=20 > >=20 > > David > > --=20 > > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > > View/change your membership options at > > http://mailman.mit.edu/mailman/listinfo/piclist >=20 > --=20 > Byron A. Jeff > Chair: Department of Computer Science and Information Technology > College of Information and Mathematical Sciences > Clayton State University > http://faculty.clayton.edu/bjeff > --=20 > http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist --=20 Byron A. Jeff Chair: Department of Computer Science and Information Technology College of Information and Mathematical Sciences Clayton State University http://faculty.clayton.edu/bjeff --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .