Subject: RE: Cygwin Python Distribution GPL Licensing Issue?
From: "Tim Peters" <[email-masked]>
To: "DJ Delorie" <[email-masked]>, <[email-masked]>
Cc: <[email-masked]>, <[email-masked]>
Date: Sat, 21 Apr 2001 22:01:26 -0400

License clarifications sure are wordy <wink/sigh>.

Python is not licensed under the GPL.  Its license has been certified as Open
Source by the OSI, and called a "GPL-Incompatible, Free Software License" by
the FSF (although the lawyers who worked on the license disagree with the FSF
that it's incompatible with the GPL).

[DJ Delorie]
> ...
> Cygwin requires that you choose one of two options: Either comply
> fully with the GPL,

Lawyers disagree over whether that's possible in this case.  You think the
FSF's opinion doesn't matter here, but I don't buy that:  try *saying* the
Cygwin Python is under the GPL, and distribute an app linking it with GNU
readline.  The Python authors aren't going to complain about any of that, but
the FSF almost has to (since they're on record as saying the Python license
is GPL-incompatible).  That is, what it takes to "comply fully" is a matter
of opinion on which lawyers disagree, and the FSF has a stake in making their
opinion stick.  So, up to you, but I advise steering clear of this rat hole.

> or distribute the program under any other open source license,

Python has an open source license.  NO controversy about that.

> and without any part of cygwin other than the libcygwin.a you
> linked into the program.

I don't know what Jason did here, so that's for him to address.

> ...
> The program's license may require you to include cygwin's sources
> anyway.

Python's license does not.

> ...
> 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.

The Python authors (of which I am one) are incompetent to interpret the GPL.
The Python license doesn't care whether Cygwin is or is not a standard part
of anything -- it's a "do whatever the heck you want, just don't sue us" kind
of license.

> 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.

Again, Jason is in no danger of running afoul of the Python license.  I
believe he's asking you to clarify the Cygwin half of this.  That the FSF
does not consider the Python license to be GPL-compatible may or may not be
relevant to you, depending on how *you* see things.  It sounds like it isn't
relevant to you, and, if so, cut Jason a break and just say "Ah!  Right you
are, fine" <wink>.  Everything he's doing is fine with us.

> ...
> Additionally, porting Python to a new operating system does not
> entitle you, as the porter, to change the licensing terms.

Since he contributed his changes back to the Python project, we distribute
them under the terms of the Python license.  However, had he kept the changes
to himself, he could have released Cygwin Python as a derivative work, and
then the Python license allows him to set any licensing terms he wants on the
derivative (whether GPL or "proprietary" or anything in between).  That
wouldn't affect the license on the parent work, of course (which remains the
Python license no matter what anyone does).

> ...
> 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.

It is not.

> * 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.

This sounds like you're asking whether Jason and you are playing by your own
rules, so I can't say.  That is, the Python authors do not distribute Cygwin
Python (we only distribute the source code), and the Python license does not
require derivative works to be released as open source.  When I run Cygwin
Setup on my Windows box, the stuff I'm getting is *"your"* distribution, not
ours.  So if you consider the ways in which you're distributing Cygwin Python
to be "open source", fine, it's open source.  The Python code base we
maintain is certainly open source, and will remain so, regardless of what
derivatives and redistributors may choose to do.

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

Again, we don't distribute any Cygwin material, except for the Cygwin patches
to the Python source code that Jason contributed.  In particular, we do not
distribute cygwin1.dll.

> 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.

Since the Python license allows closed derivatives, you had better make that
very clear in your own license maze.

i-have-an-easier-time-understanding-the-ms-office-eula<wink>-ly y'rs
    - tim

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple