Cygwin license

DJ Delorie
Fri Mar 19 07:16:00 GMT 1999

> Doeas that mean that my fancy shell script that use some bash-only
> feature, and is as such totally unusable WITHOUT bash, must then be
> GPLed?... I think this is neither what the GPL says nor enforceable or
> useful...

The GPL has exceptions for things that normally come with the
operating system, like bash.  Plus, bash can be used without your
script, but the cygwin dll can't be used without a program that's
designed to use it.

> You are saying that Micro$oft would be able to earn money from Cygwin
> just by saying that any program that requires Windows to run must pay a
> royalties to Micro$oft as it falls under some fine-print in Micro$oft
> Windows license?... 

They would have to apply to all programs indiscriminately, and I think
the Justice Dept would frown upon it ;-)

However, there's a difference between an established OS changing its
terms to its advantage late in the game, and a small toolkit whose
terms have been the same since its first release.

> If a program do NOT include crt0.o nor libcygwin.a, then I do not
> see why it would fall under the GPL more than any program that
> references kernel32.dll would have any possible restriction from
> Micro$oft.

The definition of "program" in the GPL isn't limited to a single file.
If your "program" consists of two files, which won't work separate
from each other, then the "program" consists of both files, and terms
of each must be applied to both.

As for the Microsoft analogy, they license Windows in such a way that
you can use it the way you describe.  They could have chosen other
terms, but their goal was to *sell* as many copies of Windows as
possible.  Our goals are different, thus our terms are different.

> If your program can operate without Windows, then you don't have to pay
> anything to Micro$oft, but if you *require* windows, then your customer
> has to obtain the right to use Windows;

We're not talking about the right to *use* cygwin.  The GPL doesn't
cover right to *use*.  It only covers redistribution.  You can write
whatever cywin programs you wish, and use them however you wish, but
if you want to give them to a friend you must give them the full
sources also.

The GPL also has an exception for "software that is normally part of
the OS".  The MS dlls would fall into this category because they
normally come with Windows.  The cygwin dll would not, as it does not
normally come with Windows.

> It seems that Micro$oft is here more friendly to the developer than
> Cygnus:

Microsoft doesn't give you the sources to Windows.  I find that very

> you are aloowed to develop code that *require* Windows without
> having to pay anything to Micro$oft, and you can do what you want with
> your code.

But MS doesn't let you distribute copies of kernel32.dll with your
applications, either.

Want to unsubscribe from this list?
Send a message to

More information about the Cygwin mailing list