Premium 에디션
엔지니어링 리더를 위한 안내
한눈에 보기
섹션 제목: “한눈에 보기”여러분은 팀이 앞으로 수년간 함께할 상용 의존성을 평가하고 있습니다. 이 페이지는 엔지니어링 리더가 구매 전에 우리에게 묻는 질문에 답합니다: 통합 노력, 업그레이드 정책, 종속, 전달, 품질 증거, 그리고 확장 표면입니다. 모든 주장은 제품 소스에서 검증할 수 있거나 그것을 소유하는 문서 페이지로 연결됩니다. NextPDF는 제3자 인증을 보유하지 않으며, 여기 어떤 내용도 적합성 또는 인증 주장이 아닙니다.
이 안내서는 두 가지 상용 에디션을 다룹니다 - NextPDF Pro (nextpdf/pro)와
NextPDF Enterprise (nextpdf/enterprise); 에디션별 제공 여부는
기능 매트릭스를 참고하세요.
둘 다 라이선스 봉투로 활성화되며, 일치하는 엔타이틀먼트가 없는 배포는 해당 에디션의 프리미엄 클래스를 로드하지 않습니다.
에디션을 비교하고 라이선스를 받으세요.
에디션은 누적적입니다. NextPDF Pro는 오픈 코어의 모든 것을 포함하고,
NextPDF Enterprise는 Pro의 모든 것을 포함합니다. 아래 여러 표면은
Pro 티어(nextpdf/pro)에 포함되므로 Enterprise도 이를 갖습니다.
무엇을 구매하는가
섹션 제목: “무엇을 구매하는가”30초 요약입니다. NextPDF는 현대 PHP를 위한 PDF 2.0 엔진이며, 그것이 쓰는 형식은 ISO 32000-2가 규정한 형식입니다. 코어 엔진은 Apache License 2.0 하에 오픈소스입니다. NextPDF Pro와 NextPDF Enterprise는 그 위에 얹히는 독점 상용 에디션입니다 — 차트, 고급 바코드, 서명, 규정 준수 도구, 문서 연산, 그리고 아래에 설명된 확장 표면입니다. 에디션별 구분은 전체 기능 매트릭스를 참고하세요.
여러분의 팀에게 이 구매는 세 가지를 삽니다. 첫째, 사내에서 직접 구축하고 유지하기에는 비용이 큰 역량입니다. 둘째, 검사할 수 있는 엔지니어링 기준입니다: PHPStan level 10, 아키텍처 제약, 그리고 매우 큰 테스트 스위트입니다. 셋째, 한정된 손실 위험 - 그리고 세 가지 탈출 상태는 서로 다릅니다. 리스가 만료된 채 오프라인 상태인 ionCube 채널 배포는 프리미엄 기능을 일시 중지하고 다시 연결될 때까지 무료 오픈소스 Core로 폴백합니다. 만료된 구독은 유예 기간을 거쳐 영구 폴백으로 이동합니다: 설치된 버전은 프리미엄 엔타이틀먼트를 유지한 채 계속 실행되며, 추가 업데이트는 없습니다. 그리고 시행 실패는 결코 배포를 벽돌로 만들지 않습니다 - 최악의 경우는 Core 동작입니다. 상용 메커니즘은 구매 및 라이선스에 있습니다.
우리가 가장 많이 듣는 질문
섹션 제목: “우리가 가장 많이 듣는 질문”“통합 노력을 얼마나 예산으로 잡아야 하나요?”
Composer 패키지 하나와 라이선스입니다. 프리미엄 에디션은 에디션에 따라
composer require nextpdf/pro 또는 composer require nextpdf/enterprise로(nextpdf/premium 메타패키지는 둘 다 설치) 구매 후
발급된 자격 증명을 사용하여 비공개 저장소에서 설치됩니다. 런타임 요구 사항은 PHP >=8.4 <9.0입니다. 도입에는
애플리케이션 코드 변경이 필요 없습니다: Premium은 여러분의 애플리케이션이 이미 대상으로 삼는 동일한 공개
계약 뒤에 꽂히며, 이는
라이선스 및 활성화에 문서화되어 있습니다. 설정은
설치 및 인증에서 다룹니다.
“업그레이드할 때 무엇이 깨지나요?”
호환성을 깨는 변경은 존재하며, 우리는 그것을 숨기는 대신 문서화합니다.
Premium 저장소는 BC에 영향을 주는 모든 변경을 마이그레이션 경로와 함께 릴리스별 업그레이드
노트에 기록하며, 그 툴체인에는
roave/backward-compatibility-check가 포함됩니다. 일부 변경은 의도적입니다: 보안
검증 경로는 허용적으로 두지 않고 fail-closed 방식으로 강화되며,
노트가 이를 명시적으로 밝힙니다. 각 릴리스 전에 업그레이드 노트를 읽을 시간을
예산으로 잡되; 조용한 동작 표류(drift)는 예산으로 잡지 마세요.
“우리가 종속되나요?” 탈출은 구조적이며, 계약상의 선의가 아닙니다. 코어는 Apache-2.0이므로, 여러분의 통합은 구독 없이도 존속하는 계약을 대상으로 합니다. 유료 구독이 종료되면, 유예 기간이 있고, 그다음 영구 폴백 상태가 됩니다: 설치된 버전은 계속 실행되며, 업데이트와 지원만 중단됩니다. 여러분은 이미 배포한 소프트웨어에서 결코 잠기지 않습니다. 자세한 내용은 라이선스 및 활성화와 라이선스 모델에 있습니다.
“우리 팀이 실행하는 코드를 읽을 수 있나요?” 예, 올바른 채널에서라면요. Premium은 두 가지 방식으로 배포됩니다: ionCube 인코딩(저비용 기본값)과 서명된 평문 소스 — 읽을 수 있는 PHP를 암호학적으로 서명한 것으로, 더 높은 가격입니다. 둘 다 동일한 라이선스 권리를 가지며, 읽을 수 있는 소스가 복사하거나 재배포할 권한은 결코 아닙니다; EULA가 둘 다를 규율합니다. 전체 비교는 두 가지 전달 채널에 있습니다.
“실제로 검증할 수 있는 품질 신호는 무엇인가요?” Premium 코드베이스는 모든 Pro 및 Enterprise 소스에 걸쳐 strict-rules 확장과 함께 PHPStan level 10로 개발되며, 여기에 Deptrac 아키텍처 계층 제약이 더해집니다. 저장소는 단위, 통합, 적합성, 규정 준수 스위트에 걸쳐 1,500개 이상의 테스트 파일을 담고 있으며, 그 뮤테이션 테스트 스크립트는 95% 최소 뮤테이션 점수로 게이트합니다. 이것들은 서명된 소스 채널에서 확인할 수 있는 개발 저장소 사실이며 — 제3자 감사가 아니고, 인증도 아닙니다.
“성능과 확장 표면은 무엇인가요?”
세 가지이며, 모두 재작성이 아니라 선택적 계층입니다. **가속기(accelerator)**는
Core 계약 인터페이스를 통해 소비되는 Rust 사이드카입니다. 출력
파이프라인(NextPDF\Pro\OutputPipeline\PipelineExecutor)은 의존성 해결과 함께
다단계 문서 매니페스트를 실행합니다. 스트림 엔진은 동시 배치를
결정론적으로 렌더링합니다:
public function renderBatch(array $manifests, array $variablesByJobId = []): arrayNextPDF\Pro\Stream\Engine\ConcurrentRenderEngine는 입력 순서를 복원하므로,
출력 바이트가 동시성과 무관하게 순차 렌더링과 일치합니다. 누락되거나 중복되거나
알 수 없는 완료가 있으면 조용히 누락하는 대신
NextPDF\Pro\Stream\Exception\RenderEngineException으로 실패합니다. 우리는 여기에 어떤 벤치마크 수치도 게시하지
않습니다; 체험 중에 여러분 자신의 워크로드를 벤치마크하세요.
“가속기가 네이티브 코드에 대한 강한 의존성을 만드나요?” 아닙니다. 사이드카는 선택적 연결이며, 프로바이더는 예외를 던지는 대신 가용성을 보고합니다:
public function isAvailable(): boolpublic function embedding(): EmbeddingServiceInterfacepublic function vectorIndex(string $collectionId = 'default'): VectorIndexInterface이 메서드들은 @throws를 선언하지 않습니다; 사이드카 도달 가능성은
isAvailable()이 보고합니다. 반환되는 타입은 Core 계약 인터페이스
(NextPDF\Contracts\EmbeddingServiceInterface,
NextPDF\Contracts\VectorIndexInterface)이며, 이것이 실제로 코드 변경이 없는
접합부(seam)입니다.
“오프라인이나 에어갭 환경에서는 어떻게 되나요?” 채널에 따라 다르며, 이것이 보통 결정 요인입니다. ionCube 채널은 라이선스를 온라인으로 검증합니다 — 대략 14일 리스를 갱신하는 약 7일 확인입니다. 리스가 지난 채 오프라인이면, 프리미엄 기능이 일시 중지되고 엔진이 무료 Core로 폴백하며, 연결이 돌아오면 재개됩니다. 서명된 소스 채널은 라이선스를 로컬에서 검증하고 에어갭을 포함해 완전히 오프라인으로 실행됩니다. 두 가지 전달 채널을 참고하세요.
“라이선스 확인은 무엇을 보내나요?” ionCube 채널에서, 확인은 라이선스 식별자와 솔트가 적용된 지문 해시만 보냅니다 — 결코 여러분의 문서 내용은 보내지 않습니다. 완전히 오프라인인 서명된 소스 배포는 아무것도 보내지 않습니다. 라이선스 결정 표면은 여러분의 플랫폼 팀이 추론할 수 있는 단일 공개 평가기입니다:
public function evaluate(?LicenseKey $license, ?DateTimeImmutable $now = null): EntitlementResult이것은 @throws를 선언하지 않습니다; 라이선스가 전혀 없는 경우를 포함한 모든 라이선스 상태는
예외가 아니라 EntitlementResult로 매핑됩니다.
“누가 우리를 지원하고, 어떻게 시작하나요?” 제품 및 기술 지원은 PATEON support에서 제공되며; 결제, 인보이스, 환불은 우리의 Merchant of Record가 처리합니다 — 연락처를 참고하세요. 내 계정에서 14일 무료 체험을 시작하거나, 제거 가능한 워터마크 뒤에서 전체 기능 세트를 실행하는 평가 그랜트를 요청할 수 있습니다.
요구 사항 체크리스트
섹션 제목: “요구 사항 체크리스트”정직한 가능과 불가능, 그리고 각 사실을 소유하는 페이지입니다.
| 여러분의 요구 사항 | NextPDF가 충족할 수 있는가? | 증거와 소유자 |
|---|---|---|
| 현대 PHP 런타임 | 예 — PHP >=8.4 <9.0을 요구합니다. 이전 PHP 버전은 지원되지 않습니다. | 제품 composer.json; 설치 및 인증 |
| 표준 패키징 | 예 — 비공개 Composer 패키지: 에디션에 따라 nextpdf/pro 또는 nextpdf/enterprise(nextpdf/premium은 두 티어 모두 설치)이며, 구매 후 발급된 자격 증명을 사용합니다. | 구매 및 라이선스 |
| 재작성 없는 도입 | 예 — 애플리케이션 코드 변경 없음; Premium은 여러분이 이미 호출하는 Core 계약 뒤에서 해결됩니다. | 라이선스 및 활성화 |
| 정적 분석 기준 | 예 — 모든 Pro 및 Enterprise 소스에 걸쳐 strict rules와 함께 PHPStan level 10으로 개발됩니다. | 제품 phpstan.neon.dist |
| 테스트 규율 | 예 — 1,500개 이상의 테스트 파일; 저장소의 스크립트에서 뮤테이션 테스트가 95% 최소 MSI로 게이트됩니다. | 제품 composer.json 스크립트와 테스트 트리 |
| BC 거버넌스 | 부분적 — BC 변경은 발생하며 fail-closed 보안 수정을 위해 의도적입니다; 각각은 마이그레이션 경로와 함께 문서화됩니다. | 제품 UPGRADING.md |
| 에어갭 운영 | 서명된 소스에서는 예; ionCube 채널은 약 14일 리스로 한정됩니다. | 두 가지 전달 채널 |
| 읽을 수 있는 소스 | 예 — 서명된 소스 채널에서만, 더 높은 가격으로; 읽기는 재배포 권리가 아닙니다. | 두 가지 전달 채널, EULA |
| 공식 인증 | 아니요. NextPDF는 어떤 인증도 보유하지 않고 부여하지 않습니다; 표준 지원은 적합성 또는 인증이 아닙니다. | 이 페이지; 라이선스 모델 |
| 네이티브 가속 의무 | 필요하지 않음 — Rust 사이드카는 선택적입니다; ProAcceleratorProvider::isAvailable()에서 게이트하세요. | 위에 표시된 제품 소스 |
위험 및 완화
섹션 제목: “위험 및 완화”- ionCube 리스 만료. 리스가 지난 채 오프라인인 인코딩 채널 배포는 프리미엄 기능을 일시 중지하고 Core로 폴백하며, 재연결 시 재개됩니다. 여러분의 네트워크 태세가 주기적 연결을 보장할 수 없다면, 대신 서명된 소스 채널을 선택하세요.
- 의도적 BC 변경. 보안 관련 검증은 릴리스 사이에 fail-closed 방식으로 강화됩니다. 버전을 고정하고, 각 상승 전에 업그레이드 노트를 읽고, CI에서 BC 확인을 실행하세요. 업그레이드를 드롭인으로 취급하지 마세요.
- 인증 없음. 우리는 역량을 밝히지, 결코 인증을 밝히지 않습니다. 여러분의 프로그램이 인증된 적합성을 요구한다면, 이에 의존하기 전에 여러분 자신의 수용 도구로 출력을 검증하세요 — 어떤 NextPDF 문서 페이지도 그것을 대체하지 않습니다.
- 성능은 워크로드에 따라 다릅니다. ionCube Loader는 디코드 오버헤드를 더하며, 보통 작습니다; 우리는 보편 벤치마크를 게시하지 않습니다. 채널을 확정하기 전에 체험 중에 여러분 자신의 문서를 벤치마크하세요.
- 평가 출력은 워터마크가 있습니다. 평가 빌드는 모든 역량을 실행하지만 출력에 눈에 띄게 브랜드를 새깁니다; 프로덕션 전달에는 적합하지 않습니다. 유료 라이선스는 코드 변경 없이 워터마크를 제거합니다.
다음에 요청할 것
섹션 제목: “다음에 요청할 것”- 체험 시작. 14일 무료 체험은 내 계정에서 이용할 수 있습니다 — 이메일당 하나, 오늘 요금 없음, 그리고 자동 갱신되지 않습니다. CI를 포함해 인코딩 빌드에서 무료 ionCube Loader 요구 사항을 계획하세요.
- 범위를 정한 파일럿 실행. Composer로 설치하고, 기존 계약 뒤에서 실제 문서 흐름 하나를 통합하고, 여러분의 테스트 스위트를 실행하고, 여러분의 워크로드를 벤치마크하세요. 평가는 제거 가능한 워터마크 뒤에서 전체 기능 세트를 실행하므로, 평가에서 숨겨지는 것은 없습니다.
- 전달 채널 선택. 여러분의 연결성 및 감사 요구 사항을 사용하여 ionCube 인코딩과 서명된 소스 사이에서 결정하세요 — 두 가지 전달 채널을 참고하세요.
- 라이선스 봉투 요청. 구매는 우리의 Merchant of Record를 통해 이루어집니다; 여러분의 라이선스는 EULA 하에 PATEON이 부여합니다. 라이선스 포털에서 시작하세요.