License compliance on updating gcc runtime libraries
Hello, I have questions about the GCC Runtime Library Exception. When an equipment vendor distributes an update of shared gcc runtime libraries (e.g. libgcc_s.so, libstdc++.so) to the shipped equipment and when the equipment has applications which are dynamically linked to older release of the shared libraries and which are being linked to newer ones, in this case, is the exception applied to the newer ones? I read the exception document(*) and FAQ(**). I understood that "a work of Target Code formed by combining the Runtime Library with Independent Modules" could be propagated as non-GPLv3 license, even if "the Runtime Library" was dynamically linked to "Independent Modules". I wonder if an update of the shared libraries are regarded as a part of the "work of Target Code" or "independent library" in the above case. Could anyone kindly tell me the intention of the exception? (*) https://www.gnu.org/licenses/gcc-exception-3.1.en.html (**) https://www.gnu.org/licenses/gcc-exception-3.1-faq.en.html Best regards, Hiraku Toyooka
Re: License compliance on updating gcc runtime libraries
Thank you for your reply. > The exception applies to the application code, not to libgcc_s.so, > libstdc++.so etc. I noticed my prerequisite might be wrong. I thought that the shared runtime libraries are also included in the "work of Target Code formed by combining the Runtime Library with Independent Modules" when they are distributed with applications. But I read the FAQ again. It says: > Note that if you distribute libstdc++ as an independent library, you > will need to follow the terms of the GPL when doing so. For example, > if you distribute the library itself in object code form, you will > need to provide source code to your recipients using one of the > methods listed in section 6 of GPLv3. So the update case is same. The vendor needs to follow the terms of the GPL for the shared runtime libraries. Best Regards, Hiraku Toyooka
Re: License compliance on updating gcc runtime libraries
> Note that nobody can give you definitive answers to questions like this > since they haven't been litigated. So any answer is an "educated guess". Yes. I understand I cannot get definitive answers for license interpretation. > My view is that it's both, depending on the context. Remember that, from > the perspective of copyright law, executing a program is making a "copy" > of that program. The GPL (or the Runtime Exception) don't include those > copies in their specific restrictions and limitations, but when you > try to define terms, I think you need to reach the fact that these > are copies. > > So: > > When the new version of the library is distributed, it's an "independent > library" and (assuming it's GPL, not LGPL), the GPL rules apply to it: > the vendor needs to provide the ability to get source under the usual > GPL rules. > > But when an application dynamically links with the (new) library, that > application remains a "work of Target Code" and the GPL+Exception rules > apply to any situation where that work is copied. Thank you for your clarification. I understand the new version of the library will be an "independent library". Best Regards, Hiraku Toyooka