Skip to content

chore: make repository REUSE-compliant and improve copyright attribution#106

Open
PhenChua29 wants to merge 7 commits into
devicelab-dev:mainfrom
PhenChua29:chore/reuse-compliance
Open

chore: make repository REUSE-compliant and improve copyright attribution#106
PhenChua29 wants to merge 7 commits into
devicelab-dev:mainfrom
PhenChua29:chore/reuse-compliance

Conversation

@PhenChua29

@PhenChua29 PhenChua29 commented Jun 18, 2026

Copy link
Copy Markdown

Summary

This PR closes #105 by resolving all problems identified in that issue.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)

Changes Made

  • Added SPDX-FileCopyrightText and SPDX-License-Identifier headers to all ~230 source files
  • Created LICENSES/ directory with the required licenses and REUSE.toml for binary/untaggable assets
  • Added CONTRIBUTORS.md and updated copyright headers to attribute project contributors
  • Updated copyright year range to 2024–2026 across all files
  • Added CI step (.github/workflows) to run reuse lint on every pull request
  • Added REUSE compliance instructions to project documentation

Related Issues

Fixes #105

Testing

  • Tests pass locally (make test)
  • Linting passes (make lint)
  • Added tests for new functionality
  • Tested manually with sample flows

Checklist

  • Code follows project style guidelines
  • Self-reviewed the code
  • Added/updated documentation as needed
  • No breaking changes (or documented if breaking)
  • CHANGELOG.md updated (for notable changes)

Additional Notes

All changes are purely metadata/header additions. No production logic was modified.

Running reuse lint after this PR returns 781/784 files compliant:

Full logs

MISSING COPYRIGHT AND LICENSING INFORMATION

The following files have no copyright and licensing information:

  • drivers/android/devicelab-android-driver-test.apk
  • drivers/android/devicelab-android-driver.apk
  • drivers/android/settings_apk-debug.apk

SUMMARY

  • Bad licenses: 0
  • Deprecated licenses: 0
  • Licenses without file extension: 0
  • Missing licenses: 0
  • Unused licenses: 0
  • Used licenses: LicenseRef-CocoaHTTPServer, LicenseRef-RoutingHTTPServer, LicenseRef-agent-device, LicenseRef-appium-WebDriverAgent, LicenseRef-appium-uiautomator2-server, LicenseRef-maestro-runner
  • Read errors: 0
  • Invalid SPDX License Expressions: 0
  • Files with copyright information: 781 / 784
  • Files with license information: 781 / 784

Unfortunately, your project is not compliant with version 3.3 of the REUSE Specification :-(

RECOMMENDATIONS

  • Fix missing copyright/licensing information: For one or more files, the tool
    cannot find copyright and/or licensing information. You typically do this by
    adding 'SPDX-FileCopyrightText' and 'SPDX-License-Identifier' tags to each
    file. The tutorial explains additional ways to do this:
    https://reuse.software/tutorial/

The project is not yet fully passing due to 3 first-party Android APKs whose exact licensing provenance is currently unknown:

  • drivers/android/devicelab-android-driver.apk
  • drivers/android/devicelab-android-driver-test.apk
  • drivers/android/settings_apk-debug.apk

These are commented out in REUSE.toml pending clarification of their copyright owner and license. Once determined, they can be uncommented and annotated to bring the project to full REUSE compliance.

Note

Please review the license and copyright annotations introduced by this PR carefully before merging. While reasonable efforts were made to determine the correct licensing information from upstream sources and file contents, maintainers should independently verify that the assigned licenses and copyright attributions are accurate and appropriate for this project.

…fication

- Add REUSE.toml with per-file and glob licensing rules
- Add required licenses under LICENSES/
- Add SPDX license headers to all 226 source files
Extend the copyright year range to cover active development through 2026.
Update copyright headers to attribute contributors by name alongside the organisation.
List project contributors as required by the Apache 2.0 license notice.
Fix incorrect year ranges in SPDX headers that were still referencing 2024 only.
Add a reuse-lint step to the CI workflow so REUSE compliance is enforced on every push and pull request.
Document the REUSE header requirement in CONTRIBUTING.md so contributors know to include SPDX headers or REUSE.toml entries when adding new files.
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.

[LICENSE] Make repository REUSE-compliant and improve copyright attribution

1 participant