Skip to content

Make git-z compliant to REUSE #58

Description

@ejpcmac

Rationale

Licensing is important, and I’m already reusing parts of the design in other projects. As of now, I’m the only copyright owner of the code, but if new contributors join in it will be important to properly track copyrights and licenses.

Specifying licenses in a machine-readable format could also enable having parts of the code licensed under a permissive license, while the overall project is still licensed in a copyleft license.

Note: since then I also have decided in CO-2025-004 to follow REUSE.

Concept

Let’s follow instructions on the REUSE website.

Steps

  • Make the repository compliant to REUSE while keeping the same licensing (GPL-3.0-only) with the following exceptions:
    • the templates should be dual-licensed under CC0-1.0 OR GPL-3.0-only to reflect the fact that users are not required to keep the copyright notice;
    • some configuration files are using a template that is already under another license (clarify it);
    • non-copyrightable configuration files should use CC0-1.0.
  • Update the licensing info in the README.md and CONTRIBUTING.md
  • Re-license the documentation, configuration files and some helpers
    • The documentation should be made available under CC-BY-SA-4.0.
      • Ensure @gcugnet is OK to license his contributions under this license.
    • The development and CI environment should be made available under EUPL-1.2.
    • Some build helpers should be made available under EUPL-1.2.
    • Some runtime helpers should be made available under Apache-2.0 OR MIT.
  • Add cargo deny to check license compatibility of dependencies
  • Add a CI job to check REUSE compliance
  • Review the files included in the crate package

References

eza is using REUSE as well, and uses cargo-deny as part of its workflow to check dependencies.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions