コンテンツにスキップ
getnextpdf.com

オープンコア、ロックインなし

Spec: Apache License 2.0

NextPDF はオープンコアです。あなたが基盤として構築するエンジン — nextpdf/core — は Apache License 2.0 のもとでリリースされているため、商用を含め、使用・改変・再配布できます。Pro と Enterprise は、それらが追加するものを望むときにだけ対価を払う、プロプライエタリなアドオンです。基盤はあなたが保持し続けるものであり、上位の能力は任意です。

どんなドキュメントエンジンでも、高くつく問いは「今日いくらか」ではありません。「離脱したいと思った日に何が起こるか」です。クローズドなエンジンでは、その日は移行プロジェクトになります。再プラットフォーム化し、再テストし、監査人がすでに承認した出力を再認証することです。乗り換えコストこそがロックインであり、それは最悪のタイミングで全額支払われます。

オープンコアは、構造上その問いを取り除きます。最も依存する部分 — レンダリングエンジン、オブジェクトモデル、標準適合性 — は寛容にライセンスされ、採用したバージョンについてはそのままであり続けます。製品の土台となるコードへのアクセスを、更新一回で失うことは決してありません。

  • コアエンジンは Apache-2.0 です。使用、複製、改変、再配布、そして商用利用が可能で、非商用の制限はありません。
  • ライセンスには、貢献者からの明示的な特許許諾が含まれ、防御的な終了条項が付いています(Spec: Apache License 2.0, §3)。
  • Pro と Enterprise はプロプライエタリなアドオン です。対価を払うのは上位の能力に対してであって、オープンコアを使い続ける権利に対してではありません。
  • 再配布には帰属表示の義務が伴います — 通知を保持し、ライセンスを同梱し、変更を明記し、NOTICE を引き継ぐこと(Spec: Apache License 2.0, §4)。
  • コードをフォークして出荷してもかまいませんが、NextPDF の名称やロゴのもとで出荷することはできません(Spec: Apache License 2.0, §6)。

このモデルは意図的に単純であり、その単純さこそが要点です。三つのものがあり、それらは三つの異なる問いに答えます。

  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.
NextPDF のライセンスモデルの三つの層。Apache-2.0 のオープンソースコア、プロプライエタリな Pro および Enterprise のアドオン、そして NextPDF の名称とロゴに対する商標。コードの権利は最初の層から、能力へのアクセスは二番目の層から流れ、ブランドの権利は商標保有者のもとにとどまります。

Apache License 2.0 は、Open Source Initiative が承認した寛容なオープンソースライセンスです。コアについては、広範な利用権を許諾します — ソースでもコンパイル済みでも、単独でもより大きな成果物の一部としても — 非商用条項はありません。コアを、クローズドソースの、有料の、あるいは内部用の製品の中に組み込んでもかまいません。

名前を挙げる価値のある条項が二つあります。なぜなら、そこが「寛容」が「永続的」になる場所だからです。ライセンスは明示的な特許許諾を伴います。貢献者は、その貢献にわたるロイヤリティフリーの特許ライセンスをあなたに許諾し、その許諾は防御的にのみ — あなたがそのソフトウェアについて一定の特許訴訟を起こした場合にのみ — 終了します(Spec: Apache License 2.0, §3)。これは、素朴な「好きにしてよい」型のライセンスが常に与えてくれるとは限らない保護です。そして再配布は許可されていますが、義務がないわけではありません。既存の著作権、特許、商標、帰属の各通知を保持し、ライセンスを同梱し、改変したファイルに加えた変更を明記し、いかなる NOTICE ファイルも引き継ぎます(Spec: Apache License 2.0, §4)。これらの義務を守ることが、その自由の対価であり、それは安いものです。

対価を払うもの、対価を払うときは、能力であって — 継続性ではありません。区分は明快です。同じ境界メモリのライターも、同じオブジェクトモデルも、同じ標準適合性も、あなたが一度でも何かを買うかどうかにかかわらず、コアの中にあります。

The open-source core engine (nextpdf/core) — edition availability
EditionAvailability
Core

