mdmintz / pdbp

pdbp (Pdb+): A drop-in replacement for pdb and pdbpp. To replace "pdb", add "import pdbp" to an "__init__.py" file.
Other
76 stars 2 forks source link

Clarification of licensing and attribution of the code. #65

Closed jubalfh closed 4 months ago

jubalfh commented 4 months ago

A basic code analysis shows that the package is a fork, and as such a direct derivative of pdbpp, which uses three-clause BSD license.

The BSD license terms, as non-onerous as they are, require replicating the copyright notice, even if new changes are licensed using a different software license.

Please reinstate the original copyright notice and code attribution, and credit Antonio Cuni's work directly, at the very least, thanks. Correcting the misleading commit messages that suggest that the package is entirely an original work would be useful, too.

Cc: @antocuni, @blueyed, @megies.

mdmintz commented 4 months ago

I reached out to @blueyed on pytest-dev Discord (I've been a pytest contributor for several years now, where @blueyed is a member). Waiting to have a friendly conversation with him to see if he approves of the pdbp fork as is. If any action needs to be done, actions will be taken.

Screenshot 2024-07-08 at 6 44 54 PM

In the meantime, I'll close this for now, but I'll reopen it later if necessary.

jubalfh commented 4 months ago

you're in breach of license terms; please read the three-clause BSD license. (it's not very long.)

jubalfh commented 4 months ago

(it is quite a feat to manage to get in breach of the three-clause BSD license, so, congratulations.)

megies commented 4 months ago

Cc: @antocuni, @blueyed, @megies.

I'm a bit puzzled why I'm tagged here @jubalfh

mauke commented 4 months ago

@megies Probably because your name is attached to this commit: https://github.com/pdbpp/pdbpp/commit/eec0e752b471140b70cb29187947bc8681a25467

Doesn't seem directly relevant, though.

megies commented 4 months ago

Ah yeah, I see. Well I only made sure the license mentioned for the project actually was present as a LICENSE file, looks like. I do agree though that it is insanely weird and cringe to copy a whole project and commit it without its original commit history and slightly rename it. Really weird.

mdmintz commented 4 months ago

pdbpp may have the wrong license, as https://github.com/pdbpp/pdbpp/blob/master/src/pdbpp.py copied from https://github.com/python/cpython/blob/f481a02e6c7c981d1316267bad5fb94fee912ad6/Lib/pdb.py and made changes.

carlosal1015 commented 4 months ago

If the license issue violation persist (let say one month) I will consider according to comments here, remove SeleniumBase and dependencies from Arch Linux User Repository and communicate to Kitware Inc (for https://kitware.github.io/trame) that some check dependency can not be distributed in popular Linux distributions.

mdmintz commented 4 months ago

pdbpp (not pdbp) is out of compliance with the copyright licenses it is beholden to. This should be reported upstream first. This is because they used CPython code without proper licensing. More info that I posted earlier:

Based on the popular https://github.com/pdbpp/pdbpp package, an example of a repo that took CPython code and modified it (compare https://github.com/pdbpp/pdbpp/blob/master/src/pdbpp.py to https://github.com/python/cpython/blob/f481a02e6c7c981d1316267bad5fb94fee912ad6/Lib/pdb.py) here's one example: (compare https://github.com/pdbpp/pdbpp/blob/master/src/pdbpp.py#L1085 to https://github.com/python/cpython/blob/f481a02e6c7c981d1316267bad5fb94fee912ad6/Lib/pdb.py#L446) it shows clearly that they modified CPython code, and did not set the proper license.

So in order to fix pdbp, first pdbpp must be relicensed. Please reach out to them first.

mdmintz commented 4 months ago

Resolved in https://github.com/mdmintz/pdbp/pull/67