Greg Ewing wrote:
If you include MSVCR71.DLL in your binary Python module, you would need to provide source code to MSVCR71.DLL as well.
If that's true, then it's illegal to distribute *any* GPL software compiled with VC7 -- or with any other language implementation that links in a non-open-source runtime library -- and has been for a long time. I find it hard to believe that's the intent of the GPL. There must be a lot of software out there that does this -- is it all breaking the law?
As always, Tim is right: if you want to know for sure, ask the FSF lawyer. My interpretation is that in the strict sense of the letter these programs violate the GPL. The entire binary distribution forms "work based on the Program"; inclusion of msvcr71.dll is not "mere aggregation". Then, according to clause 3, you are required to accompany the program with a machine-readable source code (or equivalent offers), which means "complete source code means all the source code for all modules it contains". The special exemption for things normally distributed with the operating system does not apply, as msvcr71.dll is not normally distributed with "major components (compiler, kernel, and so on) of the operating system". However, it appears that the FSF FAQ has taken the stance that VC7.1 is indeed a major component of the operating system (being the system compiler), and that therefore, the exemption clause does apply. Under U.S. law, it seems that only a court could interpret this license for good. But what do I care about U.S. law. Regards, Martin