diff --git a/docs/src/extensions/developing-extensions.md b/docs/src/extensions/developing-extensions.md index 947956f5b7033ca3b63f1ceed6653995c657ad40..1fa6509011e45e61de2f745c99c3ab84a495fe05 100644 --- a/docs/src/extensions/developing-extensions.md +++ b/docs/src/extensions/developing-extensions.md @@ -113,6 +113,22 @@ git submodule init git submodule update ``` +## Extension License Requirements + +As of October 1st, 2025, extension repositories must include one of the following licenses: + +- [MIT](https://opensource.org/license/mit) +- [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) + +This allows us to distribute the resulting binary produced from your extension code to our users. +Without a valid license, the pull request to add or update your extension in the following steps will fail CI. + +Your license file should be at the root of your extension repository with a filename like `LICENSE`, `LICENSE.txt`, `LICENSE-MIT`, etc. For the logic on how license files are identified, see the [license validation source code](https://github.com/zed-industries/extensions/blob/main/src/lib/license.js). + +> This license requirement applies only to your extension code itself (the code that gets compiled into the extension binary). +> It does not apply to any tools your extension may download or interact with, such as language servers or other external dependencies. +> If your repository contains both extension code and other projects (like a language server), you are not required to relicense those other projects—only the extension code needs to be one of the aforementioned accepted licenses. + ## Publishing your extension To publish an extension, open a PR to [the `zed-industries/extensions` repo](https://github.com/zed-industries/extensions). @@ -155,3 +171,5 @@ In your PR do the following: - Make sure the `version` matches the one set in `extension.toml` at the particular commit. If you'd like to automate this process, there is a [community GitHub Action](https://github.com/huacnlee/zed-extension-action) you can use. + +> **Note:** If your extension repository has a different license, you'll need to update it to be one of the [accepted extension licenses](#extension-license-requirements) before publishing your update.