[pydotorg-www] Licensing contributions (Was: Vanished link for AFL v2.1)

anatoly techtonik techtonik at gmail.com
Fri May 21 11:40:27 CEST 2010


Even after being accused in trolling I'll continue, because I really
want a FAQ on this.
>From my side I must apologize for accusing PSF that it doesn't do what
it should.
The last paragraph sounds strange, it is not really well thought to be
sent, and as a
result some people may have pissed off instead of answering reasonably.

On Fri, May 21, 2010 at 6:22 AM, David Goodger <goodger at python.org> wrote:
> In addition to what others have written, some pointed replies:
>
>>> On Thu, May 20, 2010 at 09:47:33PM +0300, anatoly techtonik wrote:
>>>> What is the trend about AFL?
>>>> Isn't PSF the official license of all Python stuff?
>>>
>>> Yes, the PSF uses its own license for material where the PSF holds the
>>> copyright.
>>>
>>> But when a person signs a contributor form, which is saying "I grant
>>> the PSF the right to use my code/patch/whatever under some license",
>>> what license is the *person* -- not the PSF! -- using?
>>
>> Isn't it a common sense assumption that if you want contribution to be
>> the part of this particular software you agree that it will be
>> redistributed alike? If you want other terms - you need to say it
>> explicitly.
>
> It is explicit, in the contributor form. Go read it. Now, please,
> before replying further.

http://www.python.org/psf/contrib/contrib-form/
There won't be any question if contribution form didn't contain
confusing clauses that only AFL and Apache 2.0 licenses are accepted.
Correct me if I wrong, but even if my software is Apache 2.0 licensed,
I can not give PSF the right to "create and distribute collective
works and derivative works" "under any other open source license
approved by a unanimous vote of the PSF board" without consent of all
authors. And even Apache 2.0 allows that by default, you still need to
comply with its terms, like "4.1. You must give any other recipients
of the Work or Derivative Works a copy of this License;".

So, to make PSF actions legal towards contributions, you need either:
1. Comply to the terms of Apache 2.0 and AFL licenses (distribute
licenses with Python, retain copyright notices, carry prominent
notices about changes, etc.) - in this case you don't need any license
agreement at all.
2. Consent of all the authors that they agree to submit their work, so
that it will become PSF licensed - in this case license doesn't
matter.

So far I haven't found any Apache 2.0 text in my Python source
checkout. Is it because my checkout is partial and covers only Lib and
Doc or maybe Python code is not owned by PSF then? I assume that it is
because PSF follows path no.2, but also want to protect Python code
from patent claims. Why not just include it in agreement in clear text
and drop license stuff altogether?

>> Does the sentence that Apache 2.0 explicitly allow re-licensing really
>> mean that I can drop it or replace with GPL, MIT or put in Public
>> Domain at all?
>
> No, I believe that is mistaken, as I wrote elsewhere. It's the
> contributor agreement that allows re-licensing.
>
>> Why AFL?
>> Why MIT or BSD is inappropriate?
>
> I believe that was because of the patent grant clause that the AFL
> has, as does the Apache license.

So, as I said  - this can be mentioned explicitly in agreement itself.
Any other goals PSF is trying to achieve with these contributors'
agreements? Perhaps collecting some private data from open source
contributors?

>> What about CC?
>> Was there some discussion about it?
>
> There was a lot of discussion years ago, before the Creative Commons
> existed. And most CC licenses are not appropriate for software anyhow.

It would be nice to know why. The side effect of this approach is that
designers are perhaps not interested in joining Python community at
all - their work won't receive due attribution.

>> Did you ask PSF contributors what license do they prefer (feel more
>> comfortable) to see core Python stuff in?
>> Why PSF can't change license PSF License 2 to PSF License 3 that is
>> simpler and allow contributions?
>> What PSF is afraid of in 2010 to maintain such complex license?
>
> There's an explanation of the history of the license, written in plain
> English, in the license itself. Go read it.

Layman terms at http://www.python.org/psf/license/ sounds like it is a
2 clause BSD license, but BSD is 10 times smaller.

According to license, if I use any Python code from standard library
(or documentation), I need to:
1. include copyright "Copyright (c) 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010
Python Software Foundation; All Rights Reserved"
2. include in any such work a brief summary of the changes made

This applies even to the example from documentation. But because
nobody does it, PSF License Agreement automatically terminates.
Therefore nobody is allowed to "to reproduce,
analyze, test, perform and/or display publicly, prepare derivative works,
distribute, and otherwise use Python alone or in any derivative version".

It looks like the License contradicts with common sense. Or at least I
should stop monitoring changes in Python standard library, because one
day I may want to copy paste some snippet to extend it in my app. I
used abc.py module from Python 2.6, because it was not present in 2.5.
Should I add PSF copyright to my Python app?

>> Can you specify in simple words what is required from developers and
>> record it as extension to some simple license like
>> http://en.wikipedia.org/wiki/ISC_license?
>
> No, not without the agreement of all the rights-holders, some of whom
> are unwilling to remove their layer from the license stack.

I am sure Python 3000 could use a different license at least for
standard library.
Can I ask PSF who are those right-holders, what proposals were made to
them and how did they argument their decision? Did they clearly
express their interests? Something makes me think that they just need
is a proper attribution and PSF could provide this in many ways to
reach an agreement on relicensing.

>> Please do not give me links.
>
> Please don't be a troll. Yes, you are being a troll.
> Do your own research, or hire a lawyer to explain all this if it's
> that important to you.
> Stop wasting our time.

You don't want to waste your time to explain PSF license terms to
community members? Or anybody asking for clarification automatically
becomes a troll and is not accounted as a part of community? Would PSF
accept a donation from me to make this research?
If it should not be that important for me - why do you demand me to
sign a contributor's agreement?


Do not get me wrong. I like Python and want it to become better, like
everybody else here. But there are plenty of new and more attractive
languages for newcomers out there. Language features, clean docs, site
design, pictures, polished community services are as equally important
as understanding legal implications in this respect.
-- 
anatoly t.


More information about the pydotorg-www mailing list