<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Thierry is correct in his analysis.</p>
<p><br>
</p>
<p>If you really want to copy it - which I don't suggest - then copy it over into your repo, rename both the module and the class, and make your code use your derived work.</p>
<p><br>
</p>
<p>Put a header at the top that says something like "Based on Python's ConfigParser.py. Original ConfigParser.py distributed under the Python Software Foundation license. Additions and changes copyright [YOU] and distributed under the Apache Software License,
 v2."</p>
<p><br>
</p>
<p><span>Do not modify the stdlib in-place (as it sounds like you are doing) - but perhaps I just misunderstand.
</span><br>
</p>
<br>
<br>
<div style="color: rgb(0, 0, 0);">
<div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" color="#000000" face="Calibri, sans-serif"><b>From:</b> Thierry Carrez <thierry@openstack.org><br>
<b>Sent:</b> Monday, January 2, 2017 4:45 AM<br>
<b>To:</b> legal-discuss@lists.openstack.org<br>
<b>Subject:</b> Re: [legal-discuss] [kolla]is it OK to modify python code in OpenStack project?</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Jeffrey Zhang wrote:<br>
> Recently, Kolla project has requirement to modify[1] the python's<br>
> ConfigParser.py code[0].<br>
> <br>
> Python is using PSF license[3], which is GPL compatible. But OpenStack<br>
> is using Apache License.<br>
> <br>
> Here is the diff view[2].<br>
> <br>
> I want to make sure: is it OK to re-license ConfigParser.py? If not, what<br>
> the solution?<br>
> <br>
> [0] <a href="https://github.com/python/cpython/blob/2.7/Lib/ConfigParser.py" id="LPlnk307541">
https://github.com/python/cpython/blob/2.7/Lib/ConfigParser.py</a><br>
> [1] <a href="https://review.openstack.org/412101">https://review.openstack.org/412101</a><br>
> [2] <a href="https://gist.github.com/jeffrey4l/2258b276cbd038e73797cfa0952da371/revisions?diff=split">
https://gist.github.com/jeffrey4l/2258b276cbd038e73797cfa0952da371/revisions?diff=split</a><br>
> [3] <a href="https://docs.python.org/3/license.html">https://docs.python.org/3/license.html</a><br>
<br>
I'm not a lawyer, but it sounds slightly tricky.<br>
<br>
The PSF license is Apache-compatible, which means that you can combine<br>
PSF-licensed and Apache-licensed code (if you retain the original<br>
licenses). But OpenStack code must be licensed under a license supported<br>
by the Contributor License Agreement (CLA) which allows redistribution<br>
by the OpenStack Foundation under ASLv2 (currently only ASLv2, the MIT<br>
and both forms of the BSD license meet this requirement).<br>
<br>
So I don't think we can really bundle PSF-licensed code within OpenStack<br>
code, and I think too much was copied from the original class so that<br>
anyone can pretend it is original work.<br>
<br>
Three solutions that should work around the problem without requiring<br>
lawyers to further investigate the issue:<br>
<br>
1/ Do a clean room implementation (by someone not familiar with the<br>
original code)<br>
<br>
2/ Rewrite your code so that it takes a pure ConfigParser class output<br>
and transforms it into what you need, rather than copying code over<br>
<br>
3/ Publish your modified ConfigParser into its own 3rd-party PyPI<br>
library (licensed under the PSF license)<br>
<br>
Of those, (2) is the one that introduces the less technical debt (no<br>
code copy).<br>
<br>
-- <br>
Thierry Carrez (ttx)<br>
<br>
_______________________________________________<br>
legal-discuss mailing list<br>
legal-discuss@lists.openstack.org<br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/legal-discuss">http://lists.openstack.org/cgi-bin/mailman/listinfo/legal-discuss</a><br>
</div>
</span></font></div>
</div>
</body>
</html>