So, libstdc++ has the runtime exception that permits even proprietary software to use libstdc++.

But, hypothetically, can I actually distribute a non-modified binary of libstdc++ along with a binary of my proprietary program? (Given that I make the source code for libstdc++ available to anyone that asks, and that I distribute a copy of its license).

A specific example: Let's say I use MinGW to compile a Windows binary. This requires libstdc++ (and other libraries, such as libgcc) to function. To make it easy for end-users to install this program, I'd like to just distribute the app along with libstdc++, libgcc etc. I'm asking of this is possible (as for it being ethical is another issue; I support free software, that's why I say it's hypothetical). Also, I'm thinking about dynamic linking instead of static.

  • Instead of just downvoting, can people please explain why so I can imrpove the answer?
    – csl
    Sep 21 '15 at 12:54

From the documentation:

  1. Grant of Additional Permission.

You have permission to propagate a work of Target Code formed by combining the Runtime Library with Independent Modules, even if such propagation would otherwise violate the terms of GPLv3, provided that all Target Code was generated by Eligible Compilation Processes. You may then convey such a combination under terms of your choice, consistent with the licensing of the Independent Modules.

So, you can distribute the combination of your code and the library.

  • So, the question is whether compiling with MinGW is an "eligible compilation process". But what does combining mean here? Does it mean static or dynamic linkage?
    – csl
    Sep 21 '15 at 13:10
  • 1
    I am not your lawyer. I believe that MinGW is more than eligible, and any kind of linking is OK.
    – bmargulies
    Sep 21 '15 at 15:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.