CTAN의 거의 모든 패키지를 보면 라이선스란에 LPPL 이라고 적혀 있습니다. LaTeX 본체와 대부분의 패키지가 이 라이선스를 사용합니다. 자유 소프트웨어이지만, 중심에는 독특한 생각이 하나 있습니다. “같은 이름의 파일은 어디서나 같은 동작을 해야 한다”는 보장을 지키는 것입니다.
LPPL이란
LPPL(The LaTeX Project Public License)은 LaTeX 커널과 표준 패키지가 배포되는 라이선스이며, LaTeX Project가 정했습니다. 현재 버전은 1.3c(2008-05-04 공개, 1.3·1.3a·1.3b와의 차이는 매우 작음)입니다. 이는 자유 소프트웨어 라이선스입니다. FSF도 자유 라이선스로 인정하고, OSI 승인을 받았으며 Debian(DFSG) 에도 적합합니다. SPDX 식별자는 LPPL-1.3c입니다. 다만 GPL과는 호환되지 않습니다. 아래에서 설명할 “수정판은 수정판임을 드러내야 한다”는 요구가 GPL이 허용하지 않는 추가 조건이기 때문입니다. 또한 CTAN에서 가장 많이 쓰이는 라이선스이기도 합니다.
핵심 — 파일 동일성 지키기
왜 일반적인 자유 소프트웨어와 다른 조건을 두는가? TeX의 가치는 재현성에 있기 때문입니다. 어떤 .tex 소스는 어느 환경에서 조판해도 같은 결과를 내야 합니다. 누군가가 수정한 article.cls를 같은 이름 그대로 배포한다면 그 보장은 무너지고, “내 환경에서는 되는데 당신 환경에서는 깨진다”가 발생합니다. LPPL은 바로 이것을 막습니다.
이전 버전(1.0–1.2)에서는 수정하면 파일명을 바꿔야 한다는 강한 “파일명 조항”이 있었습니다. 1.3에서 이 조건은 완화되었습니다. 지금은 수정된 구성 요소가 소스에서도, 대화형 실행 시(로그나 배너)에도 “이것은 수정판”임을 명확하고 모호하지 않게 밝혀야 하며, 변경점을 기록해야 합니다(예: 변경 이력 파일 포함). 실무적으로는 포크를 만든다면 여전히 다른 이름을 붙이는 것이 가장 안전하고 확실합니다.
유지보수 구조
LPPL의 또 다른 특징은 유지보수 상태(maintenance status) 를 명시하는 장치입니다. 각 저작물에는 Current Maintainer(현 유지보수자) 가 있고, 상태는 세 가지입니다. maintained(누군가 유지보수를 맡고 버그 보고를 받음), author-maintained(원저자만 유지보수함), unmaintained(유지보수자가 없거나 6개월 동안 연락이 되지 않고 활동 징후도 없음). CTAN은 저작물이 커뮤니티에 계속 도움이 되도록 author-maintained보다 maintained를 권장합니다.
이 장치 덕분에 커뮤니티는 방치된 패키지를 이어받을 수 있습니다. 저작물이 unmaintained 상태라면, 라이선스는 명확한 절차를 둡니다. (1) 인터넷 검색 등으로 현 유지보수자를 합리적으로 찾고, (2) 찾지 못하면 관련 커뮤니티에 유지보수 의사를 밝히며, (3) 원 유지보수자나 저작권자가 3개월 안에 이의를 제기하지 않으면 자신이 새로운 Current Maintainer가 될 수 있습니다. 저자가 사라져도 생태계가 멈추지 않도록 설계된 방식입니다.
자신의 패키지에 적용하기
자신이 만든 .sty/.cls를 LPPL로 배포하는 것은 간단합니다. 각 파일의 앞부분에 아래와 같은 고지를 두고, “1.3c or any later version” 으로 라이선스를 정하며, 유지보수 상태는 maintained 를 선택하고, Current Maintainer와 저작물을 구성하는 파일을 적습니다. 이것이 CTAN이 기대하는 형식입니다(CTAN 업로드 시에도 라이선스를 선택합니다). LPPL은 퍼블릭 도메인이 아닙니다. 자유롭게 사용할 수 있지만, 위의 동일성 보장과 표시·문서화 의무는 남습니다.
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status 'maintained'.
% The Current Maintainer of this work is M. Y. Name.
%
% This work consists of the file mypkg.sty.