Skip to content
Menu

An adoption guide for your project.

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 together. Choose a release. Keep the text shared.

  1. 01

    Check the fit

    Review copyright, dependencies, contributor expectations and the needs of your users. The same terms should make sense to all of them.

  2. 02

    Choose the boundary

    When the necessary rights are in place, apply the published licence to future releases. Releases already published keep their existing terms.

  3. 03

    Use the shared licence

    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 →

Begin with the rights you actually have.

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 →

Make room for a real discussion

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 continue to run the project.

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.

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 →

Published attribution 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 →

A documented way to leave

Leaving the registry and changing a future release are distinct decisions. Existing grants and vested coverage continue under their terms.

The exit guide →

Adopt with your repository in mind.

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.

Open the adoption helper

Adopt: the wizard

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.

The text this wizard hands you is PurposeSource-1.0, published 2026-10-01

It is the canonical text on the licence page, byte for byte — commit it unchanged. Nothing records an adoption until the public registry opens with the first registered projects; the merged file is the adoption.

Before you start: leaving is the same act, reversed

Change the licence file back and you have left — no notification duty, no exit interview, no penalty (how to leave, step by step). The one thing an exit cannot undo: a payer keeps every version whose publication date falls on or before the end of their paid term, permanently. That is the clause that makes the licence buyable at all, and it is why your exit cannot strip anyone mid-deployment.

1 — What comes in

Run this first: it is the one step that can make adoption impossible rather than merely inconvenient. Nothing detects this for you. There is no service behind this page at this phase, so the answer is your own declaration about your own repository, and the wizard treats it as exactly that.

Proceed — there is no inbound grant to preserve. Every line is your own work, or arrived under an agreement that already permits this. Commit the licence file and adoption is complete on merge. If third-party code is in the history under terms you cannot state, answer "unknown or mixed" instead — that is the row that protects you.

Proceed, with notice preservation. A permissive licence grants the right to redistribute that code within a work under different terms, provided the original notices are preserved. So: add the licence file, and KEEP the previous licence text as a third-party notice for the pre-existing code — commonly LICENSE-MIT, NOTICE, or a third-party directory. Nothing is deleted, and the pre-existing fragments stay extractable under their original terms by anyone diligent enough to separate them.

Stop. Conversion needs every contributor’s consent. A copyleft obligation and this licence’s condition cannot both be satisfied by the same distribution, and no wizard can shortcut that. The honest routes are three: a per-contributor consent process you run in public, an existing agreement that already permits relicensing, or declining to adopt — which is a perfectly good outcome. Tooling that runs the consent process for you is a later phase and does not exist today, so this wizard emits no licence link for a copyleft repository and points you at a person instead.

Stop, and get the history reviewed. Adopting a licence over code whose provenance you cannot state is not a licensing decision, it is a liability. List the licence history of the repository, and separately of anything vendored into it, first. When you can state it, come back and pick the row that matches; while it stays unclear, the manual-review route below reaches a person rather than a form.

2 — Which repository

The licence text, and the three steps

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.

  1. Copy the text

    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.

  2. Create the file on the branch

    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.

  3. Commit it, and merge

    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.

The optional second file

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.

What the optional link puts in the file

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/**']