Otwarty rdzeń, brak uzależnienia od dostawcy
Spec: Apache License 2.0Apache License 2.0
W skrócie
Dział zatytułowany „W skrócie”NextPDF ma otwarty rdzeń. Silnik, na którym budujesz — nextpdf/core — jest
wydany na licencji Apache License 2.0, więc możesz go używać, modyfikować i
redystrybuować, w tym komercyjnie. Pro i Enterprise to zastrzeżone dodatki, za
które płacisz tylko wtedy, gdy chcesz tego, co dodają. Fundament należy do
Ciebie na stałe; zaawansowane możliwości są opcjonalne.
Dlaczego to ma znaczenie
Dział zatytułowany „Dlaczego to ma znaczenie”Kosztowne pytanie przy każdym silniku dokumentów to nie „ile to kosztuje dziś”. To „co się stanie w dniu, w którym zechcę odejść”. W przypadku zamkniętego silnika ten dzień to projekt migracyjny: zmiana platformy, ponowne testowanie, ponowna certyfikacja wyjścia, które Twoi audytorzy już zatwierdzili. Koszt zmiany jest uzależnieniem i jest płacony w całości w najgorszym możliwym momencie.
Otwarty rdzeń usuwa to pytanie z założenia. Część, od której zależysz najbardziej — silnik renderujący, model obiektowy, zgodność ze standardami — jest permisywnie licencjonowana i taka pozostanie dla wersji, którą wdrożyłeś. Nigdy nie dzieli Cię jedno odnowienie od utraty dostępu do kodu, na którym zbudowany jest Twój produkt.
Wersja skrócona
Dział zatytułowany „Wersja skrócona”- Rdzeń silnika jest na licencji Apache-2.0: używanie, kopiowanie, modyfikowanie, redystrybucja i użycie komercyjne, bez ograniczenia do zastosowań niekomercyjnych.
- Licencja zawiera wyraźne udzielenie licencji patentowej od kontrybutorów, z klauzulą wygaśnięcia o charakterze obronnym (Spec: Apache License 2.0, §3Apache License 2.0 §3).
- Pro i Enterprise to zastrzeżone dodatki. Płacisz za zaawansowane możliwości, nigdy za prawo do dalszego korzystania z otwartego rdzenia.
- Redystrybucja niesie obowiązki atrybucji — zachowaj informacje, dołącz
licencję, podaj swoje zmiany, przenieś dalej
NOTICE(Spec: Apache License 2.0, §4Apache License 2.0 §4). - Możesz sforkować i dostarczać kod; nie możesz dostarczać go pod nazwą lub logo NextPDF (Spec: Apache License 2.0, §6Apache License 2.0 §6).
Jak podchodzi do tego NextPDF
Dział zatytułowany „Jak podchodzi do tego NextPDF”Model jest celowo prosty, a w tej prostocie tkwi sedno. Są trzy rzeczy i odpowiadają one na trzy różne pytania.
- 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.
- 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.
- 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.
Apache License 2.0 to permisywna licencja open source zatwierdzona przez Open Source Initiative. Dla rdzenia udziela szerokich praw użytkowania — w postaci źródłowej lub skompilowanej, samodzielnie lub jako część większego dzieła — bez klauzuli niekomercyjnej. Możesz umieścić rdzeń wewnątrz zamkniętego, płatnego lub wewnętrznego produktu.
Dwie klauzule warto nazwać, bo to tam „permisywna” staje się „trwała”.
Licencja niesie wyraźne udzielenie licencji patentowej: kontrybutorzy
udzielają Ci bezpłatnej licencji patentowej na swoje wkłady, a to udzielenie
wygasa wyłącznie w trybie obronnym, jeśli zainicjujesz określone postępowanie
patentowe dotyczące oprogramowania
(Spec: Apache License 2.0, §3Apache License 2.0 §3). To ochrona, której naga
licencja „rób, co chcesz” nie zawsze daje. Redystrybucja jest dozwolona, ale
nie wolna od obowiązków: zachowujesz istniejące informacje o prawach
autorskich, patentach, znakach towarowych i atrybucji, dołączasz licencję,
podajesz zmiany wprowadzone w zmodyfikowanych plikach i przenosisz dalej
każdy plik NOTICE (Spec: Apache License 2.0, §4Apache License 2.0 §4).
Honorowanie tych obowiązków to cena wolności, a jest ona niska.
To, za co płacisz, gdy płacisz, to możliwość — nie ciągłość. Podział jest czysty: ten sam zapisujący o ograniczonej pamięci, ten sam model obiektowy, ta sama zgodność ze standardami żyje w rdzeniu niezależnie od tego, czy kiedykolwiek cokolwiek kupisz.
| Edition | Availability |
|---|---|
| Core | Apache-2.0. Pełny silnik renderujący, model obiektowy i wyjście PDF 2.0 — do swobodnego używania, modyfikowania, redystrybucji i komercjalizacji. To fundament i ten sam silnik w każdej edycji. |
| Pro | Pro buduje na identycznym rdzeniu Apache-2.0 i dodaje zastrzeżone możliwości. Nie zastępuje rdzenia ani nie zmienia Twoich praw do niego. |
| Enterprise | Enterprise buduje na identycznym rdzeniu Apache-2.0 i dodaje zastrzeżone możliwości. Nie zastępuje rdzenia ani nie zmienia Twoich praw do niego. |
Pro i Enterprise nie są open source. Ich pakiety deklarują
"license": "LicenseRef-NextPDF-Commercial", a ich warunki żyją w NextPDF
Commercial License Agreement (Version 3.0) — nie w Apache License 2.0 i nie
wywodzą się z otwartego rdzenia. Dodają rzeczy; niczego nie odbierają z tego,
co daje Ci rdzeń.
Praktyczny przykład
Dział zatytułowany „Praktyczny przykład”Granica jest widoczna w najzwyklejszym miejscu, jakie istnieje: w Twoim
composer.json. Wdrożenie otwartego rdzenia to jedna zależność z publicznego
rejestru.
<?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);Nic w tym programie nie jest wypożyczone. Nie ma sprawdzenia licencji między Tobą a silnikiem, nie ma edycji, która musi być obecna, by rdzeń działał. Jeśli później zechcesz możliwości, którą zapewnia Pro lub Enterprise, dodajesz ją. Jeśli nigdy tego nie zrobisz, rdzeń działa dokładnie tak, jak działa dziś.
Częste nieporozumienie
Dział zatytułowany „Częste nieporozumienie”Częstym błędnym odczytem jest „otwarty rdzeń oznacza, że dostaję też markę”.
Nie oznacza. Apache License 2.0 nie udziela żadnych praw do nazw handlowych,
znaków towarowych ani logo licencjodawcy poza rozsądnym, zwyczajowym
odniesieniem do pochodzenia dzieła
(Spec: Apache License 2.0, §6Apache License 2.0 §6). Możesz więc sforkować
nextpdf/core, zmodyfikować go i redystrybuować — to jest prawo do kodu — ale
nie możesz dostarczać tego forka jako „NextPDF” ani pod logo NextPDF. Wybierz
własną nazwę.
Ten podział nie jest haczykiem ukrytym w hojności. To on czyni tę hojność bezpieczną. Licencja permisywna może rozdawać kod właśnie dlatego, że prawo znaków towarowych utrzymuje znaczenie „NextPDF” jako oficjalnego, niezmodyfikowanego oprogramowania nawet po sforkowaniu kodu. Bez tej granicy każda zmieniona kompilacja mogłaby nazywać się NextPDF i nikt nie odróżniłby oficjalnego silnika od czyjejś łatki. Ta linia chroni użytkowników, nie tylko znak. Pełne ujęcie kwestii kod-kontra-marka żyje na stronie znaku towarowego.
Drugie nieporozumienie to przekonanie, że „otwarty rdzeń” jakoś czyni płatne edycje również otwartymi. Nie czyni. To, że rdzeń jest na licencji Apache-2.0, nie mówi nic o Pro ani Enterprise — są one zastrzeżone niezależnie od licencji rdzenia.
Ograniczenia i granice
Dział zatytułowany „Ograniczenia i granice”Otwarty rdzeń to realna przewaga, wyłożona wprost — a nie twierdzenie, że wszystko jest darmowe. Zaawansowane możliwości w Pro i Enterprise są naprawdę zastrzeżone i naprawdę płatne; ta strona nie udaje, że jest inaczej, i nie składa żadnej obietnicy co do warunków tych edycji, które żyją w Twojej umowie komercyjnej.
„Brak uzależnienia od dostawcy” jest precyzyjny. Oznacza, że fundament, na którym budujesz, jest permisywnie licencjonowany i pozostaje używalny na Twoich warunkach. Nie oznacza, że każda funkcja jest w rdzeniu, i nie oznacza, że migracja z możliwości Pro lub Enterprise, którą wdrożyłeś, jest bezkosztowa — możliwość zastrzeżona to z natury zależność, którą wziąłeś na siebie świadomie. Wolność jest w rdzeniu.
Obowiązki atrybucji wynikające z Apache-2.0 §4 to obowiązki, a nie opcje. Redystrybucja, która pomija informacje, opuszcza licencję lub ukrywa zmiany wprowadzone w zmodyfikowanych plikach, jest naruszeniem licencji, choć licencja jest permisywna. Wolność niesie tu krótką, uczciwą listę obowiązków.
Ta strona jest podsumowaniem modelu licencjonowania w prostym języku, a nie
samą licencją i nie poradą prawną. Tam, gdzie to podsumowanie i dokumenty
miarodajne się różnią — plik LICENSE w pakiecie oraz Twoja umowa komercyjna
dla płatnych edycji — rządzą te dokumenty. Pełne, wiążące ujęcie znajduje się
na stronie licencjonowania.
Powiązane dokumenty
Dział zatytułowany „Powiązane dokumenty”- Licencjonowanie produktu — miarodajne ujęcie w prostym języku, która licencja stosuje się do której edycji i co każda z nich udziela.
- Znak towarowy i użycie marki — granica kod-kontra-marka w całości, z dopuszczalnymi i niedopuszczalnymi zastosowaniami.
- Firma stojąca za NextPDF — kto jest właścicielem znaku towarowego i dlaczego produkt komercyjny stał się open source.
- Kiedy nie używać NextPDF — uczciwe ujęcie tego, gdzie kończy się rdzeń, a zaczyna dodatek.
Słowniczek
Dział zatytułowany „Słowniczek”- Otwarty rdzeń — model, w którym permisywnie licencjonowany otwartoźródłowy rdzeń jest otoczony zastrzeżonymi, płatnymi dodatkami. Rdzeń jest darmowy w użyciu i pozostaje Twój; dodatki są opcjonalne.
- Apache License 2.0 — permisywna, zatwierdzona przez OSI licencja open source. Udziela szerokich praw użycia, modyfikacji i redystrybucji, zawiera wyraźne udzielenie licencji patentowej, wymaga atrybucji przy redystrybucji i nie udziela żadnych praw do znaków towarowych.
- Udzielenie licencji patentowej — wyraźna, bezpłatna licencja na patenty kontrybutorów obejmujące ich wkłady, z wygaśnięciem o charakterze obronnym, jeśli wytaczasz określone postępowanie patentowe dotyczące oprogramowania (Apache-2.0 §3).
- Plik NOTICE — plik atrybucji, który, gdy jest obecny w dziele, musi zostać przeniesiony dalej w Twojej redystrybucji zgodnie z Apache-2.0 §4.
- Uzależnienie od dostawcy — koszt zmiany, który czyni odejście od dostawcy kosztownym. Otwarty rdzeń usuwa je dla fundamentu, licencjonując rdzeń permisywnie.