Michael Abshoff wrote:
From the above I gather that you do not think that the MSVC runtime falls under that since it isn't distributed with (at least some versions of) Windows.
Yes, this is one of the points. If someone states, for example, that the system requirements of his binary package is "Windows XP or newer", and relies on a DLL that is part of the Windows XP operating system, the GPL has no problem with that.
My reading has always been that this clause in the GPL covered compiler runtimes as well.
... *if* the compiler runtime are not shipped as part or together with the binary package. That's the second requirement in the GPL, that is necessary for the compiler runtimes exception to apply. Quoting GPLv2 section 3: "However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable." ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Similar provisions are in the GPLv3: When you put DLLs into the same installer as GPLed software, they are not merely forming an "aggregate" (in the sense of the last paragraph of section 5 of the GPLv3), but rather a combined work, hence the GPL applies to these DLLs as well, with the consequence that they cannot be closed-source. That's why distributing mingw built binary packages is OK: They rely on msvcrt.dll (which comes with Windows) and libmingw32.a, libmingwex.a, libmingwthrd.a, libstdc++.a (for which source is available and the license is GPL-compatible). Bruno