콘텐츠로 이동
getnextpdf.com

Premium 에디션

두 가지 제공 채널: ionCube와 서명된 소스

NextPDF Pro 와 Enterprise 는 두 가지 형태로 제공되며, 이를 동일한 제품을 전달하는 두 개의 채널로 보아도 좋습니다.

  • ionCube 로 인코딩된 형태 — 소스가 인코딩되어 있고 런타임에 ionCube Loader 를 통해 실행되는, 설치 가능한 PHP.
  • 서명된 평문 소스 — 읽을 수 있는 PHP 소스로, 그것이 진짜이며 변경되지 않았음을 검증할 수 있도록 암호학적으로 서명되어 있습니다.

두 채널은 동일한 라이선스와 동일한 권리를 지닙니다 (NextPDF Commercial License Agreement 가 두 채널 모두를 규율하며, 읽을 수 있는 소스에 대한 접근이 그것을 복제하거나 재배포할 권한을 의미하지는 않습니다). 두 채널이 존재하는 이유는 두 종류의 고객이 서로 다른 두 가지 문제를 풀어야 하기 때문이며, 우리는 각 채널이 수반하는 트레이드오프에 맞춰 가격을 책정합니다 — 한쪽이 다른 쪽보다 더 많은 기능을 갖추고 있어서가 아닙니다. 이 페이지는 여러분이 충분히 알고 선택할 수 있도록 그 근거를 설명합니다. 인코딩된 빌드의 실제 설정 방법은 ionCube Loader 설정하기 를 참고하세요.

소스를 보호하는 것이 PHP 에서 실제 문제인 이유

섹션 제목: “소스를 보호하는 것이 PHP 에서 실제 문제인 이유”

PHP 는 소스 형태로 배포되고 실행됩니다. 배포되기 전에 불투명한 바이너리나 바이트코드로 컴파일되는 언어들과 달리, PHP 패키지의 동작하는 소스 그 자체가 여러분이 설치하는 대상입니다 — 런타임이 그것을 직접 읽습니다. 이는 PHP 의 큰 강점 중 하나입니다. 투명하고, 들여다보기 쉽고, 패치하기 쉬우며, 그 오픈 소스 생태계가 그토록 활기찬 데에는 이 점이 큰 몫을 합니다.

또한 이 때문에 상용 PHP 프로젝트는 다른 생태계의 동종 프로젝트보다 더 까다로운 보호 문제를 안게 됩니다. 깊고 전문화된 엔진에 들어가는 투자 — 여러 해에 걸친 표준 작업, 엣지 케이스, 테스트 스위트 — 는 기본적으로 평문 상태로 유통되는 소스 안에 담겨 있습니다. 그 투자는 곧 하나의 영업비밀입니다. 지속적인 개발에 자금을 대는 실질적인 노하우이자, 법이 인정하고 보호하는 자산입니다. 이를 보호하는 것은 사용자에게서 숨기려는 것이 아니라, 그 작업이 계속 자금을 받을 수 있도록 하려는 것입니다.

또한 이것이 바로 컴파일된 또는 바이트코드 아티팩트를 배포하는 생태계에서 소스 보호가 그저 더 쉬운 이유이기도 합니다 — Java 가 흔한 예입니다. 배포되는 형태가 이미 동작하는 소스에서 한 단계 떨어져 있어서, 상용 벤더가 지켜야 할 것이 더 적습니다. 그 덕분에 그곳에서는 깊고 전문화된 상용 도구에 자금을 대기가 더 수월해졌고, 반면 진지한 PHP 작업의 상당 부분은 오픈 소스 커뮤니티의 선의에 의존해 왔습니다. 우리는 이것이 자연의 법칙이라고 생각하지 않습니다. PHP 에도 전문적이고, 활발하게 유지보수되며, 표준 수준의 도구가 마땅히 있어야 합니다 — 그리고 소스를 방어 가능하게 만드는 것이 그 작업에 대한 자금 지원을 지속 가능하게 합니다.

NextPDF 의 답은 유료 프리미엄을 갖춘 오픈 코어입니다. 여러분이 그 위에 구축하는 엔진 — nextpdf/core — 은 Apache-2.0 이며 계속 오픈으로 유지됩니다. 읽고, 포크하고, 상업적으로 배포할 수 있습니다. NextPDF ProEnterprise 는 비공개 에디션이며, 거기서 나오는 수익이 활발한 유지보수, 표준 적합성, 그리고 다음 기능들에 드는 비용을 댑니다. 이 구분은 의도적입니다. 덕분에 우리는 전문적인 B2B 급 역량이 필요한 팀을 지원하면서도 동시에 개인 개발자에게 친화적으로 남을 수 있습니다. 우리 자신이 자유 소프트웨어를 사랑하는 1인 개발자로 출발했기 때문입니다. 오픈 절반의 이면에 있는 근거는 오픈 코어, 락인 없음 에서 다룹니다. 이 페이지는 유료 절반이 여러분에게 어떻게 도달하는지에 관한 것입니다.

ionCube 채널 — 가격을 낮게 유지하는 보호

