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

Incomplete license information #396

Open
stefan6419846 opened this issue Jun 24, 2024 · 2 comments
Open

Incomplete license information #396

stefan6419846 opened this issue Jun 24, 2024 · 2 comments

Comments

@stefan6419846
Copy link

stefan6419846 commented Jun 24, 2024

The wheels apparently ship with patched templates from Django itself:

     adminsortable2/templates/adminsortable2/edit_inline/stacked-django-4.2.html          
     adminsortable2/templates/adminsortable2/edit_inline/stacked-django-5.0.html
     adminsortable2/templates/adminsortable2/edit_inline/tabular-django-4.2.html
adminsortable2/templates/adminsortable2/edit_inline/tabular-django-4.2.html.orig
     adminsortable2/templates/adminsortable2/edit_inline/tabular-django-5.0.html
adminsortable2/templates/adminsortable2/edit_inline/tabular-django-5.0.html.orig

I could not find any license details for these files (especially relevant on distribution, id est inside the PyPI wheels), although they are subject to the BSD-3-Clause license and have different copyrights compared to your own package code.

@jrief
Copy link
Owner

jrief commented Jun 24, 2024

Interesting use case. The patched files are not part of this repository, they are generated during the build and publishing state. So what is the resulting license of a BSD-3 licensed file patched by an MIT licensed file?

What would you suggest as solution?

@stefan6419846
Copy link
Author

One could argue that the patches should be subject to the BSD-3-Clause license as well as they refer to BSD-3-Clause code and partially reproduce them. Other approaches might be possible, but I am not a lawyer and therefore I am limiting this to the basic approach.

I would recommend to either add a corresponding section to the django-admin-sortable2 license file or to each of the bundled files. (An alternative could be the ABOUT File Specification, although this might require adapting your MANIFEST file to include these files inside the distribution.) Something like this should work (here inside the template, I use some similar snippet inside some of my own code as well):

{% comment %}
This file is a slightly modified copy of https://github.com/django/django/blob/main/django/contrib/admin/templates/admin/edit_inline/stacked.html as distributed with Django 4.2.3
and has been generated by https://github.com/jrief/django-admin-sortable2/blob/79bd6948ab861cba8fd465a679ae0722e3b64d6b/patches/stacked-django-4.0.patch

Original license:

```
Copyright (c) Django Software Foundation and individual contributors.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice,
       this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.

    3. Neither the name of Django nor the names of its contributors may be used
       to endorse or promote products derived from this software without
       specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```
{% endcomment %}

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

No branches or pull requests

2 participants