How to apply an ISL license
Version 1.2 · August 2026
1. Choose the variant
If you are unsure, the full list of licenses compares all fourteen, and the choosing-a-license guide walks through the decision step by step. In short, for software: ISL-P for maximum adoption, ISL-C for whole-program copyleft that keeps derivatives endowed to the community, ISL-LC for a weaker, file-level copyleft that still lets you link or combine with differently-licensed code, ISL-NETC for AGPL-style copyleft that also covers network/SaaS use, ISL-R for source transparency without granting modification or redistribution, ISL-EULA for closed-source products, and ISL-NC for software shared for non-commercial use only. For non-software creative works: ISL-CW and ISL-CW-NC require attribution only (commercial and non-commercial respectively), ISL-CW-SA and ISL-CW-NC-SA add a share-alike requirement on adaptations, ISL-CW-ND and ISL-CW-NC-ND permit sharing the unmodified work only, and ISL-CW-0 is the public-domain-style creative-works variant with no attribution requirement.
2. Add the license file
Download the license text and place it at the root of your repository as
LICENSE.md (or LICENSE), unmodified apart from the bracketed fields it
provides for. Its own Notice on Reproducing This License says so: completing those
fields is not a modification of the text, and a copy so completed may be published under its ISL
name. Change nothing else. Every variant has
two fields for you to complete: the copyright line near the
top, and the [LICENSOR] placeholder in the Licensor definition —
Section 1.2 in the software variants, Section 1.7 in the Creative Works variants. ISL-EULA
writes [LICENSOR] in its copyright line too, so the same value goes in both, and it
has further bracketed placeholders for your product name and jurisdiction.
what the downloaded text says
-----------------------------
**Copyright (c) 2026 Ikhbat Foundation (ikhbat.org). All rights reserved.**
**1.2 "Licensor"** means **`[LICENSOR]`** and any authorized
successors or assigns.
what you write
--------------
**Copyright (c) 2026 Acme Ltd. All rights reserved.**
**1.2 "Licensor"** means **`Acme Ltd`** and any authorized
successors or assigns.
Fill both, or the license names no one. The Licensor is the party that grants the rights, holds the consent power ISL-R Section 2 depends on, and receives the obligations. A copy left unfilled grants nothing anyone can rely on. Before version 1.1 every text but ISL-EULA named Ikhbat Foundation here, which meant a verbatim copy pointed its consent and grant clauses at the Foundation rather than at you — ISL-CLA adopters in particular should check this field.
3. Declare it in your project metadata
The ISL licenses are not on the SPDX license list, so use SPDX
LicenseRef syntax. In package.json:
{
"license": "SEE LICENSE IN LICENSE.md"
}
In SPDX-aware tooling and SBOMs:
LicenseRef-ISL-P-1.2
LicenseRef-ISL-C-1.2
LicenseRef-ISL-LC-1.2
LicenseRef-ISL-NETC-1.2
LicenseRef-ISL-R-1.2
LicenseRef-ISL-EULA-1.2
LicenseRef-ISL-NC-1.2
LicenseRef-ISL-CW-1.2
LicenseRef-ISL-CW-NC-1.2
LicenseRef-ISL-CW-SA-1.2
LicenseRef-ISL-CW-NC-SA-1.2
LicenseRef-ISL-CW-ND-1.2
LicenseRef-ISL-CW-NC-ND-1.2
LicenseRef-ISL-CW-0-1.2
4. Add a header to your source files
A short header in each file makes the licensing unambiguous even when files travel without the repository. This applies to every software variant — ISL-P, ISL-C, ISL-LC, ISL-NETC, ISL-R, ISL-NC, and ISL-EULA — just swap in the matching name and SPDX identifier:
// Copyright (c) 2026 [YOUR NAME]
// SPDX-License-Identifier: LicenseRef-ISL-C-1.2
// Licensed under the Islamic Software License - Copyleft (ISL-C) v1.2.
// This software may not be used for the activities prohibited in
// Sections 4 and 5 of the License. Full text: [link to LICENSE.md]
5. State it in your README
## License
This project is licensed under the Islamic Software License - Permissive
(ISL-P) v1.2 — a source-available, ethically restricted license rooted in
Islamic principles. It is not an OSI-approved open-source license.
See [LICENSE.md](LICENSE.md) for the full text, including the ethical
use restrictions in Sections 4 and 5.
6. For the Creative Works variants: applying to non-software works
ISL-CW, ISL-CW-NC, ISL-CW-SA, ISL-CW-NC-SA, ISL-CW-ND, ISL-CW-NC-ND, and ISL-CW-0
license non-software creative works — text, art, media, courseware — so the
source-file-header step above does not apply. Instead, place the license file at the
root of the work's repository or archive as LICENSE.md (or
LICENSE), and — for every variant except ISL-CW-0, which does not require
attribution — add a visible credit or colophon line near the work itself — on the
copyright page, in the closing credits, in a README alongside the files, or in an
"about" or "colophon" section — since attribution is required and the work may travel
without its enclosing folder:
Licensed under the Islamic Creative Works License (ISL-CW) v1.2
— see https://islamiclicense.org/isl-cw/1.2/LICENSE.md
The URL names the version the credit line names. https://islamiclicense.org/isl-cw/
always serves the newest text, so a credit line pairing it with a version number will come to
describe a text the work was never licensed under.
For the other variants, use the same pattern with the matching name and the same versioned URL
form — substitute isl-cw-nc, isl-cw-sa, isl-cw-nc-sa,
isl-cw-nd, isl-cw-nc-nd, or (with no credit line
required) isl-cw-0 for isl-cw. This mirrors how Creative
Commons recommends a short credit line wherever an attribution-required work is
displayed or distributed.
7. For ISL-EULA: complete the template
Replace every bracketed placeholder — [PRODUCT NAME],
[LICENSOR], [JURISDICTION], and the commercial terms — before
presenting the EULA to end users. Have counsel review the completed document; the liability and
fee provisions in particular must match your actual pricing model.
ISL-EULA covers two surfaces, and where you present it differs. As of 1.2 the text applies both to software you deliver as a copy and to software you run as a hosted service the user reaches over a network — Section 1.1 calls the second a Hosted Service, and Section 2.1 grants the right to access one.
- A delivered copy. Present it at or before installation or first use, and record acceptance.
- A hosted service. Present it at registration, before the account exists. There is no installation step to attach it to, and first access is otherwise the only trigger left. A signup form that creates an account without showing the agreement has nothing the user accepted.
If you ship both — a hosted service and desktop or mobile clients that reach it — one completed copy of the text covers both; present it at whichever comes first. Where you charge no fee and sign no order form, Section 2.4 supplies the scope, so the grant still attaches. Record which version each user accepted: Section 15 says a later revision does not bind them without consent, and that is only administrable if you know what they agreed to.
8. If you want to accept contributions
Applying an ISL license does not close your project to contributors, but the licenses do not settle the terms on their own. The family publishes a contributor agreement for this — ISL-CLA — which is currently a draft, not yet in force and not reviewed by counsel. Read it before relying on it.
Which problem it solves depends on your variant:
- ISL-R. Section 2 prohibits modification and derivative works “without prior written consent from the Licensor.” That final clause is a permission mechanism, and a signed ISL-CLA is that consent. A contributor may prepare and submit a patch without your license changing, without the ethical restrictions in Sections 4 and 5 weakening, and without the project becoming open source. Section 2 of the ISL-CLA grants only what is needed to prepare a contribution: it is limited, non-transferable, revocable, and not a right to distribute — publishing a modified build stays prohibited, and the public fork you make to open a pull request is permitted only while it serves that purpose. ISL-R is the only software variant with no contributions clause of its own.
- ISL-P, ISL-C, ISL-LC, ISL-NETC, ISL-NC. These permit modification already, and each has its own Section 6 (Contributions) setting default inbound terms — a contribution arrives licensed under that same license. Two reasons you might still want the ISL-CLA. First, that default is only as broad as your license: a contribution to an ISL-C project arrives under ISL-C and must stay there, so you could not include it in a commercial build; Section 3 of the ISL-CLA takes a grant broad enough to. Second, the default representations are thin — your license asks only that the contributor be entitled to grant and that, to their knowledge, nothing is infringed, with no employer clause and no duty to disclose third-party material; Section 5 supplies those. Those defaults apply “unless a Contributor and the Licensor have executed a separate written agreement” — the ISL-CLA is that agreement.
- The Creative Works variants. None of them has a Contributions section at all, so a CW project has no default inbound terms whatever — the gap the ISL-CLA fills is wider here than anywhere else. Two of them need it most: ISL-CW-ND and ISL-CW-NC-ND grant no right to produce Adapted Material, so preparing a correction is outside the license before it is ever submitted. Section 2 of the ISL-CLA is what makes that preparation lawful, granted by the licensor as copyright holder rather than through a consent clause, because those two texts contain none.
- ISL-EULA. Not applicable. It is an end-user agreement for object code or hosted access and provides no source, so its licensees have nothing to contribute against. If you sell or host under ISL-EULA and want contributions, they come through your source-side license.
Five things to state in your CONTRIBUTING.md when you adopt it: (a)
which variant your project uses (Section 2 applies where the license grants no right to modify or
adapt — ISL-R, ISL-CW-ND and ISL-CW-NC-ND); (b) whether you
adopt optional Section 6 of the agreement, which prohibits AI-generated
contributions and is not the Section 6 (Contributions) of the license texts;
(c) the jurisdiction whose law governs, which Section 9.2 takes from this
statement of yours; (d) who the licensor is — the party you wrote into
the [LICENSOR] field, or, on a version 1.0 text that named Ikhbat Foundation, the
party that actually applied it; and (e) the courts where disputes are heard,
which Section 9.2 takes from the same place. The agreement carries no blanks for you to fill:
it is adopted by reference and never edited, so what your project must settle it settles in its
own file. Section 6 is a modifier you opt into, like NonCommercial and
NoDerivatives on the creative-works licenses; if you say nothing, it does not apply. Adopt the
agreement by reference — do not delete the parts that do not apply to you, since a section
that does not apply is already inert and deleting would break the numbering.
Contributors accept by a signed entry — name, account, date, and the agreement
version — in a CONTRIBUTORS.md file in your repository, added either way: by the
contributor as part of their first pull request, or by you on their behalf from a written
statement they send by email or with a patch. The second route matters because the agreement
counts a patch and an email as submissions, and a contributor using either cannot open a pull
request. The commit that adds the entry is the record.
9. If your software generates code or artifacts
If the point of your program is to produce something else — a code generator, a scaffolding tool, a compiler, a schema tool — the license you apply will get in its way unless you say otherwise. The software variants restrict what a licensee may do with a work built out of the licensed software: ISL-P, ISL-C, ISL-R, ISL-NC and ISL-NETC by defining a derivative work as one that incorporates the software and then prohibiting or conditioning its distribution, ISL-LC through its Modified File and Larger Work provisions, ISL-EULA by prohibiting derivative works outright. So a user who compiles what your tool emitted into their own application and ships it is, on the text as written, distributing something they were not permitted to distribute. That is not what you meant, and your users cannot fix it from their side.
ISL-OE, the output exception, is the carve-out. It is a modifier, not a fifteenth variant: it grants nothing on its own, and you adopt it alongside the license you applied. It covers Generated Artifacts — source code, schema and snapshot files, and reports your software emits into the user's own project — and lets them use, modify, compile, distribute, sublicense and sell those as part of a work of their own, with no obligation to disclose their source or reproduce your license in it. It grants nothing over your software itself, so no one gains a right to modify or redistribute the generator, and a copy of your software that ships alongside the generated code — a bundled runtime, a file copied unaltered — is not a generated artifact and stays under your license.
It is for the seven software variants only — ISL-P, ISL-C, ISL-R, ISL-NC, ISL-NETC, ISL-LC and ISL-EULA. The Creative Works variants govern works rather than programs, they define Licensed Material and Adapted Material instead of Software and Derivative Work, and a creative work does not emit artifacts into anyone's project. Adopting the exception over one of them would leave its central terms with nothing to attach to.
Sections 4 and 5 keep binding your user. The exception is expressly conditioned on the ethical restrictions of the license it modifies, which continue to apply to that user's own use and distribution of the generated artifacts and to any application they build on them. Violating them terminates the exception along with the license. This is deliberate: an output exception that let a user shed the restrictions by routing work through a generator would defeat the point of the family.
They do not reach that user's own recipients, and you should decide with that in mind. Someone who receives an application built on generated artifacts does not become a licensee of your software and is bound by nothing in your license — the exception displaces the propagation clause that would otherwise carry Sections 4 and 5 to them. That limit is what makes the exception usable: a generator whose output could not be shipped without binding every downstream user to your terms would not be adopted. If you need the restrictions to travel further than your direct licensee, do not adopt the exception.
Adoption is yours to make, not your users'. State it in your LICENSE.md or
NOTICE.md:
This software is licensed under the Islamic Software License - Restricted
(ISL-R), Version 1.2, WITH the Islamic Software License - Output Exception
(ISL-OE), Version 1.2.
https://islamiclicense.org/isl-r/1.2/LICENSE.md
https://islamiclicense.org/isl-oe/1.2/EXCEPTION.md
Substitute your own variant, and cite the version-pinned URLs. In source headers the SPDX form
is LicenseRef-ISL-R-1.2 WITH AdditionRef-ISL-OE-1.2, which needs an SPDX 3.0 parser;
where your toolchain accepts only 2.3, use the plain LicenseRef- identifier and let
the notice carry the adoption. ISL-OE was introduced at 1.2 and versions with the family from
there, so it has no earlier version to cite.
For AI agents
Not sure which license to pick, or want help applying one without reading every section yourself? You don't need to figure it out alone: paste a license's URL — or https://islamiclicense.org/llms.txt itself — into your own AI assistant or chatbot and ask it to help you choose the right variant or apply it to your project. The texts are plain, structured Markdown at predictable URLs, so any general-purpose LLM can read them directly and reason about the differences between variants.
Coding agents can apply an ISL license without human back-and-forth. Machine-readable
instructions live at /llms.txt, and every license's raw text is
available in two URL forms. https://islamiclicense.org/isl-X/LICENSE.md tracks the
newest version and changes at every bump; https://islamiclicense.org/isl-X/1.2/LICENSE.md
serves that version and always will. Fetch from either, but cite the versioned form
in whatever notice you write, or the notice will come to name a text the project never adopted.
(Substitute the variant slug — p, c, lc,
netc, r, eula, nc,
cw, cw-nc, cw-sa, cw-nc-sa,
cw-nd, cw-nc-nd, or cw-0 — for
X). An agent should fetch that file, save it verbatim as
LICENSE.md at the project root, and follow the same steps described above:
set the copyright line and the [LICENSOR] placeholder in the Licensor
definition, add SPDX headers to source files, and note the license in the README. A copy that
leaves [LICENSOR] unfilled names no one.
The prompt below is a copyable template for a coding agent — adjust the variant, name, and year as needed. It names the Licensor definition rather than a section number on purpose: the number is 1.2 in the software variants and 1.7 in the Creative Works ones, and an agent sent to the wrong section finds no placeholder and leaves it unfilled.
Apply the Islamic Software License - Permissive to this project: fetch
https://islamiclicense.org/isl-p/1.2/LICENSE.md and save it in the repository
root as LICENSE.md, changing nothing except the bracketed fields the text
provides for: set the copyright line to [NAME], [YEAR], and replace the
[LICENSOR] placeholder in the Licensor definition with [NAME]. If the text
has further bracketed placeholders, fill those too. Then add
SPDX-License-Identifier: LicenseRef-ISL-P-1.2 headers to the source files.
Record which version you applied by citing
https://islamiclicense.org/isl-p/1.2/LICENSE.md, the frozen copy.
Notice generator
Fill in the fields below to generate a ready-to-paste license notice and a source file header. This runs entirely in your browser; nothing is sent anywhere.
License notice
Source file header
Adapt the comment marker (//) to your language.
A final word
Applying an ISL license is a statement of values, not a ruling on your software. The licenses have not yet been certified by a Shariah board or tested in court. For projects of consequence, seek review from a qualified scholar and a lawyer in your jurisdiction — and if either finds fault in these texts, tell us, so the next version can be better.