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

NGI0 - Updating licensing aspects according REUSE #87

Closed
wants to merge 8 commits into from

Conversation

lnceballosz
Copy link
Contributor

Hello,

We have been working within the NGI0 framework, helping projects with their licensing and copyright management. After a quick check on your repository,I would like to propose some updates regarding copyright and licensing information. REUSE specifications intend to make licensing easier by setting one way to display all this legal information through comment headers on source files that can be human - and machine – readable.

The REUSE tool makes the process of applying licenses to files and compliance checking much easier. Check this screencast:

https://download.fsfe.org/videos/reuse/screencasts/reuse-tool.gif

Feel completely free to adopt these specifications by merging this pull request.

REUSE Features:

  • SPDX copyright and license comment headers for all relevant files.

  • LICENSES directory with all licenses used on the repository (Please be aware that I added the general license GPL 3.0 or later and also the text of the MIT license, since I noticed some files licensed under MIT)

  • Associating Copyright/ Licensing information through a DEP5 file in large directories (Keeping in mind that you have some large images directories e.g common/img, I bulked licensing these files through a dep5. However, I also added manually some license files to serve as example)

  • Licensing and copyright display of image files. Please be aware that I licensed three images on the directory common/img as an example of how to create a license file for an image file. However, I also noticed that you have some other image files in some other directories that I did not include in the dep5 file and that I recommend you to license as well.

Files missing copyright and licensing information:

I added the comment headers with copyright and license information to some of the files that lacked that information. I noticed that most of the files had a correct copyright information. However, as good practice, I modified them and I added the consistent headers with the REUSE specifications. Please also double check if the personal information in the headers is correct and consistent.

I provided license information to README file as well.

In .reuse folder I have created a dep5 file to bulk licensing the two large image directories. Please accept this commit only if you intend to bulk licensing these files under the information on the header on the dep5. Otherwise, please go ahead and follow the practical example I made to create specific license files for specific image files with the appropriate copyright and license information.
Note: There is an image file in the directory tests/unit_tests/lib/jasmine-3.5.0 - I did not create any license file for that image because I am not sure under what license it is and who the copyright holder is. So please, check that file and add the license/copyright information.

No contribution policy:

We have noticed that your project does not have a contribution policy. Therefore, we strongly recommend you to implement one. To get further information about this please check our documentation: https://download.fsfe.org/NGI0/V2/FSFE%20-%204%20-%20Free%20Software%20Contribution%20Policy.pdf

Further REUSE compliance

In case you find REUSE useful, we offer a wide range of tools to help you to continuously check and display compliance with the REUSE guidelines.

Hope that helps and thank you very much for the amazing job!

@polcak
Copy link
Owner

polcak commented Feb 16, 2021

Hello Lina,

Thank you for the contribution. The original headers (changed in 833ade5 ) were created according to https://github.com/polcak/jsrestrictor/blob/master/LICENSE#L629. I know it is outside terms and conditions. I am not a lawyer but I see the benefit of having human readable short notice present in each file. I found https://www.fsf.org/blogs/rms/rms-article-for-claritys-sake-please-dont-say-licensed-under-gnu-gpl-2 . Can you give me a pointer explaining that removing human readable text is a good idea?

A clarification, does reuse get data from the git history?

Notes that needs to be addressed before merging:

  • 93e53da should probably acknowledge real authors, I created some images but mostly, they were created by other contributors (see d1d3e3b).
  • 9752b8b the icons were created by Martin Timko (see git log --follow).

We are planning using doxygen, do you by any chance know its support for SPDX?

@lucaslasota
Copy link

Hi,

Thanks a lot for the follow up!

License notices in source files

reuse is indeed intended only to stick copyright and license information on the very source files and to be less intrusive possible. Other information, including notices can co-exist normally with the SPDX headers. Our team will improve this PR and re-add the deleted information on license notices.

REUSE and git history