섹션 제목: “ionCube 채널 — 가격을 낮게 유지하는 보호”

대부분의 고객에게는 ionCube 로 인코딩된 채널이 기본값입니다. 소스를 인코딩하는 것은 변조와 부정 사용의 비용을 높이는 잘 알려진 방법으로, 우리가 프리미엄 코드를 훨씬 적은 부담으로 보호할 수 있게 해 줍니다. 맞춤형 소스 처리가 줄고, 배포 및 접근 관리가 줄며, 대규모로 평문 소스를 지키는 경우보다 법적·집행 부담도 가볍습니다. 그렇게 절감된 비용은 실질적이며, 우리는 그것을 여러분에게 그대로 돌려드립니다.

그 트레이드오프는 크지 않은 런타임 비용입니다. PHP 가 실행될 때 Loader 가 인코딩된 파일을 디코딩하며, 이로 인해 약간의 오버헤드가 더해집니다. 우리는 그 트레이드오프를 가격에 반영하여, 여러분이 나중에 발견하기보다 처음부터 정직하게 평가할 수 있도록 합니다. 실제로 그 오버헤드는 대개 작고 일반적인 배포 환경에서는 무시할 만한 경우가 많으며 — 다른 소프트웨어를 위해 이미 ionCube Loader 를 실행하고 있는 호스트에서는 사실상 문제가 되지 않습니다. 성능에 민감한 워크로드는 자체 프로파일에 맞춰 벤치마크해 보는 것이 좋지만, 대다수의 배포에서 인코딩된 채널은 그저 더 낮은 비용의 선택지이며, 이는 우리가 의도한 수요·공급의 균형입니다. Loader 설정은 일회성 단계이며, ionCube Loader 설정하기 에 문서화되어 있습니다.

서명된 소스 채널 — 규제, 감사, 공급망 보증을 위해

섹션 제목: “서명된 소스 채널 — 규제, 감사, 공급망 보증을 위해”

일부 고객은 자신의 런타임에서 인코딩된 코드를 받아들일 수 없습니다. 강력한 규제 아래에 있거나, 엄격한 공급망 보안 및 감사 요구 사항을 가진 조직은 자신이 실행하는 것을 읽고, 검토하고, 검증해야 하며 — 그러한 요구 사항이 전제하는 예산을 대개 갖추고 있습니다. 이러한 고객을 위해 우리는 서명된 평문 소스 채널을 제공합니다. 동일한 에디션을 읽을 수 있는 소스로 제공하되, 그 출처와 무결성을 검증할 수 있도록 암호학적으로 서명해 둔 것입니다.

이는 현대의 공급망 보안이 소프트웨어가 다루어지기를 기대하는 방식에 그대로 대응합니다. 소스는 디지털 서명된 패키지로 제공되고, 사용 전에 서명이 검증되며, 보증과 감사를 위해 불투명한 아티팩트보다 검토 가능한 소스가 선호됩니다(NIST SP 800-204D). 여기서 코드는 인코딩으로 보호되는 것이 아니라법과 계약으로 보호됩니다. 그것은 NextPDF 를 만든 회사인 PATEON 의 기밀 영업비밀로 남으며, 여러분이 그것으로 무엇을 할 수 있고 할 수 없는지는 NextPDF Commercial License Agreement 가 정합니다. 소스를 읽을 수 있다는 것이 그것을 복제하거나, 재배포하거나, 재라이선스할 권한을 결코 의미하지는 않습니다.

이 채널은 비용이 더 들며, 그 이유는 ionCube 의 경우와 정반대입니다. 런타임 오버헤드를 없애는 대신, 보호 부담을 다시 계약과 신뢰, 관리 쪽으로 되돌립니다 — 이는 컴플라이언스에 매인 고객이 자신의 의무를 이행할 수 있도록 우리가 떠안는 비용입니다.

두 채널은 애플리케이션이 실행되는 동안 라이선스가 어떻게 확인되는지에서도 차이가 있으며, 오프라인 또는 에어갭(air-gapped) 배포 환경에서는 이 점이 대개 결정적인 요인입니다.

ionCube 채널은 라이선스를 주기적으로 온라인으로 검증합니다. 인코딩된 채널을 통해 제공되는 프리미엄 빌드는 일정한 주기로 NextPDF 라이선스 서비스에 확인 요청을 보냅니다 — 대략 7일마다 확인하여 약 14일짜리 리스를 갱신하는 방식입니다. 배포 환경이 그 기간 안에 서비스에 도달할 수 있는 한, 모든 것이 정상적으로 동작합니다. 리스 기간을 넘겨 오프라인 상태가 지속되면, 프리미엄 기능은 일시 중지되고 엔진은 무료 Core 로 폴백합니다 — 멈추거나, 오류를 내거나, 충돌하지 않습니다 — 그리고 연결이 복구되면 자동으로 다시 활성화됩니다. 그 온라인 리스는 또한 라이선스에 명시된 시트 수를 집행 가능하게 만들고, 철회가 리스 기간 안에(약 14일, 여기에 짧은 유예 기간 추가) 효력을 발생하도록 합니다. 확인 요청은 라이선스 식별자와 솔트가 적용된 지문 해시만 전송하며 — 여러분의 문서 내용이나, 가공되지 않은 원본 지문, IP 주소는 결코 전송하지 않습니다.