Apache-2.0。フルのレンダリングエンジン、オブジェクトモデル、そして PDF 2.0 出力 — 自由に使用・改変・再配布・商用利用できます。これが基盤であり、あらゆるエディションのもとで同じエンジンです。

Pro

Pro は同一の Apache-2.0 コアの上に構築され、プロプライエタリな能力を追加します。コアを置き換えることも、コアへのあなたの権利を変えることもありません。

Enterprise

Enterprise は同一の Apache-2.0 コアの上に構築され、プロプライエタリな能力を追加します。コアを置き換えることも、コアへのあなたの権利を変えることもありません。

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, §6)。したがって nextpdf/core をフォークし、改変し、再配布してもかまいません — それがコードの権利です — が、そのフォークを「NextPDF」として、あるいは NextPDF のロゴのもとで出荷することはできません。自分自身の名前を選んでください。

その区分は、寛大さの中に隠された落とし穴ではありません。それこそが、寛大さを安全にするものです。寛容なライセンスがコードを手渡せるのは、まさに商標法が、コードがフォークされた後でさえ「NextPDF」を公式の無改変ソフトウェアの意味に保つからです。その境界がなければ、いかなる改変ビルドも自らを NextPDF と名乗れてしまい、誰も公式エンジンと他人のパッチを見分けられなくなります。この線引きは、商標だけでなく、利用者を守るものです。コード対ブランドの完全な扱いは商標ページに存在します。

第二の誤解は、「オープンコア」がどういうわけか有料エディションもオープンにするというものです。そうではありません。コアが Apache-2.0 であることは、Pro や Enterprise について何も語りません — それらは、コアのライセンスにかかわらずプロプライエタリです。

オープンコアは、率直に述べれば本物の利点であって — すべてが無料だという主張ではありません。Pro と Enterprise の上位能力は、正真正銘プロプライエタリで、正真正銘有料です。このページはそうでないふりをせず、それらのエディションの条件について何の約束もしません。その条件はあなたの商用契約の中に存在します。

「ロックインなし」は正確な表現です。それは、あなたが基盤として構築するものが寛容にライセンスされ、あなたの条件で使い続けられるという意味です。あらゆる機能がコアにあるという意味ではなく、採用した Pro や Enterprise の能力から移行することが無償だという意味でもありません — プロプライエタリな能力は、本質的に、承知のうえで引き受けた依存です。自由はコアにあります。

Apache-2.0 §4 のもとの帰属表示の義務は、選択肢ではなく義務です。通知を落とし、ライセンスを省き、あるいは改変したファイルに加えた変更を隠す再配布は、ライセンスが寛容であってもライセンス違反です。ここでの自由には、短く正直な義務のリストが伴います。

このページはライセンスモデルの平易な要約であって、ライセンスそのものでも法的助言でもありません。この要約と権威ある文書 — パッケージ内の LICENSE ファイル、および有料エディションについてはあなたの商用契約 — が食い違う場合は、それらの文書が支配します。完全で拘束力のある扱いはライセンスページにあります。

  • オープンコア — 寛容にライセンスされたオープンソースのコアを、 プロプライエタリで有料のアドオンが取り囲むモデル。コアは無料で使えて保持でき、 アドオンは任意。
  • Apache License 2.0 — 寛容で OSI 承認のオープンソースライセンス。 広範な使用・改変・再配布の権利を許諾し、明示的な特許許諾を含み、 再配布時に帰属表示を要求し、商標の権利は許諾しない。
  • 特許許諾 — 貢献者の貢献を対象とする特許への、明示的でロイヤリティフリーのライセンス。そのソフトウェアについて一定の特許訴訟を起こした場合の防御的終了付き (Apache-2.0 §3)。
  • NOTICE ファイル — 成果物に存在する場合、Apache-2.0 §4 のもとであなたの再配布において引き継がなければならない帰属表示ファイル。
  • ロックイン — ベンダーからの離脱を高くつかせる乗り換えコスト。 オープンコアは、コアを寛容にライセンスすることで、基盤についてはそれを取り除く。