Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License Issue - Plugin can't be used with Sphinx ! #7

Open
Paebbels opened this issue Jan 2, 2021 · 3 comments · May be fixed by #9
Open

License Issue - Plugin can't be used with Sphinx ! #7

Paebbels opened this issue Jan 2, 2021 · 3 comments · May be fixed by #9

Comments

@Paebbels
Copy link

Paebbels commented Jan 2, 2021

This project is GPL 2.0 licensed. This means, it can't be used in ANY Sphinx-based documentation project !!

Problems

  1. Sphinx is BSD-3-Clause licensed. GPL (2.0 and 3.0) prohibits the usage with permissive licenses.
  2. The project has no linking exception, so compatibility to permissive projects is not given.

So when a documentation project imports this plugin into Sphinx via conf.py it is infringing the copyright of this project.

Details

  • Copyleft licensed code like GPL 2.0 can use MIT, BSD, APL, Apache licensed code.
  • A permissive license can't use code from projects with strong copyleft licenses.

Copyright Compatibility (please note direction of arrows.):
image
Source: https://commons.wikimedia.org/wiki/File:Floss-license-slide-image.png

Possible Workaround

  • Read about GNU Lesser GPL licenses and if this could create compatibility to Sphinx.
  • Read about GPL linking exception.

I ❤️ this project and how it improves my documentation. Unfortunately I have to remove this plugin from all my Python projects and I also have to warn other user of using it.

Please reconsider the used license and ensure compatibility to BSD, MIT, PAL and Apache licenses, so projects using Sphinx can use this plugin.

Sorry, but currently this whole project is completely useless.


/cc @umarcor

@fraoustin
Copy link
Owner

If I switch licence for BSD, it's ok for you ?

@Paebbels
Copy link
Author

Paebbels commented Jan 2, 2021

Hello @fraoustin,

it's not just a question for me :).


I think any permissive license will fulfill the job. Permissive licenses are (most popular ones): MIT, BSD 2-clause, BSD 3-clause, X11, Apache License 2.0.

From personal observation, most smaller Python projects are using MIT (like defacto standard for Python projects) or BSD licenses (2 or 3 clause variants). Apache License 2.0 is mostly used for bigger projects. I personally use Apache License 2.0 in all my projects to keep it simple.

But that's not the question. The question is how to choose a license for your project to be compatible with the license used by Sphinx, so users of your project can import this projects code as a module via conf.py.

So my suggestion (not as a lawyer !) is to use either MIT or a BSD variant. Apache License might be oversized for your project. I'm not experienced with the differences between BSD 2- and 3-clause variants. If I remember correctly, BSD 3-clause is almost like MIT.

@Paebbels
Copy link
Author

Paebbels commented May 8, 2021

@fraoustin any updates on this?

@Paebbels Paebbels linked a pull request Aug 23, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants