ccnmtl / django-lti-provider

django-lti-provider adds LTI functionality for the Django web framework. This work began as a port of MIT's LTI Flask Sample, which demonstrates a sample LTI provider for the Flask Framework based on the Python LTI library, PyLTI.
Other
46 stars 28 forks source link

Software license? #193

Open tony opened 5 years ago

tony commented 5 years ago

Normally Django plugin (python packages in general) are licensed MIT/BSD/ISC/etc.

This GPL license makes it tricky to incorporate (in fact in my case I'd end up writing something totally new)

https://github.com/ccnmtl/django-lti-provider/blob/master/LICENSE

django-lti-provider depends on several other free open-source software as dependencies, which come with other licenses (compatible with the GPL) specified in [ test_reqs.txt ] including Django (http://www.djangoproject.com/) which is BSD-licensed.

It is true the BSD license django uses is compatible with GPL. So if a GPL project were to want to incorporate this, it would probably be okay. The issue is two things in my case:

  1. As a django application, it's meant to be incorporated in a custom django project, which in many cases (I guess not CTL's? but for django developers in general) will be closed source (and probably permissively licensed if it was an open source project based on django-lti-provider).
  2. BSD license is compatible with GPL, but not in the other direction. So if this package was licensed BSD, for instance, a GPL project is welcome to use it. But in the case of my project, it's not worth introducing it to the codebase (of a proprietary project) or downstream to an open source project.

(I think?) this may be true in general for other prospective users of this package.

tony commented 4 years ago

Any opinions on license in this?

PyLTI is BSD 2 Clause (https://github.com/mitodl/pylti)

Django is BSD (https://github.com/django/django/blob/master/LICENSE)

The difficulty is this can't be incorporated in a project the same way, even though it's open source

sebhaase commented 2 years ago

I would like to reraise this very issue. A GPL license makes it impossible to use this plugin! At least changing to LGPL would allow to use it. Especially consider that the libraries you are using - namely django-oauth and pylti - use a BSD license. Otherwise one would have rewrite your modules in a very similar way.

Thanks, Sebastian

tony commented 2 years ago

This is still an issue for me.

When someone writes a web app, their intention is to make a new creation, not to become a viral derivative of a django package that (hopefully!) helped them in the process.

sebhaase commented 2 years ago

Otherwise https://github.com/dmitry-viskov/pylti1.3 might be a newer option anyway...