This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Cygwin Python Distribution GPL Licensing Issue?

> I need your deep understanding of the GPL.  Please see the attached.
> What is your assessment of the perceived licensing issue.  Am I
> violating the GPL by distributing Cygwin Python?

When building a program with Cygwin, there are two licenses that need
to be complied with: the program's, and cygwin's.

Cygwin requires that you choose one of two options: Either comply
fully with the GPL, or distribute the program under any other open
source license, and without any part of cygwin other than the
libcygwin.a you linked into the program.  In the latter case, cygwin
grants an exception that allows you to link libcygwin.a without it
*causing* your program to need to be distributed under the terms of
the GPL, and allowing you to distribute program binaries without
sources to libcygwin.a (unless the program's license requires it) and
without cygwin1.dll at all (ditto).  If the program is already GPL'd,
then this probably changes nothing (see below).

The program's license may require you to include cygwin's sources
anyway.  If the program is GPL'd, this may be the case, depending on
whether the author considers cygwin to be a "standard component of the
operating system" or not.  The GPL provides an exception for this, but
it's not obvious whether Cygwin is such a case (it's not a standard
part of Windows, but it is a standard part of a windows compiler).  I
suggest getting an email from the author about their interpretation of
this, something as simply as "I/we consider cygwin to be a standard
part of an operating system for the purposes of interpreting the GPL
wrt our program" would suffice.

If you comply with both licenses (at least, in the opinions of the
authors), then you are in compliance, period.  It is irrelevent what
anyone else things, including the FSF.  Just because you are using a
license developed by the FSF does not give them any legal rights to
enforce it for programs they do not hold copyright for; this is why
they are careful to get copyright assignments for any work done on
"official" GNU software.

Additionally, porting Python to a new operating system does not
entitle you, as the porter, to change the licensing terms.  You may
choose to distribute a non-GPL program under the terms of the GPL, but
that does not change the license to *be* GPL.  Recipients of the
program are only required to honor the author's license terms, because
only the author is allowed to change them.

So, the key bits are:

* If Python is GPL'd (by the author), you may need to include sources
  for libcygwin.a if the author interprets the GPL that way.

* If Python is otherwise open sourced, building it under cygwin causes
  no new restrictions, for the python binary itself, as long as it is
  distributed as open source.

* No matter the terms on the python binary, the cygwin1.dll binary is
  GPL and always must be distributed under those terms.

A note on the second bit: If, for some reason, a cygwin-built binary
of an open source program is distributed *without* being open source
(i.e.  you change it and don't publish your changes), it is no longer
open source and the cygwin exception no longer applies.

Want to unsubscribe from this list?
Check out:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]