3

I spent a few hours cleaning up a really old Python library, ProxyTypes. Two days from now will mark 10 years since it was updated. Today, I updated it to support the newer Python 3, and to be compliant with the PEP8 style guide. I've stripped out some of the code I don't need, but the functionality and logic of the remaining code are unchanged.

I want to redistribute my modified version with a larger software project of mine, omitting all setup files and only including my modified version of the core file. My project is MIT licensed.

I've tried reading the PSF license text, but the license seems to talk specifically about redistribution of Python itself, and ProxyTypes is a 3rd-party module which is not distributed with Python, as far as I can tell, so I quickly became confused as to which parts of the PSF license actually apply to the code I'm trying to redistribute.

Additionally, it appears that the PSF license has changed dramatically over time. This code is 10 years old, should I assume that the PSF license means whatever version was current at the time of publication?

What attribution do I need to include my modified version of this file? Should I include my own copyright below any other necessary attribution to show that I've modified it, not merely redistributed it?

  • If it's a 3rd party library, did they also release it under the PSF license? If that is the case, then re-interpret the license as if the library were Python. Otherwise, you need to look at the license for the library specifically. – Berin Loritsch Jul 18 '16 at 18:43
  • NOTE: the bottom of that page you linked to suggests sending direct queries to the PEAK mailing list: eby-sarna.com/mailman/listinfo/PEAK Is anyone still monitoring it? – Berin Loritsch Jul 18 '16 at 18:46
  • Not sure. I'll try that. – Luke Taylor Jul 18 '16 at 19:05
  • @BerinLoritsch The email is dead. It's configured to no longer receive messages. The response is: "You are not allowed to post to this mailing list, and your message has been automatically rejected." – Luke Taylor Jul 18 '16 at 19:27
  • 1
    It's a shame, but after 10 years of inactivity it happens. I downloaded the source to see if I could find any tell tale license information. The PKG-INFO file lists these as the dual licenses: PSF or ZPL – Berin Loritsch Jul 18 '16 at 20:10
3

After doing some legwork, downloading the last package that was available for the library the only licensing information I found was in the PKG-INFO file:

License: PSF or ZPL

Which makes me believe you can choose either. After 10 years of neglect, efforts to contact the author may not go well, but it's worth attempting any obvious action you can. Based on our conversation, you were unsuccessful.

The ZPL states the following restrictions:

  1. Maintain the copyright notice
  2. You cannot use Zope to endorse or promote your library or use their trademarks (branding restrictions)
  3. And the more troublesome clause stating all changes must be prominently marked:

If any files are modified, you must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

Considering the type of changes you made you may be able to address the concerns in the following manner:

  • Header comments describing the systemic changes (Python 3 modernization, etc.)
  • Comments above the specific method you had to re-implement

It is a common practice to keep a copy of the license you are using in a text file named LICENSE or LICENSE.txt if you want to be friendly to Windows users. That makes it much clearer how you expect your library to be used.

  • I have a LICENSE file for the MIT license I'm using, do I need another one for ProxyTypes? It's not clear from your answer whether I need to include the whole license or just what it is. You say "the license you are using," which is MIT, and I've done that. – Luke Taylor Jul 18 '16 at 20:38
  • Yes, you want the LICENSE file for ProxyTypes. If you are using it as a library, include it in the library source code. If you are embedding it, then have a ProxyTypes.License file – Berin Loritsch Jul 18 '16 at 20:44
  • Ok. My modified version is a separate file, so I can just include it in the source. Thanks – Luke Taylor Jul 18 '16 at 20:49
  • Should I try to find out what version was in use 10 years ago, or just use the latest? – Luke Taylor Jul 18 '16 at 20:49
  • I'd just use the latest. – Berin Loritsch Jul 18 '16 at 21:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.