blob: a16514982b1ac8d3247726a051d107d33aa83469 [file] [log] [blame] [view]
This plugin allows to configure required copyright reviews.
The plugin looks for text patterns that might be license terms or copyright
ownership declarations in newly uploaded revisions. It broadly groups findings
into first-party, third-party, forbidden or unknown.
The plugin requires special review when third-party code appears outside of
areas designated for third-party code, or when forbidden or unknown licenses
appear anywhere.
Note: The plugin does not make definitive assertions about the licenses or
owners it finds. It leaves that up to a copyright-knowledgeable human reviewer.
It will have false-positives--especially in the unknown category. It may also
have false negatives.
## First-party
Licensed or owned by the owner of the gerrit repository.
e.g. The Android Open Source Project (AOSP) uses the Apache 2.0 License and
accepts any contributions released under that license as first-party.
## Third-party
Licensed or owned by someone other than the user or the owner of the gerrit
repository, but released under license terms compatible with the first-party
license and accepted by the owners of the repository.
e.g. AOSP accepts a handful of legacy open-source licenses like MIT or BSD.
## Forbidden
Licensed under terms incompatible with the first-party license or considered
onerous by the owner of the host.
e.g. AOSP cannot accept restrictions prohibiting "commercial use" because
vendors generally sell Android devices for profit.
## Unknown
In addition to common copyright and license patterns, the scanner searches for
a set of words and patterns that often appear in or near copyright/license
declarations, but do not often appear elsewhere in source code.
These apparent license terms do not match any of the known licenses. Because
such licenses might contain any number of incompatible or onerous terms, they
are treated the same as forbidden. i.e. always require review.
Unrecognized authors or owners are considered third-party rather than unknown.