clearlydefined / clearlydefined/service

REUSE software integration

Open
#883 24 comments 2 reactions 1 assignee Claimed by @SebastianWolf-SAP View on GitHub
enhancement
Dominant language
TypeScript
Stars
51
Forks
46
PR merge metrics
No merged PRs in 30d

Description

ClearlyDefined could probably benefit from a native integration of FSFE's [REUSE software](https://reuse.software/), especially for Git-based sources. The files of repositories that are fully compliant with the REUSE specification, i.e. define a proper license and copyright attributions, are currently not automatically detected by ClearlyDefined in many cases, but their authors have already made the effort to _clearly define_ proper license and copyright information.

Example: https://github.com/SAP/styleguides
The [dep5 file](https://github.com/SAP/styleguides/blob/main/.reuse/dep5) specifies a wild card for all files in the repository. ClearlyDefined however only [detects the license of the LICENSE file itself](https://clearlydefined.io/definitions/git/github/sap/styleguides/9b1c3142c610c28cdfaf74ed4383c65e7c8db8da). As it's properly registered with the REUSE service, a simple [call to the REUSE API](https://api.reuse.software/status/github.com/SAP/styleguides) could do the job for the remaining files. If there are non-compliant files, the API also returns this information.

As [there are several possibilities to be compliant with REUSE](https://reuse.software/spec/), their tool should probably be used to check the repositories (instead of an own parser) - either by using their API or by executing their tool locally. I'm personally willing to engage in the integration efforts, I probably only need some hints where it would fit best and what you would prefer from an architecture perspective (API call or native tool integration). Of course, please also let me know your thoughts on the idea... :)

Benefits:
- Much better detection rates for license and copyright attributions
- Less follow-up work for curation
- Higher motivation for projects to adopt REUSE

Potential challenges:
- The REUSE Service only scans the latest commit to a Git repository, ClearlyDefined accepts an arbitrary commit hash that doesn't need to be the latest one. However, this might be acceptable as REUSE could simply be ignored if a harvest is triggered for an older commit or for a certain release. On the other side, it could be mitigated if the REUSE tool is run locally - the REUSE API wouldn't be called then.
- Additional complexity/error sources as another data source is added

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.