Skip to content

RAT License Checks

Dianjin Wang edited this page Aug 13, 2025 · 1 revision

What is Apache Rat?

Apache Rat is a release audit tool that ensures license compliance for Apache projects. It scans source code repositories to identify files missing proper license headers and validates that all files use approved licenses, helping maintain the legal integrity required for Apache project releases.

Running Apache Rat

Execute this command from the Cloudberry source directory root to generate a plain text license compliance report:

mvn apache-rat:check

Expected output:

[INFO] Rat check: Summary over all files. Unapproved: 0, unknown: 0, generated: 1, approved: 5332 licenses.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  16.881 s
[INFO] Finished at: 2025-08-13T14:18:21+08:00
[INFO] ------------------------------------------------------------------------

The detailed report is saved to target/rat.txt for review.

For a web-based report, run mvn apache-rat:rat followed by mvn site. This generates a browsable report under target/site/*.

Configuration

The pom.xml file defines the Apache RAT license validation for Apache Cloudberry (Incubating).

  • Third-party files: Add files without license headers to the exclusion list, ensuring they use Apache License 2.0 compatible licenses.
  • New files by the Cloudberry member: Add the standard Apache License header to all original files created by Cloudberry community members.

Automated Workflow

Our Apache Rat audit workflow automatically checks every pull request for license compliance. Failed checks must be resolved before merging.

Example failure: https://github.com/apache/cloudberry/actions/runs/16673188459

Clone this wiki locally