A free exception when one is needed
The project steward can grant a gratis, public waiver for a named organisation and repository. Waivers cannot be sold.
Waiver rules →Start with your community and the rights in your code. Adoption is one shared licence file. There is no ongoing project fee or recurring reporting process.
Review copyright, dependencies, contributor expectations and the needs of your users. The same terms should make sense to all of them.
When the necessary rights are in place, apply the published licence to future releases. Releases already published keep their existing terms.
The canonical licence is the same across projects. An optional PURPOSE.yml carries operational metadata; it never changes the legal terms.
Purpose Source License 1.0 was published on 2026-10-01 by the Purpose Source Association. Its canonical text, unchanged, is the file a release adopts. This page's helper hands you exactly that text. If an adoption pull request proposes any other text, do not merge it; commit the canonical text instead. Licence credentials are sold through our online reseller Paddle. Checkout opens at launch; no payment is taken before then. The public registry opens with the first registered projects; waivers come with the platform’s claim process.
The complete adoption guide →For code you own entirely, the decision is straightforward. Third-party code needs a closer look: preserve permissive licence notices, review mixed histories, and obtain the permissions needed for incompatible copyleft code.
Original grants do not disappear. Pre-existing permissively licensed code remains available under its original terms.
Licence compatibility and notices →People can continue a fork of an earlier permissive release. Some employers only approve OSI-approved licences. Explain why you are considering the change and hear from the people who rely on the project.
There is no project fee. The practical work is reviewing rights, talking to contributors and applying the licence correctly—not promising that every project can switch without effort.
You control reviews, releases and the roadmap. Contributors keep their copyright. The Association handles the registry and fee administration, without taking ownership of code it registers for others.
Claiming your repository is a separate, optional platform process, with repository authority checked and its own terms accepted. It gives administrators their powers; the registry listing does not depend on it. A file in your repository cannot appoint a legal steward.
The project steward can grant a gratis, public waiver for a named organisation and repository. Waivers cannot be sold.
Waiver rules →A project can request a weight class. The criteria and review determine the recorded class; editing a manifest does not grant it.
How attribution is calculated →Leaving the registry and changing a future release are distinct decisions. Existing grants and vested coverage continue under their terms.
The exit guide →The helper below checks the declared licence family and prepares a local review path. It cannot establish rights you have not supplied or replace the platform’s claim process.
Three answers and one link. The link opens the repository host's own new-file form — with the file name filled and the body empty, because the text of this version is too long to travel in a URL — so the branch and the pull request are created by you, under your identity, in your repository. Nothing here signs you up for anything, nothing is sent anywhere, and no link is generated until you ask for one.
Optional, and skipping it costs you nothing — what it contains and what the defaults are. Adoption completes when the licence pull request merges. Nothing else: not this file, not an account, not a claim.
No adoption link is generated for this answer, and that is the wizard working rather than failing. If you want to talk it through — the consent route, a dependency change, or a history that needs reviewing — write to us; a person answers within the published response target.
This is the whole of adoption by hand, and it is available whatever the wizard decides. Percent-encoded, this version's text is 27,204 characters against a published URL ceiling of 7,500, so it is past the ceiling: the wizard hands you the same form with the file name filled and the body empty, and the text comes from the field below. That is the path a full licence text was always expected to take. The wizard measures the address it would build every time rather than assuming either way, and says which one it got.
Select the field below and copy it — the whole text is in that field either way, and with scripting on there is a one-press button beside it. Do not reflow it, do not add a preamble, do not parameterise it: one canonical text with zero variants is why a programme office reviews this category once rather than once per project.
On your repository, choose Add file → Create new file, name it
LICENSE.md, and paste. The wizard's link does these two things
for you when scripting is on.
Commit to a branch, open the pull request, merge. Adoption is complete on merge — no account, no registration, no handover, and no permission from us.
PURPOSE.yml is optional, and the normal case is not to have one. A
repository without it is fully and equally adopted, with the published
defaults applied: cause routing follows the board's allocation key until you choose
categories in the project dashboard, there are no attribution overrides, there is no successor
designation, and the weight class is Standard — a class is requested on the project
dashboard, never in this file. The registry does not read the file yet, so it changes
nothing today. Any legal-looking field in it is an
informational mirror and non-authoritative: the licence file governs. Field by field,
with every default and every bound:
the manifest reference.
Every operational field, present and commented out — so what you commit is valid, changes nothing, and documents itself.
# PURPOSE.yml — operational metadata only. The LICENSE file governs. # Every field except `schema` is OPTIONAL. A repository without this file is fully and # equally adopted; the published defaults then apply. Any legal-looking field here is an # informational mirror and is non-authoritative. schema: 1 # display: # summary: One line about what this project is. # topics: [cli, tooling] # allocation: # defaults: [education, health] # slugs from the published category-fund menu only # attribution: # exclude_paths: ['vendor/**']