Skip to content
getnextpdf.com

Open core, no lock-in

Spec: Apache License 2.0

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.

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 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, §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, §4).
  • You may fork and ship the code; you may not ship it under the NextPDF name or logo (Spec: Apache License 2.0, §6).

The model is deliberately simple, and the simplicity is the point. There are three things, and they answer three different questions.

  1. 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.
  2. 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.
  3. 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 three layers of the NextPDF licensing model: the Apache-2.0 open-source core, the proprietary Pro and Enterprise add-ons, and the trademark on the NextPDF name and logo. Code rights flow from the first; capability access from the second; brand rights stay with the trademark holder.

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, §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, §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.

The open-source core engine (nextpdf/core) — edition availability
EditionAvailability
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.

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.

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, §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.

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.

  • 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.