ข้ามไปยังเนื้อหา
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)
  • คุณ fork และส่งมอบโค้ดได้ แต่ส่งมอบมันภายใต้ชื่อหรือโลโก้ 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.
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 สำหรับแกนหลัก มันให้สิทธิ์การใช้งานอย่างกว้างขวาง — ไม่ว่าจะเป็นซอร์สหรือคอมไพล์แล้ว แบบสแตนด์อะโลนหรือเป็นส่วนหนึ่งของงานที่ใหญ่กว่า — โดยไม่มีเงื่อนไขห้ามใช้เชิงพาณิชย์ คุณนำแกนหลักไปใส่ในผลิตภัณฑ์แบบปิดซอร์ส แบบมีค่าใช้จ่าย หรือแบบใช้ภายในได้

มีสองมาตราที่ควรเอ่ยถึง เพราะเป็นจุดที่ “ผ่อนปรน” กลายเป็น “ทนทาน” สัญญาอนุญาตมีการให้สิทธิ์ในสิทธิบัตรอย่างชัดแจ้ง ผู้มีส่วนร่วมให้สิทธิ์ในสิทธิบัตรแบบไม่มีค่าลิขสิทธิ์แก่คุณเหนือผลงานของพวกเขา และการให้สิทธิ์นั้นจะสิ้นสุดเฉพาะในเชิงป้องกันเท่านั้น คือเมื่อคุณริเริ่มการฟ้องร้องด้านสิทธิบัตรบางประเภทเกี่ยวกับซอฟต์แวร์ (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. 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 ของคุณ การเลือกใช้แกนเปิดคือ dependency จากรีจิสทรีสาธารณะเพียงตัวเดียว

<?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) ดังนั้นคุณจึง fork nextpdf/core ดัดแปลง และแจกจ่ายซ้ำได้ — นั่นคือสิทธิ์ในโค้ด — แต่คุณส่งมอบ fork นั้น ในฐานะ “NextPDF” หรือภายใต้โลโก้ NextPDF ไม่ได้ จงตั้งชื่อของคุณเอง

การแบ่งนั้นไม่ใช่กับดักที่ซ่อนอยู่ในความเอื้อเฟื้อ แต่เป็นสิ่งที่ทำให้ความเอื้อเฟื้อปลอดภัย สัญญาอนุญาตแบบผ่อนปรนสามารถยื่นโค้ดให้ได้อย่างแม่นยำเพราะกฎหมายเครื่องหมายการค้ารักษาให้ “NextPDF” หมายถึงซอฟต์แวร์อย่างเป็นทางการที่ไม่ถูกดัดแปลง แม้หลังจากโค้ดถูก fork ไปแล้ว หากไม่มีขอบเขตนี้ บิลด์ที่ถูกแก้ไขใดๆ ก็เรียกตัวเองว่า NextPDF ได้ และไม่มีใครแยกออกว่าเอนจินตัวจริงต่างจากแพตช์ของใครบางคน เส้นแบ่งนี้ปกป้องผู้ใช้ ไม่ใช่แค่ตัวเครื่องหมาย การจัดการเรื่องโค้ดเทียบกับแบรนด์อย่างเต็มรูปแบบอยู่ในหน้าเครื่องหมายการค้า

ความเข้าใจผิดข้อที่สองคือ “แกนเปิด” ทำให้รุ่นที่มีค่าใช้จ่ายเปิดตามไปด้วย มันไม่ใช่เช่นนั้น การที่แกนหลักเป็น Apache-2.0 ไม่ได้บอกอะไรเกี่ยวกับ Pro หรือ Enterprise เลย — รุ่นเหล่านั้นเป็นกรรมสิทธิ์โดยไม่ขึ้นกับสัญญาอนุญาตของแกนหลัก

แกนเปิดเป็นข้อได้เปรียบจริง ที่ระบุไว้อย่างตรงไปตรงมา — ไม่ใช่ข้อกล่าวอ้างว่าทุกอย่างฟรี ความสามารถขั้นสูงใน Pro และ Enterprise เป็นกรรมสิทธิ์อย่างแท้จริงและมีค่าใช้จ่ายอย่างแท้จริง หน้านี้ไม่แสร้งทำเป็นอย่างอื่น และไม่ให้สัญญาใดๆ เกี่ยวกับเงื่อนไขของรุ่นเหล่านั้น ซึ่งอยู่ในข้อตกลงเชิงพาณิชย์ของคุณ