서명된 소스 채널은 완전히 오프라인으로 실행할 수 있습니다. 그 서명된 라이선스는 엔진이 로컬에서 검증하는 자체 완결적 아티팩트이므로, 서명된 소스 채널은 주기적인 연결이 필요 없으며 에어갭(air-gapped) 배포에 적합하고, 오직 라이선스 자체의 유효 기간에만 한정됩니다. 여기서 시트 수는 런타임에 집행되는 것이 아니라 여러분의 계약으로 정해지는 계약상의 한도이며, 철회는 다음 온라인 확인 시점 또는 제품 업데이트를 통해 적용되고, 완전히 오프라인인 배포는 아무것도 전송하지 않습니다.

두 개의 서로 다른 시계 — 혼동하지 마세요. ionCube 채널의 약 14일짜리 리스연결성에 관한 것으로 — 배포 환경이 오프라인 상태를 얼마나 견딜 수 있는지를 가리킵니다. 이는 두 채널 모두가 구독의 종료일 이후에 제공하는 약 30일의 유예 기간과는 별개이며, 이 유예 기간 동안에는 여러분이 갱신하는 사이에도 프리미엄 기능이 계속 동작하다가 엔진이 Core 로 폴백합니다. 리스 만료와 구독 만료는 서로 다른 타이머 위의 서로 다른 사건입니다.

어느 채널을 실행하든 실패 모드는 동일하며 언제나 안전합니다. NextPDF 는 무료 오픈 소스 Core 로 저하됩니다. 절대 벽돌이 되지 않고, 이미 배포한 소프트웨어에서 여러분을 잠가 내지 않으며, 실행 도중에 멈추지 않습니다.

두 채널은 별개의 두 제품이 아닙니다. 동일한 라이선스 권리를 부여하고 동일한 소프트웨어를 전달하며, 차이는 오직 소스를 어떻게 보호하고, 라이선스를 런타임에 어떻게 확인하며, 그 보호에 얼마의 비용이 드는가뿐입니다.

ionCube 로 인코딩된 형태서명된 평문 소스
실행하는 것ionCube Loader 를 통한 인코딩된 PHP읽을 수 있고 서명된 PHP 소스
소스가 보호되는 방식인코딩(기술적 조치) 에 더해 라이선스라이선스와 영업비밀법(인코딩 없음)
가장 적합한 대상대부분의 배포; 최저 비용규제 / 감사 / 공급망 보안 요구
런타임 비용작은 Loader 오버헤드(종종 무시할 만함; 성능에 민감하면 벤치마크)우리 쪽에서 추가하는 것 없음
온라인 라이선스 확인주기적(약 7일마다 확인, 약 14일 리스)선택적; 로컬에서 검증하며 오프라인으로 실행
오프라인 / 에어갭리스 기간까지, 이후 프리미엄 기능은 Core 로 일시 중지(재연결 시 자동 재개)완전히 지원; 주기적 연결 불필요
시트 수온라인 리스를 통해 집행계약상(여러분의 계약에 따름); 런타임에 집행되지 않음
철회 효력 발생리스 기간 안(약 14일 + 짧은 유예 기간)다음 온라인 확인 시점, 또는 제품 업데이트를 통해
전송되는 라이선스 데이터라이선스 ID + 솔트가 적용된 지문 해시만(문서 내용, IP, 원본 지문은 결코 전송 안 함)완전히 오프라인일 때 아무것도 없음
권리동일 — EULA 참고동일 — EULA 참고

가격은 그 보호 대 런타임 트레이드오프를 반영하는 것이지, 기능 격차를 반영하는 것이 아닙니다. 현재 가격과 에디션은 구매 및 라이선싱 및 거기서 링크된 가격 페이지를 참고하세요. 이 문서 페이지는 의도적으로 가격이나 라이선스 조건을 다시 진술하지 않습니다.

우리는 PHP 생태계에 진지하고, 자금이 탄탄하며, 전문적으로 유지보수되는 도구가 더 많아지기를 — 그리고 필요한 깊이에 자금을 댈 지속 가능한 방법이 없어 조용히 소진되어 버리는 프로젝트는 더 줄어들기를 바랍니다. 소스를 보호하는 것이야말로 우리가 코어를 오픈으로, 인코딩된 채널을 감당할 만한 가격으로 유지하면서도 그 깊이에 투자할 수 있게 해 주는 길입니다. 그리고 신뢰는 쌓아 얻는 것이기에, 우리는 바로 이 점에 대해 투명하려고 노력합니다. 각 채널이 무엇을 보호하는지, 그것이 여러분에게 얼마의 비용을 지우는지, 그리고 그 이유는 무엇인지 — 그렇게 해서 그 트레이드오프는 우리가 감출 몫이 아니라 여러분이 가늠할 몫이 됩니다.