How to redistribute modified code under PSF license

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?


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.


Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *