Открытое ядро, без привязки к вендору
Spec: Apache License 2.0Apache License 2.0
NextPDF — это открытое ядро. Движок, на котором вы строите, — nextpdf/core — выпущен
под лицензией Apache License 2.0, поэтому вы можете использовать, модифицировать и
распространять его, в том числе коммерчески. Pro и Enterprise — проприетарные дополнения,
за которые вы платите, только когда хотите того, что они добавляют. Фундамент остаётся
вашим; продвинутые возможности опциональны.
Почему это важно
Заголовок раздела «Почему это важно»Дорогой вопрос с любым движком документов — не «сколько это стоит сегодня». Это «что произойдёт в тот день, когда я захочу уйти». С закрытым движком этот день — это проект миграции: смена платформы, повторное тестирование, повторная сертификация вывода, который ваши аудиторы уже одобрили. Стоимость переключения и есть привязка, и она оплачивается сполна в самый неподходящий момент.
Открытое ядро снимает этот вопрос по построению. Та часть, от которой вы зависите больше всего, — движок рендеринга, объектная модель, соответствие стандартам — лицензирована пермиссивно и останется таковой для версии, которую вы взяли в работу. Вы никогда не находитесь на расстоянии одного продления от потери доступа к коду, на котором построен ваш продукт.
Коротко
Заголовок раздела «Коротко»- Ядро движка под Apache-2.0: используйте, копируйте, модифицируйте, распространяйте и применяйте коммерчески, без ограничения на некоммерческое использование.
- Лицензия включает явный патентный грант от контрибьюторов, с условием защитного прекращения (Spec: Apache License 2.0, §3Apache License 2.0 §3).
- Pro и Enterprise — проприетарные дополнения. Вы платите за продвинутые возможности, а не за право продолжать использовать открытое ядро.
- Распространение несёт обязанности по атрибуции — сохраняйте уведомления, включайте
лицензию, указывайте свои изменения, переносите дальше
NOTICE(Spec: Apache License 2.0, §4Apache License 2.0 §4). - Вы можете форкнуть и поставлять код; вы не можете поставлять его под именем или логотипом NextPDF (Spec: Apache License 2.0, §6Apache License 2.0 §6).
Как к этому подходит NextPDF
Заголовок раздела «Как к этому подходит NextPDF»Модель намеренно проста, и эта простота — в этом и суть. Есть три вещи, и они отвечают на три разных вопроса.
- 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.
Apache License 2.0 — это пермиссивная лицензия с открытым исходным кодом, одобренная Open Source Initiative. Для ядра она предоставляет широкие права использования — в исходном или скомпилированном виде, самостоятельно или как часть более крупной работы — без некоммерческой оговорки. Вы можете поместить ядро внутрь закрытого, платного или внутреннего продукта.
Стоит назвать два пункта, потому что именно в них «пермиссивное» становится «прочным».
Лицензия несёт явный патентный грант: контрибьюторы предоставляют вам безвозмездную
патентную лицензию на их вклады, и этот грант прекращается только защитно — если вы
инициируете определённые патентные тяжбы по поводу программного обеспечения
(Spec: Apache License 2.0, §3Apache License 2.0 §3). Это защита, которую голая лицензия
«делай что хочешь» не всегда даёт. А распространение разрешено, но не свободно от
обязанностей: вы сохраняете существующие уведомления об авторских правах, патентах,
товарных знаках и атрибуции, включаете лицензию, указываете изменения, которые внесли в
изменённые файлы, и переносите дальше любой файл NOTICE
(Spec: Apache License 2.0, §4Apache License 2.0 §4). Соблюдение этих обязанностей — это
цена свободы, и она невелика.
То, за что вы платите, когда платите, — это возможности, а не продолжение доступа. Разделение чистое: тот же писатель с ограниченной памятью, та же объектная модель, то же соответствие стандартам живут в ядре независимо от того, купите вы что-нибудь когда-либо или нет.
| 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 и Enterprise не являются открытым исходным кодом. Их пакеты объявляют
"license": "LicenseRef-NextPDF-Commercial", а их условия живут в NextPDF Commercial
License Agreement (Version 3.0) — не в Apache License 2.0 и не выводятся из открытого
ядра. Они добавляют вещи; они ничего не отнимают у того, что даёт вам ядро.
Практический пример
Заголовок раздела «Практический пример»Граница видна в самом обычном месте, какое только есть: в вашем composer.json. Внедрение
открытого ядра — это одна зависимость из публичного реестра.
<?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);Ничто в этой программе не взято взаймы. Между вами и движком нет проверки лицензии, нет редакции, которая должна присутствовать, чтобы ядро работало. Если позже вам понадобится возможность, которую предоставляет Pro или Enterprise, вы её добавите. Если этого никогда не случится, ядро продолжит работать ровно так, как работает сегодня.
Распространённое заблуждение
Заголовок раздела «Распространённое заблуждение»Частое неверное прочтение — «открытое ядро означает, что я получаю и бренд тоже». Это не
так. Apache License 2.0 не предоставляет прав на торговые наименования, товарные знаки или
логотипы лицензиара сверх разумного, общепринятого упоминания происхождения работы
(Spec: Apache License 2.0, §6Apache License 2.0 §6). Так что вы можете форкнуть
nextpdf/core, изменить его и распространять — это право на код, — но вы не можете
поставлять этот форк как «NextPDF» или под логотипом NextPDF. Выберите собственное имя.
Это разделение — не подвох, спрятанный в щедрости. Это то, что делает щедрость безопасной. Пермиссивная лицензия может раздавать код именно потому, что закон о товарных знаках сохраняет за «NextPDF» значение официального, неизменённого программного обеспечения даже после того, как код форкнут. Без этой границы любая изменённая сборка могла бы называть себя NextPDF, и никто не смог бы отличить официальный движок от чьей-то заплатки. Эта черта защищает пользователей, а не только знак. Полное рассмотрение «код против бренда» живёт на странице о товарном знаке.
Второе заблуждение — что «открытое ядро» каким-то образом делает открытыми и платные редакции. Это не так. То, что ядро под Apache-2.0, ничего не говорит о Pro или Enterprise — они проприетарны независимо от лицензии ядра.
Пределы и границы
Заголовок раздела «Пределы и границы»Открытое ядро — это реальное преимущество, заявленное прямо, — а не утверждение, что всё бесплатно. Продвинутые возможности в Pro и Enterprise по-настоящему проприетарны и по-настоящему платны; эта страница не делает вид, что это не так, и не даёт никаких обещаний об условиях этих редакций, которые живут в вашем коммерческом соглашении.
«Отсутствие привязки» — формулировка точная. Она означает, что фундамент, на котором вы строите, лицензирован пермиссивно и остаётся пригодным к использованию на ваших условиях. Она не означает, что каждая функция есть в ядре, и не означает, что миграция прочь от возможности Pro или Enterprise, которую вы взяли в работу, бесплатна — проприетарная возможность по своей природе является зависимостью, которую вы взяли на себя сознательно. Свобода — в ядре.
Обязанности по атрибуции согласно Apache-2.0 §4 — это обязательства, а не опции. Распространение, которое отбрасывает уведомления, опускает лицензию или скрывает изменения, внесённые в изменённые файлы, является нарушением лицензии, даже несмотря на то что лицензия пермиссивная. Свобода здесь приходит с коротким, честным списком обязанностей.
Эта страница — изложение модели лицензирования простым языком, а не сама лицензия и не
юридическая консультация. Там, где это изложение и авторитетные документы расходятся — файл
LICENSE в пакете и ваше коммерческое соглашение для платных редакций, — определяющими
являются эти документы. Полное, обязывающее рассмотрение находится на
странице о лицензировании.
Связанные документы
Заголовок раздела «Связанные документы»- Лицензирование продукта — авторитетное, изложенное простым языком описание того, какая лицензия применяется к какой редакции и что каждая предоставляет.
- Товарный знак и использование бренда — граница «код против бренда» в полном объёме, с допустимыми и недопустимыми способами использования.
- Компания, которая создала NextPDF — кто владеет товарным знаком и почему коммерческий продукт стал открытым.
- Когда не стоит использовать NextPDF — честное описание того, где заканчивается ядро и начинается дополнение.
Глоссарий
Заголовок раздела «Глоссарий»- Открытое ядро (open core) — модель, в которой пермиссивно лицензированное ядро с открытым исходным кодом окружено проприетарными, платными дополнениями. Ядро бесплатно для использования и для того, чтобы оставить себе; дополнения опциональны.
- Apache License 2.0 — пермиссивная, одобренная OSI лицензия с открытым исходным кодом. Она предоставляет широкие права использования, модификации и распространения, включает явный патентный грант, требует атрибуции при распространении и не предоставляет прав на товарные знаки.
- Патентный грант — явная безвозмездная лицензия на патенты контрибьюторов, покрывающие их вклады, с защитным прекращением, если вы судитесь по определённым патентам в связи с программным обеспечением (Apache-2.0 §3).
- Файл NOTICE — файл атрибуции, который, когда он присутствует в работе, должен переноситься дальше в вашем распространении согласно Apache-2.0 §4.
- Привязка (lock-in) — стоимость переключения, которая делает уход от вендора дорогостоящим. Открытое ядро снимает её для фундамента за счёт пермиссивного лицензирования ядра.