Premium エディション
2 つの提供チャネル: ionCube と署名付きソース
NextPDF Pro と Enterprise は 2 つの形態で提供されており、同じ製品に対する 2 つの チャネルだと考えることができます。
- ionCube でエンコードされた形態 — ソースがエンコードされ、ランタイムで ionCube Loader を通して実行される、インストール可能な PHP。
- 署名付きプレーンテキストソース — 読み取り可能な PHP ソース。暗号的に署名されているため、本物であり改変されていないことを検証できます。
どちらのチャネルも同じライセンスと同じ権利を伝えます( NextPDF Commercial License Agreement が両者を規定しており、読み取り可能なソースにアクセスできることは、それをコピーまたは再配布する許可では決してありません)。これらが存在するのは、2 種類のお客様がそれぞれ異なる問題を解決する必要があるからであり、私たちは各チャネルが伴うトレードオフに見合うように価格を設定しています — 一方が他方より多くの機能を持つからではありません。本ページではその理由を説明し、納得したうえで選択していただけるようにします。エンコードされたビルドの実際のセットアップについては、ionCube Loader をセットアップする をご覧ください。
PHP においてソース保護が現実の問題である理由
「PHP においてソース保護が現実の問題である理由」という見出しのセクションPHP はソースとして配布・実行されます。配布前に不透明なバイナリやバイトコードへコンパイルされる言語とは異なり、PHP パッケージの実働ソースがインストールするもの そのものです — ランタイムがそれを直接読み込みます。これは PHP の大きな強みの 1 つです。透明性が高く、検査しやすく、パッチを当てやすく、その充実したオープンソースエコシステムの大きな理由となっています。
しかしそれは同時に、商用 PHP プロジェクトが他の分野の同種の製品よりも難しい保護の問題を抱える理由でもあります。深く専門的なエンジンに注ぎ込まれる投資 — 何年にもわたる標準化作業、エッジケース、テストスイート — は、既定では平文のまま流通するソースの中に存在します。 その投資は営業秘密です。すなわち、継続的な開発を支える実践的なノウハウであり、 法が認め保護する資産です。それを保護することは、利用者から隠すことではありません。 作業に資金を提供し続けられるようにすることなのです。
これはまた、コンパイル済みまたはバイトコードの成果物を配布するエコシステムでは、 ソース保護が単純により容易である理由でもあります — Java がよく挙げられる例です。 配布される形態はすでに実働ソースから一歩離れているため、商用ベンダーが守るべきものは少なくなります。そうした環境で深く専門的な商用ツールへの資金提供がより容易になってきた一方で、本格的な PHP の取り組みの多くは、オープンソースコミュニティの善意に頼らざるを得ませんでした。私たちはそれが自然の摂理だとは考えていません。PHP にも、プロフェッショナルで、活発に保守され、標準に準拠したツールがふさわしいのです — そして、ソースを防御可能なものにすることこそが、その作業への資金提供を持続可能にするのです。
オープンコア、有償プレミアム
「オープンコア、有償プレミアム」という見出しのセクションNextPDF の答えは、有償プレミアムを伴うオープンコアです。土台となるエンジン —
nextpdf/core — は Apache-2.0 であり、オープンであり続けます。読むことも、フォークすることも、商用に出荷することもできます。NextPDF Pro と Enterprise
はプライベートエディションであり、そこから得られる収益が、活発な保守、標準への準拠、
そして次の機能の費用を賄います。この区分は意図的なものです。プロフェッショナルで
B2B グレードの機能を必要とするチームに応えつつ、同時に個人開発者にも友好的であり続けられるからです — 私たち自身、フリーソフトウェアを愛するソロ開発者として出発したからです。オープンな半分の背景にある理由はオープンコア、ロックインなし
で扱っています。本ページは、有償の半分がどのようにあなたに届くのかについてです。
ionCube チャネル — 価格を抑える保護
「ionCube チャネル — 価格を抑える保護」という見出しのセクションほとんどのお客様にとって、ionCube でエンコードされたチャネルが既定の選択肢です。 ソースをエンコードすること — 改ざんや不正利用のコストを引き上げる確立された手段 — によって、私たちははるかに少ないオーバーヘッドでプレミアムコードを保護できます。 つまり、特注のソース取り扱いが少なく、配布とアクセスの管理が少なく、平文ソースを大規模に守る場合よりも法的・執行上の負担が軽くなります。これらの節約は実在するものであり、 私たちはそれをお客様に還元します。
そのトレードオフはわずかなランタイムコストです。Loader は PHP の実行時にエンコードされたファイルをデコードするため、いくらかのオーバーヘッドが加わります。私たちはそのトレードオフを価格に反映させており、後から気づくのではなく、率直に評価していただけるようにしています。実際には、そのオーバーヘッドは通常わずかで、典型的なデプロイでは無視できることが多く — 他のソフトウェアのためにすでに ionCube Loader を実行しているホストでは、実質的に問題になりません。性能が重視されるワークロードでは、ご自身のプロファイルに対してベンチマークを取るべきですが、大多数のデプロイにとって、エンコードされたチャネルは単純により低コストの選択肢であり、これこそ私たちが望む需給の一致です。 Loader のセットアップは一度きりの手順で、ionCube Loader をセットアップする に記載されています。
署名付きソースチャネル — 規制、監査、サプライチェーンの保証のために
「署名付きソースチャネル — 規制、監査、サプライチェーンの保証のために」という見出しのセクションエンコードされたコードをランタイムに受け入れられないお客様もいます。強い規制の下にある組織や、厳格なサプライチェーンセキュリティおよび監査の要件を持つ組織は、実行するものを読み、レビューし、検証する必要があり — そしてそうした要件が意味する予算を通常は持っています。そうしたお客様のために、私たちは署名付きプレーンテキストソース チャネルを提供します。すなわち、同じエディションを読み取り可能なソースとして提供し、 その出所と整合性を検証できるよう暗号的に署名したものです。
これは、現代のサプライチェーンセキュリティがソフトウェアの取り扱いに期待する方法にそのまま対応します。すなわち、デジタル署名されたパッケージで提供されるソース、使用前に検証される署名、そして保証と監査のために不透明な成果物よりも好まれるレビュー可能なソースです(NIST SP 800-204D)。ここでは、コードはエンコードによって保護されているの ではありません — 法と契約によって保護されています。すなわち、それは NextPDF を手がける企業である PATEON の機密の営業秘密であり続け、それに対して何ができ何ができないかは NextPDF Commercial License Agreement によって定められます。ソースを読めることは、それをコピー、再配布、または再ライセンスする許可では決してありません。
このチャネルはより高価であり、その理由は ionCube のチャネルの逆です。ランタイムのオーバーヘッドは取り除かれますが、保護の負担を契約、信頼、管理へと戻します — そしてそれは、コンプライアンスに縛られたお客様が義務を果たせるように、私たちが引き受けるコストです。
接続性とライセンスの執行
「接続性とライセンスの執行」という見出しのセクションこれらのチャネルは、アプリケーションの実行中にライセンスがどのように確認されるか という点でも異なり、オフラインまたはエアギャップ環境のデプロイでは、通常これが決め手となります。
ionCube チャネルは、ライセンスを定期的にオンラインで検証します。 エンコードされたチャネルを通じて提供されるプレミアムビルドは、一定の間隔で NextPDF ライセンスサービスにチェックインします — およそ7 日ごとの確認によって約 14 日間のリースを更新する 仕組みです。デプロイがその期間内にサービスへ到達できる限り、すべては通常どおり動作します。リースを過ぎてオフラインのままになると、プレミアム機能は一時停止し、 エンジンは無償の Core にフォールバックします — 停止したり、エラーになったり、 クラッシュしたりすることはありません — そして接続が回復すると自動的に再開します。このオンラインリースはまた、ライセンスされたシート数を執行可能にするものであり、 失効をリース期間内(約 14 日間、加えて短い猶予期間)に有効にすることを可能にします。確認の際に送信されるのはライセンス識別子とソルト付きフィンガープリントハッシュのみであり — お客様のドキュメントの内容が送信されることは決してなく、生のフィンガープリントや IP アドレスが送信されることも決してありません。
署名付きソースチャネルは、完全にオフラインで動作できます。 その署名付きライセンスはエンジンがローカルで検証する自己完結型の成果物であるため、署名付きソースチャネルは 定期的な接続性を必要とせず、エアギャップ環境のデプロイに適しており、制約となるのはライセンス自体の有効期間のみです。ここでのシート数は、ランタイムで執行されるものではなく、お客様の契約によって定められる契約上の上限であり、失効は次回のオンライン確認時、または製品アップデートを通じて適用され、完全にオフラインのデプロイは何も 送信しません。
2 つの別々の時計 — 混同しないでください。 ionCube チャネルの約 14 日間のリースは、 接続性に関するもの — デプロイがどれだけの期間オフラインでいられるかを表します。 これは、いずれのチャネルもサブスクリプションの終了日の後に付与する約 30 日間の猶予期間とは独立しています。その猶予期間中は、更新を行う間もプレミアム機能が動作し続け、 その後エンジンは Core にフォールバックします。リースの失効とサブスクリプションの満了は、 別々のタイマー上の異なるイベントです。
どちらのチャネルを実行していても、失敗時の挙動は同じで、常に安全です。NextPDF は 無償のオープンソース Core に段階的に低下します。デプロイ済みのソフトウェアが使用不能になることも、ロックアウトされることも、実行の途中で停止することも決してありません。
同じ権利、あなたの選択
「同じ権利、あなたの選択」という見出しのセクション2 つのチャネルは 2 つの製品ではありません。同一のライセンス上の権利と、同じソフトウェアを伝えます。違いは、ソースがどのように保護され、ライセンスが実行時にどのように確認され、 それにどれだけのコストがかかるかです。
| ionCube でエンコードされた形態 | 署名付きプレーンテキストソース | |
|---|---|---|
| 実行するもの | ionCube Loader を介したエンコード済み PHP | 読み取り可能な署名付き PHP ソース |
| ソースの保護方法 | エンコード(技術的な手段)に加えてライセンス | ライセンスと営業秘密法(エンコードなし) |
| 適した用途 | ほとんどのデプロイ。最も低コスト | 規制 / 監査 / サプライチェーンセキュリティの要件 |
| ランタイムコスト | わずかな Loader オーバーヘッド(多くの場合は無視できる。性能に敏感ならベンチマークを) | 私たちが追加するものはなし |
| オンラインでのライセンス確認 | 定期的(約 7 日ごとの確認、約 14 日間のリース) | 任意。ローカルで検証しオフラインで動作 |
| オフライン / エアギャップ | リース期間まで。その後プレミアム機能は Core へ一時停止(再接続時に自動再開) | 完全にサポート。定期的な接続性は不要 |
| シート数 | オンラインリースを通じて執行 | 契約上(お客様の契約に準拠)。ランタイムでは執行されない |
| 失効の適用時点 | リース期間内(約 14 日間 + 短い猶予期間) | 次回のオンライン確認時、または製品アップデートを通じて |
| 送信されるライセンスデータ | ライセンス ID + ソルト付きフィンガープリントハッシュのみ(内容、IP、生のフィンガープリントは送信しない) | 完全にオフラインの場合は何も送信しない |
| 権利 | 同一 — EULA を参照 | 同一 — EULA を参照 |
価格は、機能の差ではなく、その保護とランタイムのトレードオフを反映しています。現在の価格とエディションについては、購入とライセンス およびそこからリンクされている価格ページをご覧ください。本ドキュメントページは、価格やライセンス条項を意図的に再掲しません。
私たちがこの方法を採る理由
「私たちがこの方法を採る理由」という見出しのセクション私たちは、PHP エコシステムに、より本格的で、十分に資金が提供され、プロフェッショナルに保守されたツールがもっと増えてほしいと考えています — そして、必要な深さに資金を提供する持続可能な方法がなかったために静かに燃え尽きるプロジェクトが減ってほしいと考えています。ソースを保護することこそが、コアをオープンに保ち、エンコードされたチャネルを手頃な価格に保ちながら、その深さに投資することを可能にします。そして信頼は勝ち取るものだからこそ、私たちはまさにこの点について透明であろうと努めています。すなわち、各チャネルが何を保護し、あなたにどれだけのコストをかけ、なぜそうなるのか — トレードオフは私たちが隠すものではなく、あなたが比較検討するものです。