Lewati ke konten
getnextpdf.com

Open core, tanpa lock-in

Spec: Apache License 2.0

NextPDF adalah open core. Mesin yang Anda bangun di atasnya — nextpdf/core — dirilis di bawah Apache License 2.0, sehingga Anda boleh menggunakan, memodifikasi, dan mendistribusikannya ulang, termasuk secara komersial. Pro dan Enterprise adalah add-on berpemilik yang Anda bayar hanya ketika Anda menginginkan apa yang mereka tambahkan. Fondasi itu menjadi milik Anda untuk disimpan; kapabilitas lanjutan bersifat opsional.

Pertanyaan mahal dengan mesin dokumen mana pun bukanlah “berapa biayanya hari ini.” Melainkan “apa yang terjadi pada hari saya ingin pergi.” Dengan mesin tertutup, hari itu adalah sebuah proyek migrasi: melakukan re-platforming, pengujian ulang, sertifikasi ulang keluaran yang sudah disetujui auditor Anda. Biaya peralihan itulah lock-in-nya, dan ia dibayar penuh pada momen yang paling buruk.

Open core menghapus pertanyaan itu secara struktural. Bagian yang paling Anda andalkan — mesin rendering, model objek, konformitas standar — berlisensi permisif dan akan tetap demikian untuk versi yang Anda adopsi. Anda tidak pernah berjarak satu kali pembaruan langganan dari kehilangan akses ke kode yang menjadi landasan produk Anda.

  • Mesin inti berlisensi Apache-2.0: gunakan, salin, modifikasi, distribusikan ulang, dan gunakan secara komersial, tanpa pembatasan non-komersial.
  • Lisensi ini mencakup hibah paten eksplisit dari para kontributor, dengan klausa terminasi defensif (Spec: Apache License 2.0, §3).
  • Pro dan Enterprise adalah add-on berpemilik. Anda membayar untuk kapabilitas lanjutan, tidak pernah untuk hak terus menggunakan inti terbuka.
  • Distribusi ulang membawa kewajiban atribusi — pertahankan notice-nya, sertakan lisensinya, nyatakan perubahan Anda, teruskan NOTICE (Spec: Apache License 2.0, §4).
  • Anda boleh mem-fork dan merilis kode-nya; Anda tidak boleh merilisnya di bawah nama atau logo NextPDF (Spec: Apache License 2.0, §6).

Modelnya sengaja dibuat sederhana, dan kesederhanaan itulah intinya. Ada tiga hal, dan ketiganya menjawab tiga pertanyaan berbeda.

  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.

Apache License 2.0 adalah lisensi sumber-terbuka permisif yang disetujui oleh Open Source Initiative. Untuk inti, lisensi ini memberikan hak penggunaan yang luas — sumber atau terkompilasi, mandiri atau sebagai bagian dari karya yang lebih besar — tanpa klausa non-komersial. Anda boleh menempatkan inti di dalam produk tertutup, berbayar, atau internal.

Dua klausa layak disebut, karena di sanalah “permisif” menjadi “tahan lama.” Lisensi ini membawa hibah paten eksplisit: para kontributor memberi Anda lisensi paten bebas royalti atas kontribusi mereka, dan hibah itu berakhir hanya secara defensif, jika Anda memprakarsai litigasi paten tertentu atas perangkat lunaknya (Spec: Apache License 2.0, §3). Itu adalah perlindungan yang tidak selalu diberikan oleh lisensi telanjang “lakukan apa pun yang Anda mau.” Dan distribusi ulang diizinkan tetapi tidak bebas kewajiban: Anda mempertahankan notice hak cipta, paten, merek dagang, dan atribusi yang ada, menyertakan lisensinya, menyatakan perubahan yang Anda buat pada berkas yang dimodifikasi, dan meneruskan setiap berkas NOTICE (Spec: Apache License 2.0, §4). Memenuhi kewajiban itu adalah harga dari kebebasannya, dan harga itu rendah.

Apa yang Anda bayar, ketika Anda membayar, adalah kapabilitas — bukan kontinuitas. Pemisahannya bersih: penulis bermemori-terbatas yang sama, model objek yang sama, konformitas standar yang sama tetap berada di inti, baik Anda pernah membeli sesuatu maupun tidak.

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 dan Enterprise bukan sumber-terbuka. Paket mereka mendeklarasikan "license": "LicenseRef-NextPDF-Commercial", dan ketentuannya berada dalam NextPDF Commercial License Agreement (Version 3.0) — bukan dalam Apache License 2.0, dan tidak disimpulkan dari inti terbuka. Mereka menambahkan sesuatu; mereka tidak mengambil apa pun dari yang diberikan inti kepada Anda.

Batasan ini terlihat di tempat yang paling biasa yang ada: composer.json Anda. Mengadopsi inti terbuka adalah satu dependensi registri publik.

<?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);

