From: "H. Simpson" Date: 2004-08-06T07:51:27+09:00 Subject: Re: Amazing GUI toolkit with visual designer & Ruby Integration Sander Jansen wrote: >>I'm not a lawyer so this post is just an opinion from an unqualified >>stranger. >> >>GPL and LGPL is very dangerous to closed-source commercial projects >>unless you fully understand the license and know exactly what you are >>doing. >> >>Regarding Fox-Toolkit, look at the bottom of their license page and read >>the explanation the Fox-Toolkit LGPL Addendum: >> >> http://www.fox-toolkit.org/license.html >> >> "Static linking with a modified copy of the Library, however, would >>deny the community the benefit of these modifications, as these >>modifications would now be locked up inside a closed binary executable, >>so therefore we must insist on the original GNU Lesser General Public >>License when the Library has been modified." >> >>*TRANSLATION:* if you modify Fox-Toolkit and statically link it to your >>multi-million dollar commercial application, then you must release not >>only the changes to Fox-Toolkit but your commercial application too in >>order to comply with the terms of the license! >> >>Now for comparison, look at the FLTK exceptions to their LGPL license: >> >> http://www.fltk.org/COPYING.php >> >>If anyone tells you that GPL and LGPL > > > (correct me if I'm wrong) > > So whats the difference? You still have to follow the LGPL: > > (FLTK license) > If you link the application or widget to a modified version of FLTK, then the > changes to FLTK must be provided under the terms of the LGPL in sections 1, > 2, and 4. > > Which means: > > if you modify FLTK and statically link it to your > multi-million dollar commercial application, then you must release not > only the changes to Fox-Toolkit but your commercial application too in > order to comply with the terms of the license! > > Sander > > Again, I'm not a lawyer so my translations are simply opinions of an unqualified stranger on the internet. The difference is very simple: A. If you statically link your app to a modified FLTK, your app is still EXEMPT from the license and only those "changes made to FLTK" must be comply with the license. B. But if you statically link to a modified Fox-Toolkit, your app is NOT EXEMPT and considered a "derivative work of the [LGPL] Library" and must comply with the terms of the LGPL regarding such work. If you don't mind the terms of the LGPL regarding "derivative work" then this discussion is irrelevant to you. But if you don't want your app to be bound by the terms of LGPL regarding "derivative work" then you should not statically link your app to a modified Fox-Tookit. And once again, I state for the record that I don't mind either the GPL/LGPL approach and the BSD/MIT approach to licencing. I simply cannot use the GPL/LGPL stuff in some (but not all) of my projects unless there are sufficient exemptions (like FLTK's exemptions to LGPL). QUOTE FROM FLTK LICENSE "3. Static linking of applications and widgets to the FLTK library does not constitute a derivative work and does not require the author to provide source code for the application or widget, use the shared FLTK libraries, or link their applications or widgets against a user-supplied version of FLTK. If you link the application or widget to a modified version of FLTK, then the changes to FLTK must be provided under the terms of the LGPL in sections 1, 2, and 4." MY TRANSLATION: The first paragraph (3) makes apps statically linked to FLTK exempt from the license. Then the second paragraph states that if we link to a modified version of FLTK, the "changes to FLTK" must be provided under the terms of the license. Therefore, the application is still exempt from the license when linked statically to a modified FLTK because nothing stated takes the exemption away. Fox-Toolkit on the other hand, would require the application itself to also be released under the LGPL. Which has very different consequences to closed-source projects that which to use Fox-Toolkit and find themselves needing to tweak Fox-Toolkit. Note the following quote: QUOTE FROM FOX-TOOLKIT LICENSE RATIONALE: "Static linking with a modified copy of the Library, however, would deny the community the benefit of these modifications, as these modifications would now be locked up inside a closed binary executable, so therefore we must insist on the original GNU Lesser General Public License when the Library has been modified." MY TRANSLATION: This means there is no LGPL exemption for static linking if Fox-Toolkit is modified. The exemption only applies to UNMODIFIED Fox-Toolkit. Which means if you statically link to a modified version of FOX-TOOLKIT, then your entire application is considered a derivative of an LGPL library which means you must comply with LGPL terms/restrictions for your entire application. See below. QUOTE FROM LGPL: "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." MY TRANSLATION: If you statically link to LGPL library, then your application is considered a "derivative of the Library" rather than a "work that uses the library".