Windows Binaries for GMP 4.2.2

Michael Abshoff Michael.Abshoff at fsmath.mathematik.uni-dortmund.de
Thu Sep 20 02:50:53 CEST 2007


Alexey Beshenov wrote:

> On Thursday 20 September 2007 03:54, Michael Abshoff wrote:
>
>>> And I think that it's better to include a note that these binaries
>>> could
>>> not be used in free software since they were built with Microsoft
>>> Visual
>>> Studio C/C++ libraries.
>
>> Well, that is clearly wrong. You can compile GPLed/LGPLed software with
>> the Microsoft compiler, there is no difference to using a compiler like
>> gcc. Many pieces of Open Source do not compile with MSVC, but that is a
>> completely different subject. If you mean that you cannot link those
>> libraries against some code compiled under Cygwin [without jumping
>> through
>> hoops for C, next to impossible to link against anything C++] then you
>> are
>> correct.

Hello Alexey,

>
> GNU C/C++ libraries from the GCC are LGPL'ed and Microsoft libraries are
> not.
> I mean legal problems with distributing GNU GPL software as statically
> linked
> binaries (and not distributing any Open Source). As for *dynamically
> linking*
> with the Visual C++ run-time, it is permitted under the GPL.
>

Are you talking about the "System Library Exception" of the GPL?

To quote from http://www.linux.com/articles/5948:

The following is a quote from the GPL V2:

"The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source code
means all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the executable. 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."

[end quote GPL V2]

Then the article goes on:

This clause was originally created to deal with the case of libc, a
library of common functions needed to run most programs on UNIX-like
systems. Because many GPL-covered programs run on non-free platforms, this
clause prevents the unworkable scenario of requiring application
developers to distribute the source of system-level modules. In the case
of a free software platform like GNU/Linux, this might only be an
inconvenience. But in the case of a non-Free system, it is impossible.

Another quote from http://www.gnu.org/licenses/gpl-faq.html:

Can I release a program under the GPL which I developed using non-free tools?

    Which programs you used to edit the source code, or to compile it, or
study it, or record it, usually makes no difference for issues
concerning the licensing of that source code.

    However, if you link non-free libraries with the source code, that
would be an issue you need to deal with. It does not preclude
releasing the source code under the GPL, but if the libraries don't
fit under the "system library" exception, you should affix an explicit
notice giving permission to link your program with them. The FSF can
give you advice on doing this.

[end of quote]

IANAL, and this is certainly the wrong list to go into a deep discussion
about the finer points of the GPL because GMP is LGPLed V3 as of the 4.2.2
release. Your caution is certainly appreciated, but the way I see it
certainly does not apply. The gmp archives from Brian are not statically
linked against the C or C++ runtime of MSVC either. I am not even sure
that you can do that, but it certainly isn't the default linking mode.

I do write GPLed software for a living, so I certainly take this
seriously, as you can see by the fact that I did disable the download of
the offending binary right after I read Torbjörn's EMail. But in my
reading of the above passage it doesn't say anything about *static* vs.
*dynamic* linking and the system's clib and c++ runtime is covered under
the system library exception anyway in my opinion, being a "major
components" of the compiler. Feel free to disagree, there is not point in
this becoming a flame war.

Anyway, I do not plan to continue this discussion because I have be
rightfully flamed by Torbjörn for being rather OT before and this has
little to do with GMP's licensing at this point and nothing from a
technical perspective.

Cheers,

Michael

> --
> Alexey Beshenov <al at beshenov.ru>
> http://beshenov.ru/
>





More information about the gmp-discuss mailing list