Tidak ada satu pun dalam program itu yang sifatnya pinjaman. Tidak ada pemeriksaan lisensi antara Anda dan mesin, tidak ada edisi yang harus hadir agar inti dapat berjalan. Jika nanti Anda menginginkan kapabilitas yang disediakan Pro atau Enterprise, Anda menambahkannya. Jika tidak pernah, inti tetap bekerja persis seperti hari ini.

Salah baca yang sering muncul adalah “open core berarti saya mendapatkan mereknya juga.” Tidak demikian. Apache License 2.0 tidak memberikan hak apa pun atas nama dagang, merek dagang, atau logo pemberi lisensi melebihi rujukan yang wajar dan lazim terhadap asal-usul karya (Spec: Apache License 2.0, §6). Jadi Anda boleh mem-fork nextpdf/core, memodifikasinya, dan mendistribusikannya ulang — itulah hak kodenya — tetapi Anda tidak boleh merilis fork itu sebagai “NextPDF” atau di bawah logo NextPDF. Pilih nama Anda sendiri.

Pemisahan itu bukanlah jebakan yang tersembunyi di dalam kemurahan hatinya. Itu justru yang membuat kemurahan hati itu aman. Sebuah lisensi permisif dapat membagikan kodenya justru karena hukum merek dagang menjaga “NextPDF” tetap berarti perangkat lunak resmi yang tidak dimodifikasi bahkan setelah kodenya difork. Tanpa batasan itu, build yang diubah mana pun dapat menyebut dirinya NextPDF, dan tak seorang pun dapat membedakan mesin resmi dari tambalan seseorang. Garis itu melindungi pengguna, bukan hanya mereknya. Pembahasan lengkap kode-versus-merek berada pada halaman merek dagang.

Kesalahpahaman kedua adalah bahwa “open core” entah bagaimana menjadikan edisi berbayar juga terbuka. Tidak demikian. Inti yang berlisensi Apache-2.0 tidak mengatakan apa pun tentang Pro atau Enterprise — keduanya berpemilik terlepas dari lisensi inti.

Open core adalah keunggulan nyata, dinyatakan dengan jelas — bukan klaim bahwa semuanya gratis. Kapabilitas lanjutan di Pro dan Enterprise benar-benar berpemilik dan benar-benar berbayar; halaman ini tidak berpura-pura sebaliknya, dan ia tidak menjanjikan apa pun tentang ketentuan edisi-edisi itu, yang berada dalam perjanjian komersial Anda.

“No lock-in” bersifat presisi. Maksudnya, fondasi yang Anda bangun di atasnya berlisensi permisif dan tetap dapat digunakan dengan syarat Anda. Itu tidak berarti setiap fitur ada di inti, dan itu tidak berarti bermigrasi keluar dari kapabilitas Pro atau Enterprise yang Anda adopsi tidak berbiaya — sebuah kapabilitas berpemilik, secara hakikatnya, adalah dependensi yang Anda ambil secara sadar. Kebebasannya ada di inti.

Kewajiban atribusi di bawah Apache-2.0 §4 adalah kewajiban, bukan pilihan. Distribusi ulang yang menghilangkan notice-nya, menghapus lisensinya, atau menyembunyikan perubahan yang dibuat pada berkas yang dimodifikasi adalah pelanggaran lisensi meskipun lisensinya permisif. Kebebasan di sini datang dengan daftar kewajiban yang pendek dan jujur.

Halaman ini adalah ringkasan bahasa sederhana dari model lisensi, bukan lisensinya sendiri dan bukan nasihat hukum. Di mana ringkasan ini dan dokumen otoritatif berbeda — berkas LICENSE dalam paket, dan perjanjian komersial Anda untuk edisi berbayar — dokumen itulah yang berlaku. Pembahasan lengkap dan mengikat berada pada halaman lisensi.

  • Open core — model di mana inti sumber-terbuka berlisensi permisif dikelilingi oleh add-on berpemilik dan berbayar. Inti gratis untuk digunakan dan disimpan; add-on bersifat opsional.
  • Apache License 2.0 — lisensi sumber-terbuka permisif yang disetujui OSI. Lisensi ini memberikan hak penggunaan, modifikasi, dan distribusi ulang yang luas, mencakup hibah paten eksplisit, mensyaratkan atribusi pada distribusi ulang, dan tidak memberikan hak merek dagang.
  • Hibah paten — lisensi eksplisit dan bebas royalti atas paten kontributor yang mencakup kontribusi mereka, dengan terminasi defensif jika Anda melitigasi paten tertentu atas perangkat lunaknya (Apache-2.0 §3).
  • Berkas NOTICE — berkas atribusi yang, ketika hadir dalam karya, harus diteruskan dalam distribusi ulang Anda di bawah Apache-2.0 §4.
  • Lock-in — biaya peralihan yang membuat meninggalkan sebuah vendor menjadi mahal. Open core menghapusnya untuk fondasi dengan melisensikan inti secara permisif.