Cygwin & Microsoft's EULA, was: Re: Dispelling BSD License Misconceptions (fwd)

Matthew Flaschen matthew.flaschen at
Thu Jan 18 23:57:08 UTC 2007

Chuck Swiger wrote:
>>> Absolutely not; this isn't a matter where you have to guess, go to:
>>> ...and choose your favorite version of Visual Studio.  One version of
>>> the EULA states:
> [ ...Microsoft EULA snipped for brevity... ]
>>> You can't mix this EULA with the GPL under any circumstances, including
>>> the exception mentioned in GPL #3.
>> Why not?  I think this exception ensures the DLLs wouldn't fall under
>> the GPL; thus neither i or ii should be violated.
> Microsoft EULA's not only impose many additional constraints which are
> not GPL-miscible, the M$ EULA explicitly forbid one to create a
> derivative work of "Redistributable Code - Visual C++: Microsoft
> Foundation Classes (MFC), Active Template Libraries (ATL), and C
> runtimes (CRTs)" in conjunction with an "Excluded License", which the
> GPL obviously is.

I'm fairly certain the GPL would allow the DLLs to be excluded from
Corresponding Source due to the system library exception.  However, I
now see you're right that that doesn't address the problem of the GPLed
binary being a derivative work.  I don't know the answer to this
question.  It's quite possible that Microsoft isn't fully enforcing
their EULA here.

> Your position is (or was) that a program which dynamically links against
> the standard C library constitutes a derivative work of the standard C
> library; if your position is correct, then Cygwin constitutes a
> derivative work of both the Windows DLLs which it loads and Cygwin's
> GPL'ed source code.  However, Cygwin could not be redistributed unless
> it complied with both the terms of the GPL (which most of Cygwin is
> under, see: [1]) and the appropriate Microsoft EULA for the platform;
> which would not be possible since the two licenses are not miscible.
> It's conceivable that the portions of Cygwin which invoke Win32 APIs are
> not under the GPL, but exist as a "shim" to connect the Microsoft
> specific code with Cygwin's GPL'ed internals.

All of Cygwin is under free/open source licenses, and the cygwin library
(which I think makes the WinAPI calls) is under the GPL (with additional
permissions to link against software with other OSI-approved licenses).

  However, notice that this
> approach is precisely the same that nVidia's proprietary drivers do in
> order to produce a Linux kernel module.
> Why is it OK for Cygwin to use a shim to dynamically link against
> Windows DLLs and redistribute the result, but not OK for nVidia to do
> the same when linking against the Linux kernel?

I don't recall saying anything about whether nVidia's actions were okay...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the License-discuss mailing list