Premium edycja
Dwa kanały dostawy: ionCube i podpisany kod źródłowy
W skrócie
Dział zatytułowany „W skrócie”NextPDF Pro i Enterprise dostarczane są w dwóch postaciach, które możesz traktować jako dwa kanały tego samego produktu:
- Zakodowany przez ionCube — instalowalny kod PHP, którego źródło jest zakodowane i wykonywane przez ionCube Loader w czasie działania.
- Podpisany kod źródłowy w postaci jawnej — czytelny kod źródłowy PHP, podpisany kryptograficznie, abyś mógł zweryfikować, że jest autentyczny i niezmodyfikowany.
Oba kanały dają tę samą licencję i te same prawa ( NextPDF Commercial License Agreement reguluje oba, a dostęp do czytelnego kodu źródłowego nigdy nie oznacza pozwolenia na jego kopiowanie ani redystrybucję). Istnieją, ponieważ dwa rodzaje klientów mają dwa różne problemy do rozwiązania, a każdy kanał wyceniamy stosownie do kompromisu, z jakim się wiąże — nie dlatego, że jeden ma więcej funkcji niż drugi. Ta strona wyjaśnia tok rozumowania, abyś mógł wybierać świadomie. Praktyczną konfigurację wersji zakodowanej opisuje Konfiguracja ionCube Loader.
Dlaczego ochrona kodu źródłowego to realny problem w PHP
Dział zatytułowany „Dlaczego ochrona kodu źródłowego to realny problem w PHP”PHP jest dostarczane i uruchamiane jako kod źródłowy. W przeciwieństwie do języków, które przed dystrybucją kompilują się do nieprzejrzystego pliku binarnego lub do kodu bajtowego, działający kod źródłowy pakietu PHP jest tym, co instalujesz — środowisko uruchomieniowe czyta go bezpośrednio. To jedna z wielkich zalet PHP: jest przejrzyste, łatwe do przejrzenia, łatwe do poprawiania i w dużej mierze powód, dla którego jego ekosystem open source jest tak żywy.
To także powód, dla którego komercyjny projekt w PHP ma trudniejszy problem z ochroną niż jego odpowiedniki gdzie indziej. Inwestycja włożona w głęboki, wyspecjalizowany silnik — lata pracy nad standardami, przypadki brzegowe, zestawy testów — żyje w kodzie źródłowym, który domyślnie wędruje w postaci jawnej. Ta inwestycja jest tajemnicą przedsiębiorstwa: to praktyczna wiedza, która finansuje dalszy rozwój, oraz aktyw uznawany i chroniony przez prawo. Jej ochrona nie polega na ukrywaniu się przed użytkownikami; chodzi o to, by tę pracę dało się nadal finansować.
To również powód, dla którego ochrona kodu źródłowego jest po prostu łatwiejsza w ekosystemach dostarczających artefakty skompilowane lub w kodzie bajtowym — Java jest typowym przykładem: dystrybuowana postać jest już o krok oddalona od działającego kodu źródłowego, więc komercyjny dostawca ma mniej do strzeżenia. Dzięki temu łatwiej było tam finansować głębokie, wyspecjalizowane narzędzia komercyjne, podczas gdy znaczna część poważnej pracy w PHP opierała się zamiast tego na życzliwości społeczności open source. Nie sądzimy, by było to prawo natury. PHP również zasługuje na profesjonalne, aktywnie utrzymywane narzędzia klasy standardów — a to właśnie możliwość obrony kodu źródłowego sprawia, że finansowanie tej pracy jest trwałe.
Otwarty rdzeń, płatne premium
Dział zatytułowany „Otwarty rdzeń, płatne premium”Odpowiedzią NextPDF jest otwarty rdzeń z płatnym premium. Silnik, na którym
budujesz — nextpdf/core — jest na licencji Apache-2.0 i pozostaje otwarty;
możesz go czytać, forkować i dostarczać komercyjnie. NextPDF Pro i
Enterprise to edycje prywatne, a przychód z nich jest tym, co opłaca aktywne
utrzymanie, zgodność ze standardami i kolejne funkcje. Ten podział jest celowy:
pozwala nam obsługiwać zespoły, które potrzebują profesjonalnych możliwości klasy
B2B, i zarazem pozostawać przyjaznym dla indywidualnych deweloperów, bo sami
zaczynaliśmy jako samodzielni deweloperzy ceniący wolne oprogramowanie.
Uzasadnienie otwartej połowy omawia
Otwarty rdzeń, brak uzależnienia od dostawcy;
ta strona dotyczy tego, jak dociera do Ciebie połowa płatna.
Kanał ionCube — ochrona, która utrzymuje niską cenę
Dział zatytułowany „Kanał ionCube — ochrona, która utrzymuje niską cenę”Dla większości klientów domyślny jest kanał zakodowany przez ionCube. Kodowanie źródła — uznany sposób podnoszenia kosztu manipulacji i przywłaszczenia — pozwala nam chronić kod premium znacznie mniejszym nakładem: mniej dedykowanej obsługi kodu źródłowego, mniej administrowania dystrybucją i dostępem oraz lżejsze obciążenie prawne i egzekucyjne niż strzeżenie kodu źródłowego w postaci jawnej na dużą skalę. To realne oszczędności, którymi dzielimy się z Tobą.
Kompromisem jest umiarkowany koszt w czasie wykonywania: Loader dekoduje zakodowane pliki w trakcie działania PHP, co dodaje pewien narzut. Odzwierciedlamy ten kompromis w cenie, abyś mógł ocenić go uczciwie, zamiast odkryć go później. W praktyce narzut jest zwykle niewielki, a w typowych wdrożeniach często pomijalny — a w istocie nieistotny na hoście, który już uruchamia ionCube Loader dla innego oprogramowania. W przypadku obciążeń wrażliwych na wydajność warto zmierzyć go względem własnego profilu; dla zdecydowanej większości wdrożeń kanał zakodowany jest po prostu opcją o niższym koszcie, co stanowi dopasowanie podaży i popytu, jakiego sobie życzymy. Konfiguracja Loadera to jednorazowy krok, opisany w Konfiguracja ionCube Loader.
Kanał podpisanego źródła — dla regulacji, audytu i pewności łańcucha dostaw
Dział zatytułowany „Kanał podpisanego źródła — dla regulacji, audytu i pewności łańcucha dostaw”Niektórzy klienci nie mogą zaakceptować zakodowanego kodu w swoim środowisku uruchomieniowym. Organizacje podlegające silnym regulacjom lub mające ścisłe wymogi bezpieczeństwa łańcucha dostaw i audytu muszą czytać, przeglądać i weryfikować to, co uruchamiają — i zwykle dysponują budżetem, jaki te wymogi implikują. Dla nich oferujemy kanał podpisanego kodu źródłowego w postaci jawnej: te same edycje dostarczone jako czytelny kod źródłowy, podpisany kryptograficznie, tak aby można było zweryfikować jego pochodzenie i integralność.
Odpowiada to bezpośrednio temu, jak nowoczesne bezpieczeństwo łańcucha dostaw oczekuje obsługi oprogramowania: kod źródłowy dostarczony w cyfrowo podpisanej paczce, podpisy zweryfikowane przed użyciem, a możliwy do przeglądu kod źródłowy preferowany nad nieprzejrzystym artefaktem na potrzeby pewności i audytu (NIST SP 800-204D). Tutaj kod nie jest chroniony kodowaniem — jest chroniony prawem i umową: pozostaje poufną tajemnicą przedsiębiorstwa firmy PATEON, stojącej za NextPDF, a to, co możesz, a czego nie możesz z nim robić, określa NextPDF Commercial License Agreement. Możliwość czytania kodu źródłowego nigdy nie oznacza pozwolenia na jego kopiowanie, redystrybucję ani ponowne licencjonowanie.
Ten kanał kosztuje więcej, a powód jest odwrotnością kanału ionCube: znosi narzut w czasie wykonywania, ale przenosi ciężar ochrony z powrotem na umowę, zaufanie i administrację — a to koszt, który ponosimy, aby klienci związani wymogami zgodności mogli wywiązać się ze swoich zobowiązań.
Łączność a egzekwowanie licencji
Dział zatytułowany „Łączność a egzekwowanie licencji”Kanały różnią się także sposobem sprawdzania licencji podczas działania Twojej aplikacji, a w przypadku wdrożeń offline lub air-gapped jest to zwykle czynnik decydujący.
Kanał ionCube weryfikuje swoją licencję okresowo online. Wersja premium dostarczona przez kanał zakodowany melduje się w usłudze licencyjnej NextPDF w regularnym rytmie — z grubsza jest to sprawdzenie co 7 dni, które odnawia dzierżawę trwającą około 14 dni. Dopóki wdrożenie może połączyć się z usługą w tym oknie, wszystko działa normalnie. Jeśli pozostanie offline poza dzierżawą, funkcje premium wstrzymują się, a silnik cofa się do darmowego Core — nie zatrzymuje się, nie zgłasza błędu ani się nie zawiesza — i wznawiają się automatycznie, gdy tylko łączność wróci. Ta dzierżawa online jest też tym, co czyni licencjonowaną liczbę stanowisk egzekwowalną i pozwala, by unieważnienie weszło w życie w oknie dzierżawy (około 14 dni plus krótki okres łaski). Sprawdzenie wysyła jedynie identyfikator licencji i solony skrót odcisku palca — nigdy treści Twoich dokumentów ani surowego odcisku palca czy adresu IP.
Kanał podpisanego źródła może działać w pełni offline. Ponieważ jego podpisana licencja jest samowystarczalnym artefaktem, który silnik weryfikuje lokalnie, kanał podpisanego źródła nie wymaga żadnej okresowej łączności i nadaje się do wdrożeń air-gapped, ograniczonych jedynie własną ważnością licencji. Tutaj liczba stanowisk jest umownym limitem ustalonym w Twojej umowie, a nie czymś egzekwowanym w czasie działania, unieważnienie stosuje się przy następnym sprawdzeniu online lub poprzez aktualizację produktu, a wdrożenie w pełni offline nie wysyła niczego.
Dwa osobne zegary — nie myl ich. ~14-dniowa dzierżawa kanału ionCube dotyczy łączności — tego, jak długo wdrożenie toleruje pozostawanie offline. Jest niezależna od ~30-dniowego okresu łaski, jaki każdy z kanałów daje po dacie zakończenia subskrypcji, podczas którego funkcje premium nadal działają, gdy odnawiasz subskrypcję, zanim silnik cofnie się do Core. Wygaśnięcie dzierżawy i wygaśnięcie subskrypcji to różne zdarzenia na różnych zegarach.
Niezależnie od tego, który kanał uruchamiasz, tryb awarii jest ten sam i zawsze bezpieczny: NextPDF degraduje do darmowego, otwartoźródłowego Core. Nigdy się nie blokuje, nigdy nie odcina Cię od oprogramowania, które już wdrożyłeś, i nigdy nie zatrzymuje się w trakcie działania.
Te same prawa, Twój wybór
Dział zatytułowany „Te same prawa, Twój wybór”Te dwa kanały to nie dwa produkty. Dają identyczne prawa licencyjne i to samo oprogramowanie; różnica polega na tym, jak chroniony jest kod źródłowy, jak weryfikowana jest licencja w czasie działania i ile to kosztuje:
| Zakodowany przez ionCube | Podpisany kod źródłowy w postaci jawnej | |
|---|---|---|
| Co uruchamiasz | Zakodowany kod PHP, przez ionCube Loader | Czytelny, podpisany kod źródłowy PHP |
| Jak chroniony jest kod źródłowy | Kodowanie (środek technologiczny) oraz licencja | Licencja i prawo o tajemnicy przedsiębiorstwa (bez kodowania) |
| Najlepszy do | Większości wdrożeń; najniższy koszt | Potrzeb regulacyjnych / audytu / bezpieczeństwa łańcucha dostaw |
| Koszt w czasie wykonywania | Niewielki narzut Loadera (często pomijalny; zmierz go, gdy zależy Ci na wydajności) | Brak narzutu dodawanego przez nas |
| Sprawdzanie licencji online | Okresowe (sprawdzenie co ~7 dni, dzierżawa ~14-dniowa) | Opcjonalne; weryfikuje lokalnie i działa offline |
| Offline / air-gapped | Do końca okna dzierżawy, potem funkcje premium wstrzymują się do Core (automatyczne wznowienie po ponownym połączeniu) | W pełni obsługiwane; brak okresowej łączności |
| Liczba stanowisk | Egzekwowana przez dzierżawę online | Umowna (zgodnie z Twoją umową); nieegzekwowana w czasie działania |
| Wejście w życie unieważnienia | W oknie dzierżawy (~14 dni + krótki okres łaski) | Przy następnym sprawdzeniu online lub poprzez aktualizację produktu |
| Przesyłane dane licencyjne | Tylko identyfikator licencji + solony skrót odcisku palca (nigdy treść, IP ani surowy odcisk palca) | Nic w trybie w pełni offline |
| Prawa | Identyczne — zobacz EULA | Identyczne — zobacz EULA |
Cena odzwierciedla ten kompromis między ochroną a kosztem w czasie wykonywania, a nie różnicę w funkcjach. Aktualne ceny i edycje znajdziesz w Zakup i licencjonowanie oraz na stronie cennika podlinkowanej stamtąd; ta strona dokumentacji celowo nie powtarza cen ani warunków licencji.
Dlaczego robimy to w ten sposób
Dział zatytułowany „Dlaczego robimy to w ten sposób”Wolelibyśmy, aby ekosystem PHP miał więcej poważnych, dobrze finansowanych, profesjonalnie utrzymywanych narzędzi — a mniej projektów, które po cichu się wypalają, bo nie było trwałego sposobu sfinansowania głębi, której potrzebowały. To ochrona kodu źródłowego pozwala nam inwestować w tę głębię, zachowując otwarty rdzeń i przystępną cenę kanału zakodowanego. A ponieważ na zaufanie trzeba zasłużyć, staramy się być przejrzyści właśnie w tej kwestii: co chroni każdy kanał, ile Cię kosztuje i dlaczego — tak aby ten kompromis pozostał Twój do rozważenia, a nie nasz do ukrycia.