Bruno Haible wrote:
Michael Goffioul wrote:
Hi Bruno,
CLN/GiNaC compilation with VC++ is part of the making of Windows package for octave.
There is a problem with the Windows installer of Octave: It violates the GNU GPL, under which Octave is distributed.
The download octave-3.0.3-setup.exe [1] contains an installable part called "Microsoft C/C++ runtime libraries required by Octave." According to the packaging scripts to which you pointed us [2], these runtime libraries are the files msvcr80.dll, msvcp80.dll, msvcm80.dll. Because these files are not normally distributed with the Windows OS and because they are not distributed with source code, it's a breach of the GPL. (Of section 3 of GPLv2, to be precise.)
I really don't want to turn this into a flame war and I know that licensing discussions aren't too welcome on the Ginac list, so I dropped it from the CC. I am curious what your point of view regarding the system runtime exception is here. 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. My reading has always been that this clause in the GPL covered compiler runtimes as well.
Maybe the copyright holders of Octave have given their agreement to this; I don't know. In this case there would be nothing wrong with said downloadable installer, if it doesn't contain CLN.
But regarding CLN, there is no such extra permission. As the main copyright holder of CLN, I'm asking to respect the GPLv2, under which CLN is distributed.
This may sound negative and may deceive you. Let me explain the reason:
There is a compiler with a free runtime library (excluding the components that are shipped with Windows). It's mingw. And then there is a compiler with a closed-source runtime library: MSVC++.
When you build software for your own, you may use mingw or MSVC++. I don't mind, I don't care. It's your choice which compiler you prefer.
But when you build it for redistributing it to other people, I prefer that you give these users the right to inspect and modify the C++ runtime library, and I don't want CLN to be used as a vehicle for distributing a closed-source DLL. Ultimately this will help making mingw and libstdc++ better.
Agreed. <SNIP technical discussion> Cheers, Michael