Skip to content
6 changes: 6 additions & 0 deletions bin/handbook-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,12 @@
"markdown_source": "https:\/\/github.com\/wp-cli\/handbook\/blob\/main\/references\/internal-api.md",
"parent": "references"
},
"licensing": {
"title": "Licensing",
"slug": "licensing",
"markdown_source": "https:\/\/github.com\/wp-cli\/handbook\/blob\/main\/contributions\/licensing.md",
"parent": "contributions"
},
"philosophy": {
"title": "Philosophy",
"slug": "philosophy",
Expand Down
1 change: 1 addition & 0 deletions contributions.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
* **[WordCamp Contributor Day](https://make.wordpress.org/cli/handbook/contributions/contributor-day/)** - Quick-start guide for WordCamp Contributor Days.
* **[Ideas](https://github.com/wp-cli/ideas)** - Up-vote existing ideas or submit your own.
* **[Governance](https://make.wordpress.org/cli/handbook/contributions/governance/)** - Summary of those behind WP-CLI.
* **[Licensing](https://make.wordpress.org/cli/handbook/contributions/licensing/)** - License requirements for third-party code and dependencies.
* **[Implementation details](https://make.wordpress.org/cli/handbook/contributions/implementation-details/)** - Catalog of historical design decisions.
* **[Philosophy](https://make.wordpress.org/cli/handbook/contributions/philosophy/)** - Guidelines which inform project scope, command organization, and behavior.
* **[Pull requests](https://make.wordpress.org/cli/handbook/contributions/pull-requests/)** - Submit your first bug fix or new feature.
Expand Down
46 changes: 46 additions & 0 deletions contributions/licensing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Licensing

WP-CLI is licensed under the [MIT license](https://github.com/wp-cli/wp-cli/blob/master/LICENSE). This document outlines WP-CLI's licensing expectations for third-party code.

## Accepting third-party code into the official repository/organization

All code accepted into repositories under the official [WP-CLI GitHub organization](https://github.com/wp-cli) must be compatible with the MIT license. This ensures that WP-CLI can remain freely usable, modifiable, and distributable by anyone.

## Bundling third-party code

When bundling third-party code directly into a WP-CLI package (i.e., copying code into the repository rather than declaring it as a dependency), the code must:

1. **Be licensed under an MIT-compatible license**
2. **Include the original license file or header** - The third-party code's license terms must be preserved
3. **Maintain copyright notices** - Original copyright notices must remain intact
4. **Be clearly identified** - It should be clear which code is third-party and where it came from

When in doubt about whether to bundle third-party code, consider using it as a dependency through Composer instead.

## Depending on third-party code

Third-party packages declared as dependencies (through Composer or other package managers) must be licensed under MIT-compatible licenses. This applies to both:

* **Direct dependencies** - Packages explicitly listed in `composer.json`
* **Transitive dependencies** - Dependencies of your dependencies

### Checking dependency licenses

Before adding a new dependency:

1. Check the dependency's `LICENSE` file or `composer.json` for license information
2. Verify that all of the dependency's own dependencies are also compatible
3. Use `composer show -t` to view the dependency tree with license information, or install additional tools like `composer/satis` to run `composer licenses` for detailed license auditing

## Why these requirements?

These licensing requirements ensure that:

1. **WP-CLI remains free and open** - Users can use, modify, and distribute WP-CLI without legal concerns
2. **Commercial use is permitted** - Companies can use and integrate WP-CLI into their products
3. **No license conflicts** - All code in the WP-CLI ecosystem is legally compatible
4. **Simplicity for users** - Users don't need to track multiple license requirements

## Questions?

If you have questions about licensing or need clarification on whether a specific license is compatible, please open an issue or contact the [WP-CLI maintainers](https://github.com/orgs/wp-cli/teams/maintainers).