“ไม่มีการล็อกอิน” เป็นคำที่แม่นยำ มันหมายความว่ารากฐานที่คุณสร้างต่อยอดได้รับสัญญาอนุญาตแบบผ่อนปรนและยังคงใช้งานได้ตามเงื่อนไขของคุณ มันไม่ได้หมายความว่าทุกฟีเจอร์อยู่ในแกนหลัก และไม่ได้หมายความว่าการย้าย ออกจาก ความสามารถของ Pro หรือ Enterprise ที่คุณเลือกใช้นั้นปราศจากต้นทุน — ความสามารถแบบกรรมสิทธิ์โดยธรรมชาติคือ dependency ที่คุณรับมาอย่างรู้ตัว อิสรภาพอยู่ที่แกนหลัก

หน้าที่ในการให้เครดิตภายใต้ Apache-2.0 §4 เป็นข้อผูกมัด ไม่ใช่ทางเลือก การแจกจ่ายซ้ำที่ตัดประกาศออก ละเว้นสัญญาอนุญาต หรือซ่อนการเปลี่ยนแปลงที่ทำต่อไฟล์ที่ถูกดัดแปลง ถือเป็นการละเมิดสัญญาอนุญาตแม้ว่าสัญญาอนุญาตจะผ่อนปรนก็ตาม อิสรภาพในที่นี้มาพร้อมรายการหน้าที่ที่สั้นและซื่อตรง

หน้านี้เป็นบทสรุปแบบภาษาเรียบง่ายของโมเดลสัญญาอนุญาต ไม่ใช่ตัวสัญญาอนุญาตเอง และไม่ใช่คำแนะนำทางกฎหมาย ในจุดที่บทสรุปนี้แตกต่างจากเอกสารที่เชื่อถือได้ — ไฟล์ LICENSE ในแพ็กเกจ และข้อตกลงเชิงพาณิชย์ของคุณสำหรับรุ่นที่มีค่าใช้จ่าย — เอกสารเหล่านั้นมีผลบังคับ การจัดการฉบับเต็มที่มีผลผูกพันอยู่ในหน้าสัญญาอนุญาต

  • Open core — โมเดลที่แกนหลักโอเพนซอร์สซึ่งได้รับสัญญาอนุญาตแบบผ่อนปรน ถูกล้อมรอบด้วยส่วนเสริมแบบกรรมสิทธิ์ที่มีค่าใช้จ่าย แกนหลักใช้และเก็บไว้ได้ฟรี ส่วนเสริมเป็นทางเลือก
  • Apache License 2.0 — สัญญาอนุญาตโอเพนซอร์สแบบผ่อนปรนที่ได้รับการรับรอง จาก OSI มันให้สิทธิ์การใช้ ดัดแปลง และแจกจ่ายซ้ำอย่างกว้างขวาง มีการให้ สิทธิ์ในสิทธิบัตรอย่างชัดแจ้ง กำหนดให้ให้เครดิตเมื่อแจกจ่ายซ้ำ และไม่ให้สิทธิ์ ในเครื่องหมายการค้า
  • Patent grant — การให้สิทธิ์อย่างชัดแจ้งแบบไม่มีค่าลิขสิทธิ์ในสิทธิบัตรของ ผู้มีส่วนร่วมที่ครอบคลุมผลงานของพวกเขา พร้อมการสิ้นสุดเชิงป้องกันหากคุณ ฟ้องร้องสิทธิบัตรบางประเภทเกี่ยวกับซอฟต์แวร์ (Apache-2.0 §3)
  • NOTICE file — ไฟล์การให้เครดิตที่เมื่อมีอยู่ในผลงาน ต้องถูกส่งต่อในการ แจกจ่ายซ้ำของคุณภายใต้ Apache-2.0 §4
  • Lock-in — ต้นทุนของการสลับที่ทำให้การจากผู้ขายมีราคาแพง แกนเปิดขจัดมัน สำหรับรากฐานด้วยการให้สัญญาอนุญาตแกนหลักแบบผ่อนปรน