API for checking REUSE compliance of a git project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Max Mehl afb924a61a
fix and extend API FAQ
1 month ago
.reuse Make HTML pages look better (#26) 3 months ago
LICENSES Make HTML pages look better (#26) 3 months ago
doc make REUSE compliant 3 months ago
reuse_api fix and extend API FAQ 1 month ago
tests Make compliant 3 months ago
.dockerignore Replace SPDX-Copyright with SPDX-FileCopyrightText 3 months ago
.drone.yml Merge branch 'master' into registration 3 months ago
.gitignore Merge branch 'master' into registration 3 months ago
Dockerfile Replace SPDX-Copyright with SPDX-FileCopyrightText 3 months ago
MANIFEST.in Replace SPDX-Copyright with SPDX-FileCopyrightText 3 months ago
Makefile Replace SPDX-Copyright with SPDX-FileCopyrightText 3 months ago
Pipfile Merge branch 'master' into registration 3 months ago
Pipfile.lock Add registration process using FSFE form server 3 months ago
Pipfile.lock.license Make compliant 3 months ago
README.md Verbose README, delete plan 3 months ago
docker-compose.yml Merge branch 'master' into registration 3 months ago
pyproject.toml Replace SPDX-Copyright with SPDX-FileCopyrightText 3 months ago
setup.py Replace SPDX-Copyright with SPDX-FileCopyrightText 3 months ago

README.md

REUSE API

Build Status REUSE compliant

The REUSE API checks repositories for their compliance with the REUSE best practices. It basically runs the lint command of the REUSE helper tool for the default branch of a project.

REUSE offers many tools and methods to support developers in making their licensing more clear and simple. This API is an additional component and enables other users to see a project’s REUSE status transparently.

This repository contains the web part for all user interaction. The parts needed for the external server performing the checks are hosted in the api-worker repository.

This service is accessible via api.reuse.software, but interested users can set up their own instance.

Features

  • Users can register any public Git repository with this API.
  • The API runs the linter on each registered project.
  • Re-check projects if they have been updated (new commit).
  • Informative information page for each registered project.
  • Offer a live badge indicating the REUSE compliance status.
  • Offer a JSON for parsing the current REUSE status.

Background

Copyright and licensing is difficult, especially when reusing software from different projects that are released under various different licenses. REUSE was started by the Free Software Foundation Europe (FSFE) to provide a set of recommendations to make licensing your Free Software projects easier. Not only do these recommendations make it easier for you to declare the licenses under which your works are released, but they also make it easier for a computer to understand how your project is licensed.

As a short summary, the recommendations are threefold:

  1. Choose and provide licenses
  2. Add copyright and licensing information to each file
  3. Confirm REUSE compliance

You are recommended to read the recommendations in full for more details.

Install

Please refer to the /doc directory of this project for information on how to install and configure the REUSE API.

Maintainers

Contribute

Any pull requests or suggestions are welcome at https://git.fsfe.org/reuse/api or via e-mail to one of the maintainers. General inquiries can be sent to the REUSE mailing list.

Information on how to develop and hack around with this project can be found in the file /doc/hack.md.

License

Copyright © 2019 Free Software Foundation Europe e.V.

This work is licensed under multiple licences. Because keeping this section up-to-date is challenging, here is a brief summary as of September 2019:

  • All original source code is licensed under GPL-3.0-or-later.
  • All documentation and most graphical files are licensed under CC-BY-SA-4.0.
  • Some borrowed HTML code from the REUSE website is licenses under MIT.
  • Other external web elements like libraries and fonts are licenses under Apache-2.0, MIT, OFL-1.1.
  • Most configuration files are licenses under CC0-1.0.

For more accurate information, check the individual files.