Open core, no lock-in
Spec: Apache License 2.0Apache License 2.0
At a glance
Section titled “At a glance”NextPDF is open core. The engine you build on — nextpdf/core — is released
under the Apache License 2.0, so you may use, modify, and redistribute it,
including commercially. Pro and Enterprise are proprietary add-ons you pay for
only when you want what they add. The foundation is yours to keep; the
advanced capabilities are optional.
Why this matters
Section titled “Why this matters”The expensive question with any document engine is not “what does it cost today”. It is “what happens the day I want to leave”. With a closed engine, that day is a migration project: re-platforming, re-testing, re-certifying output your auditors already signed off on. The switching cost is the lock-in, and it is paid in full at the worst possible moment.
Open core removes that question by construction. The part you depend on most — the rendering engine, the object model, the standards conformance — is permissively licensed and will stay that way for the version you adopted. You are never one renewal away from losing access to the code your product is built on.
The short version
Section titled “The short version”- The core engine is Apache-2.0: use, copy, modify, redistribute, and use commercially, with no non-commercial restriction.
- The license includes an express patent grant from contributors, with a defensive termination clause (Spec: Apache License 2.0, §3Apache License 2.0 §3).
- Pro and Enterprise are proprietary add-ons. You pay for advanced capabilities, never for the right to keep using the open core.
- Redistribution carries attribution duties — keep the notices, include
the license, state your changes, carry forward
NOTICE(Spec: Apache License 2.0, §4Apache License 2.0 §4). - You may fork and ship the code; you may not ship it under the NextPDF name or logo (Spec: Apache License 2.0, §6Apache License 2.0 §6).
How NextPDF approaches it
Section titled “How NextPDF approaches it”The model is deliberately simple, and the simplicity is the point. There are three things, and they answer three different questions.
- Open-source corenextpdf/core under the Apache License 2.0 — use, modify, redistribute, commercialise. This is the foundation you build on, and it is yours to keep.
- Proprietary add-onsNextPDF Pro and Enterprise add advanced capabilities under a commercial license. You pay for what they add, not for continued use of the core.
- TrademarkThe NextPDF name and logo are reserved. The code license does not grant brand rights — that boundary is what keeps 'NextPDF' meaning the official software.
The Apache License 2.0 is a permissive open-source license approved by the Open Source Initiative. For the core, it grants broad usage rights — source or compiled, standalone or as part of a larger work — with no non-commercial clause. You may put the core inside a closed-source, paid, or internal product.
Two clauses are worth naming, because they are where “permissive” becomes
“durable”. The license carries an express patent grant: contributors grant
you a royalty-free patent license over their contributions, and that grant
terminates only defensively, if you initiate certain patent litigation over the
software (Spec: Apache License 2.0, §3Apache License 2.0 §3). That is a
protection a bare “do what you want” license does not always give you. And
redistribution is permitted but not obligation-free: you keep the existing
copyright, patent, trademark, and attribution notices, include the license,
state the changes you made to modified files, and carry forward any NOTICE file
(Spec: Apache License 2.0, §4Apache License 2.0 §4). Honouring those duties is
the price of the freedom, and it is a low one.
What you pay for, when you pay, is capability — not continuity. The split is clean: the same bounded-memory writer, the same object model, the same standards conformance lives in the core whether or not you ever buy a thing.
| Edition | Availability |
|---|---|
| Core | Apache-2.0. The full rendering engine, object model, and PDF 2.0 output — free to use, modify, redistribute, and commercialise. This is the foundation, and it is the same engine under every edition. |
| Pro | Pro builds on the identical Apache-2.0 core and adds proprietary capabilities. It does not replace the core or change your rights to it. |
| Enterprise | Enterprise builds on the identical Apache-2.0 core and adds proprietary capabilities. It does not replace the core or change your rights to it. |
Pro and Enterprise are not open source. Their packages declare
"license": "LicenseRef-NextPDF-Commercial", and their terms live in the
NextPDF Commercial License Agreement (Version 3.0) — not in the Apache License
2.0, and not inferred from the open core. They add things; they take nothing
away from what the core gives you.
Practical example
Section titled “Practical example”The boundary is visible in the most ordinary place there is: your
composer.json. Adopting the open core is one public-registry dependency.
<?php
declare(strict_types=1);
// composer require nextpdf/core//// nextpdf/core declares "license": "Apache-2.0" and ships the full// Apache License 2.0 text in its LICENSE file. This single dependency// is the open foundation — yours to use, modify, and redistribute.
use NextPDF\Core\Document;use NextPDF\Contracts\OutputDestination;
$document = Document::createStandalone();$document->setTitle('Open core, no lock-in');$document->addPage();$document->setFont('helvetica', 'B', 16);$document->cell(0, 12, 'Built on an Apache-2.0 foundation', newLine: true);
// Output uses only the open core. Nothing here is gated, time-limited,// or contingent on a paid edition. A Pro or Enterprise add-on, if you// ever choose one, layers on top of this — it does not stand between// you and the engine.$bytes = $document->output(dest: OutputDestination::String);Nothing in that program is on loan. There is no license check between you and the engine, no edition that has to be present for the core to run. If you later want a capability Pro or Enterprise provides, you add it. If you never do, the core keeps working exactly as it does today.
Common misconception
Section titled “Common misconception”The frequent misread is “open core means I get the brand too”. It does not.
The Apache License 2.0 grants no rights in the licensor’s trade names,
trademarks, or logos beyond reasonable, customary reference to the origin of
the work (Spec: Apache License 2.0, §6Apache License 2.0 §6). So you may fork
nextpdf/core, modify it, and redistribute it — that is the code right — but
you may not ship that fork as “NextPDF” or under the NextPDF logo. Pick your
own name.
That split is not a catch hidden in the generosity. It is what makes the generosity safe. A permissive license can hand out the code precisely because trademark law keeps “NextPDF” meaning the official, unmodified software even after the code is forked. Without the boundary, any altered build could call itself NextPDF, and no one could tell the official engine from someone’s patch. The line protects users, not just the mark. The full code-versus-brand treatment lives on the trademark page.
A second misconception is that “open core” somehow makes the paid editions open too. It does not. The core being Apache-2.0 says nothing about Pro or Enterprise — those are proprietary regardless of the core’s license.
Limits and boundaries
Section titled “Limits and boundaries”The advanced capabilities in Pro and Enterprise are genuinely proprietary and genuinely paid; those editions’ terms live in your commercial agreement.
“No lock-in” is precise. It means the foundation you build on is permissively licensed and stays usable on your terms. A proprietary capability is, by nature, a dependency you took on knowingly. The freedom is in the core.
The attribution duties under Apache-2.0 §4 are obligations, not options. A redistribution that drops the notices, omits the license, or hides the changes made to modified files is a license violation even though the license is permissive. Freedom here comes with a short list of duties.
This page is a plain-language summary of the licensing model, not the license
itself and not legal advice. Where this summary and the authoritative documents
differ — the LICENSE file in the package, and your commercial agreement for
the paid editions — those documents govern. The full, binding treatment is on
the licensing page.
Related docs
Section titled “Related docs”- Product licensing — the authoritative, plain-language account of which license applies to which edition, and what each grants.
- Trademark and brand use — the code-versus-brand boundary in full, with acceptable and unacceptable uses.
- The company behind NextPDF — who holds the trademark and why a commercial product became open source.
- When not to use NextPDF — an account of where the core stops and an add-on begins.
Glossary
Section titled “Glossary”- Open core — a model where a permissively licensed open-source core is surrounded by proprietary, paid add-ons. The core is free to use and keep; the add-ons are optional.
- Apache License 2.0 — a permissive, OSI-approved open-source license. It grants broad use, modification, and redistribution rights, includes an express patent grant, requires attribution on redistribution, and grants no trademark rights.
- Patent grant — an express, royalty-free license to contributors’ patents covering their contributions, with defensive termination if you litigate certain patents over the software (Apache-2.0 §3).
- NOTICE file — an attribution file that, when present in the work, must be carried forward in your redistribution under Apache-2.0 §4.
- Lock-in — the switching cost that makes leaving a vendor expensive. Open core removes it for the foundation by licensing the core permissively.