reuse at the moment does not capture data from git history mainly because sometimes determining copyright from requires double checking and reviewing. reuse linter tool is mainly used to automate the headers.

Copyright of images

Thanks a lot for indicating the contributors. This will also be updated. One question, though. In d1d3e3b who are the authors, precisely?

Thanks a lot!

@polcak
Copy link
Owner

polcak commented Feb 16, 2021

I think that in d1d3e3b I created a derived work of the previous Makefile created in 6632646 (and 5646ea8). But the script seems to be really trivial, is it copyrightable?

@lucaslasota
Copy link

Thanks for the clarification! It's hard to say the threshold of what can be copyrighted. To be in the safer side, I'd recommend acknowledging the original author. We will follow that in the updated PR.

@@ -5,5 +5,5 @@ Source: https://github.com/polcak/jsrestrictor


Files: *common/img/* *logos_images/*
Copyright: Libor Polcak <polcak@fit.vutbr.cz>
Copyright: Libor Polcak <polcak@fit.vutbr.cz>, Martin Timko
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the case of more authors, please just add them to this file.

polcak added a commit that referenced this pull request Mar 4, 2021
See #87 on Github for more details
@polcak
Copy link
Owner

polcak commented Mar 4, 2021

I started to accepting the changes into master (see 76ea7e4). During release we came to an issue of Opera store not accepting the license with the file name GPL-3.0-or-later (they are strict on the file names contained in the extension, see #93). Are there any significant issues in providing only a single LICENSE file for Opera and maybe all Chromium-based browsers?

@lucaslasota
Copy link

Yes, it is indeed quite strange that Opera refuses such file names. I have opened an issue for that, let's hope they can provide some light on the reasoning for this rule.

In parallel to this, in case you find it doable, when compiling the JSR Opera extension, you could of course rename LICENSES/GPL-3.0-or-later.txt to LICENSE. REUSE does not explicitlydemand that the compiled form has to be REUSE compliant, as long as the source code form (basically their Git repo) is.

Thanks a lot for pointing that out!

@polcak
Copy link
Owner

polcak commented Mar 12, 2021

Hello Lina,

see https://github.com/polcak/jsrestrictor/tree/reuse. It does not contain 833ade5, ff00c6b, 5f994b6 (all should be squashed). They are in conflict now. Can these be generated automatically?

Do I understand correctly that I can omit 9752b8b as these are already contained in the dep5 file?

Thanks

@lnceballosz
Copy link
Contributor Author

Hi,
Yes, you are right you can omit 9752b8b since it is already in the dep5 file.

As for the first question, could you please explain me a bit more what the matter is, I am not sure if I understood correctly. I think it is not in that branch because all the commits I made where from my forked master to yours.

Thanks!

@polcak
Copy link
Owner

polcak commented Mar 15, 2021

Yes, you took the master but some of the code was known to be outdated. For example, we used to have a copy of the Jasmine framework directly in the repository. Now, we use Jasmine as a dependency. I knew, others were working on the removal of Jasmine from the repository so I waited with merging the changes to avoid conflicts between the changes of this issue and previously started work.

Now I want to move on to this issue. I created a new branch based on the (then) current master. I cherry-picked most of the commits from your branch but 833ade5, ff00c6b, 5f994b6 cannot be cherry-picked because they modify some files that are no longer in the repository, were moved, etc. I can go conflict by conflict, investigate the issue and fix it. But if I can recreate the content of these three commits running a tool that should be much more time effective and it should also help in keeping the repository reuse-compatible.

@lnceballosz
Copy link
Contributor Author

lnceballosz commented Mar 15, 2021

Oh okay now I get it, yes you can follow this command and run the reuse tool to add automatically the headers to the files https://reuse.readthedocs.io/en/stable/usage.html#addheader, so as you said it is more effective and your project will be reuse compliant.
Thanks again for adopting REUSE specifications!

Best,
Lina

@polcak polcak closed this in 0e35578 Jun 10, 2021
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 this pull request may close these issues.

None yet

3 participants