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

NGI - Updating licensing aspects according to REUSE #440

Merged
merged 6 commits into from
Aug 10, 2024

Conversation

lnceballosz
Copy link
Contributor

Hello,

I work for the Free Software Foundation Europe (FSFE), and we have been working with the NGI 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 is an FSFE-developed initiative intended to make licensing easier by establishing a single way to display all copyright and licensing information through comment headers on source files that can be human- and machine-readable.

REUSE Features:

Copyright and Licensing Information in each file

One of the main features of REUSE is that each file in the repository contains copyright and license information with the help of a comment header. To serve as a guideline and a practical example of how REUSE looks, I have added the header to some of the files in your repository. I'd like to mention three things about this: first, since I was not able to find such specific information in the repo, I've added as copyright holders "AI Horde developers", please in case you want to add different information here, feel free to modify this information accordingly. Second, there is a mention that the license of the project is the AGPLv3 but since you know there are two versions of it: the -only and or-later, I kept in the tags as well as in the text of the license the AGPL-3.0-only. This is one of the issues we want to avoid with REUSE, having an unclear license. Regarding the year to be included in the headers I've added 2022 - which according to the project is the year when the project started. However, you can also change this depending on your preference.

So, once again, please double-check if the personal information in the headers is correct and consistent, in the case of several copyright holders please update that information in the headers. In case you want to license certain files under a different license, special attention should also be paid to that aspect and such files should contain the appropriate SPDX tag.

Please note that REUSE has also an option to add this legal information for binary and uncommentable files, as well as for insignificant files - no copyrightable files such as .gitignore. An appropriate license for the image files that you have in your project, and documentation files is also encouraged.

LICENSES directory in the root of the project with the licenses used on the repository:

I included in this directory a file with the text of the AGPL-3.0-only license. I did not do anything with the existing LICENSE file in the root of the directory. It is up to you if you want to keep it or delete it, however, this won't affect the REUSE specification. Please also be aware, that if some pieces of your project use a different license, such license text should be added to the LICENSES/ directory as well as to the specific files.

Please feel free to check the REUSE documentation and the helper tool , and if you are interested in making your project REUSE compliant, please add the legal information to the missing files. I am also available if you want support with the process.

Wide range of tools

In case you find REUSE useful, we offer other tools to help you continuously check and display compliance with the REUSE guidelines. For instance, you can automatically run reuse lint on every commit as a pre-commit hook for Git. And, it can be easily integrated into your existing CI/CD processes to continuously test your repository and its changes for REUSE compliance

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

@db0
Copy link
Member

db0 commented Aug 10, 2024

Hello thanks for the info. I have adjusted your branch to use the AGPL-or-later and the copyright notice using search & replace. I am trying to to use the tool to update some of the copyright information but it doesn't have a replace feature, only an append one, which makes it a bit hard to replace wrong info. Is there a way to do this easily?

@db0
Copy link
Member

db0 commented Aug 10, 2024

Likewise, is there a way to tell your linter to ignore certain files in the repository pyproject.toml like with do for ruff and black?

@db0
Copy link
Member

db0 commented Aug 10, 2024

nevermind, I read your FAQ. Some stuff is uncopyrightable, but I used your suggested best practice to mark them as CC0.

@tazlin I added your copyrights in various files, but I may have missed some stuff. Feel free to adjust the copyright notices with your preferred name and add copyrights or contributions to anything I may have missed.

@db0 db0 added the allow-ci A PR with this label will run through CI. label Aug 10, 2024
@db0 db0 merged commit 2a75039 into Haidra-Org:main Aug 10, 2024
2 of 3 checks passed
@tazlin
Copy link
Member

tazlin commented Aug 10, 2024

I skimmed through it and it looks largely right; I will ultimately officially grant copyright for all of my code to Haidra anyway once we have some sort of process to onboard devs with an official grant-of-copyright et al. agreement. The only other file that would concern me is the kudos model handler which is effectively copied code from @jug-dev from the corresponding code in hordelib.

I will also do the needful on the other haidra org projects in terms of the recommendations listed in this PR.

@lnceballosz
Copy link
Contributor Author

Hey all,

I'm glad you were able to find the way with our documentation and FAQ. Super cool that your project is now REUSE compliant, and please do not hesitate to reach out to me if you come across any questions/feedback on the tool and the specification!

Great job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
allow-ci A PR with this label will run through CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants