İçeriğe geç
getnextpdf.com

Açık çekirdek, bağımlılık tuzağı yok

Spec: Apache License 2.0

NextPDF açık çekirdektir. Üzerine inşa ettiğiniz motor — nextpdf/core — Apache License 2.0 altında yayımlanır; böylece onu ticari kullanım dahil, kullanabilir, değiştirebilir ve yeniden dağıtabilirsiniz. Pro ve Enterprise, yalnızca ekledikleri şeyi istediğinizde ödediğiniz tescilli eklentilerdir. Temel sizindir, sahip olmaya devam edersiniz; gelişmiş yetenekler isteğe bağlıdır.

Herhangi bir belge motoruyla ilgili pahalı soru “bugün ne kadara mal oluyor” değildir. “Ayrılmak istediğim gün ne olur” sorusudur. Kapalı bir motorla, o gün bir göç projesidir: yeniden platform kurma, yeniden test etme, denetçilerinizin zaten onayladığı çıktıyı yeniden sertifikalama. Geçiş maliyeti bağımlılık tuzağıdır ve mümkün olan en kötü anda tamamen ödenir.

Açık çekirdek, bu soruyu yapı gereği ortadan kaldırır. En çok bağımlı olduğunuz kısım — oluşturma motoru, nesne modeli, standartlara uyumluluk — izin verici biçimde lisanslanmıştır ve benimsediğiniz sürüm için öyle kalacaktır. Ürününüzün üzerine inşa edildiği koda erişimi kaybetmeye asla bir yenilemelik mesafede değilsiniz.

  • Çekirdek motor Apache-2.0’dır: hiçbir ticari olmayan kısıtlama olmadan kullanın, kopyalayın, değiştirin, yeniden dağıtın ve ticari olarak kullanın.
  • Lisans, savunmacı bir fesih maddesiyle birlikte, katkı sağlayanlardan açık bir patent hibesi içerir (Spec: Apache License 2.0, §3).
  • Pro ve Enterprise tescilli eklentilerdir. Gelişmiş yetenekler için ödeme yaparsınız; açık çekirdeği kullanmayı sürdürme hakkı için asla.
  • Yeniden dağıtım, atıf görevleri taşır — bildirimleri koruyun, lisansı ekleyin, değişikliklerinizi belirtin, NOTICE’i ileriye taşıyın (Spec: Apache License 2.0, §4).
  • Kodu çatallayıp gönderebilirsiniz; ancak onu NextPDF adı veya logosu altında gönderemezsiniz (Spec: Apache License 2.0, §6).

Model bilinçli olarak basittir ve bu basitlik asıl meseledir. Üç şey vardır ve bunlar üç farklı soruyu yanıtlar.

  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, Open Source Initiative tarafından onaylanmış, izin verici bir açık kaynak lisansıdır. Çekirdek için, hiçbir ticari olmayan madde olmaksızın geniş kullanım hakları tanır — kaynak veya derlenmiş, bağımsız veya daha büyük bir çalışmanın parçası olarak. Çekirdeği kapalı kaynaklı, ücretli veya dahili bir ürünün içine koyabilirsiniz.

İki madde adlandırılmaya değer, çünkü “izin verici”nin “dayanıklı”ya dönüştüğü yer onlardır. Lisans, açık bir patent hibesi taşır: katkı sağlayanlar, katkıları üzerinde size telifsiz bir patent lisansı verir ve bu hibe yalnızca savunmacı olarak, yazılım üzerinde belirli patent davaları başlatırsanız sona erer (Spec: Apache License 2.0, §3). Bu, salt bir “ne istersen yap” lisansının her zaman vermediği bir korumadır. Ve yeniden dağıtıma izin verilir, ancak yükümlülüksüz değildir: mevcut telif hakkı, patent, ticari marka ve atıf bildirimlerini korur, lisansı eklersiniz, değiştirilen dosyalarda yaptığınız değişiklikleri belirtir ve varsa herhangi bir NOTICE dosyasını ileriye taşırsınız (Spec: Apache License 2.0, §4). Bu görevleri yerine getirmek, özgürlüğün bedelidir ve düşük bir bedeldir.

Ödediğiniz şey, ödediğinizde, yetenektir — süreklilik değil. Ayrım nettir: aynı sınırlı bellekli yazıcı, aynı nesne modeli, aynı standartlara uyumluluk, bir şey satın alıp almadığınızdan bağımsız olarak çekirdekte yaşar.

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 ve Enterprise açık kaynak değildir. Paketleri "license": "LicenseRef-NextPDF-Commercial" beyan eder ve koşulları, Apache License 2.0’da değil ve açık çekirdekten çıkarsanmamış olarak, NextPDF Commercial License Agreement (Version 3.0) içinde yer alır. Bir şeyler eklerler; çekirdeğin size verdiğinden hiçbir şey almazlar.

Sınır, var olabilecek en sıradan yerde görünür: composer.json dosyanız. Açık çekirdeği benimsemek, tek bir genel kayıt bağımlılığıdır.

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

O programdaki hiçbir şey ödünç değildir. Sizinle motor arasında bir lisans denetimi, çekirdeğin çalışması için mevcut olması gereken bir sürüm yoktur. Sonradan Pro veya Enterprise’ın sağladığı bir yetenek isterseniz, onu eklersiniz. Asla istemezseniz, çekirdek bugün çalıştığı gibi tam olarak çalışmayı sürdürür.

Sık yapılan yanlış okuma “açık çekirdek demek, markayı da alıyorum demektir” biçimindedir. Öyle değildir. Apache License 2.0, çalışmanın kökenine makul, alışılmış atfın ötesinde, lisans verenin ticari adları, ticari markaları veya logoları üzerinde hiçbir hak tanımaz (Spec: Apache License 2.0, §6). Dolayısıyla nextpdf/core’u çatallayabilir, değiştirebilir ve yeniden dağıtabilirsiniz — kod hakkı budur — ancak o çatalı “NextPDF” olarak veya NextPDF logosu altında gönderemezsiniz. Kendi adınızı seçin.

Bu ayrım, cömertliğin içine gizlenmiş bir tuzak değildir. Cömertliği güvenli kılan şeyin ta kendisidir. İzin verici bir lisans, kodu tam olarak dağıtabilir, çünkü ticari marka hukuku, kod çatallandıktan sonra bile “NextPDF”in resmi, değiştirilmemiş yazılım anlamına gelmesini sağlar. Sınır olmasaydı, değiştirilmiş herhangi bir derleme kendisine NextPDF diyebilirdi ve kimse resmi motoru birinin yamasından ayırt edemezdi. Çizgi, yalnızca markayı değil, kullanıcıları korur. Kod-karşısında-marka konusunun tam ele alınışı ticari marka sayfasında yer alır.

İkinci bir yanlış anlama, “açık çekirdeğin” ücretli sürümleri de bir şekilde açık yaptığıdır. Yapmaz. Çekirdeğin Apache-2.0 olması, Pro veya Enterprise hakkında hiçbir şey söylemez — bunlar, çekirdeğin lisansından bağımsız olarak tescillidir.

Açık çekirdek, açıkça belirtilmiş gerçek bir avantajdır — her şeyin ücretsiz olduğu iddiası değil. Pro ve Enterprise’daki gelişmiş yetenekler gerçekten tescilli ve gerçekten ücretlidir; bu sayfa aksini iddia etmez ve o sürümlerin, ticari sözleşmenizde yer alan koşulları hakkında hiçbir söz vermez.

“Bağımlılık tuzağı yok” kesindir. Üzerine inşa ettiğiniz temelin izin verici biçimde lisanslandığı ve kendi koşullarınızda kullanılabilir kaldığı anlamına gelir. Her özelliğin çekirdekte olduğu anlamına gelmez ve benimsediğiniz bir Pro veya Enterprise yeteneğinden uzağa göç etmenin maliyetsiz olduğu anlamına da gelmez — tescilli bir yetenek, doğası gereği, bilerek üstlendiğiniz bir bağımlılıktır. Özgürlük, çekirdektedir.

Apache-2.0 §4 kapsamındaki atıf görevleri seçenek değil, yükümlülüktür. Bildirimleri düşüren, lisansı atlayan veya değiştirilen dosyalarda yapılan değişiklikleri gizleyen bir yeniden dağıtım, lisans izin verici olsa bile bir lisans ihlalidir. Buradaki özgürlük, kısa ve dürüst bir görevler listesiyle gelir.

Bu sayfa, lisanslama modelinin sade dilde bir özetidir; lisansın kendisi değil ve hukuki tavsiye değildir. Bu özet ile yetkili belgelerin — paketteki LICENSE dosyası ve ücretli sürümler için ticari sözleşmeniz — farklılaştığı yerde, o belgeler geçerlidir. Tam, bağlayıcı ele alış lisanslama sayfasında yer alır.

  • Açık çekirdek (Open core) — izin verici biçimde lisanslanmış bir açık kaynak çekirdeğin, tescilli, ücretli eklentilerle çevrelendiği bir model. Çekirdek kullanması ve sahip olması ücretsizdir; eklentiler isteğe bağlıdır.
  • Apache License 2.0 — izin verici, OSI tarafından onaylanmış bir açık kaynak lisansı. Geniş kullanım, değiştirme ve yeniden dağıtma hakları tanır, açık bir patent hibesi içerir, yeniden dağıtımda atıf gerektirir ve hiçbir ticari marka hakkı tanımaz.
  • Patent hibesi (Patent grant) — katkı sağlayanların, katkılarını kapsayan patentlerine yönelik açık, telifsiz bir lisans; yazılım üzerinde belirli patentler için dava açarsanız savunmacı fesihle birlikte (Apache-2.0 §3).
  • NOTICE dosyası — çalışmada bulunduğunda, Apache-2.0 §4 kapsamında yeniden dağıtımınızda ileriye taşınması gereken bir atıf dosyası.
  • Bağımlılık tuzağı (Lock-in) — bir tedarikçiden ayrılmayı pahalı kılan geçiş maliyeti. Açık çekirdek, çekirdeği izin verici biçimde lisanslayarak temel için onu ortadan kaldırır.