요약

  • PrimeTek는 PrimeNG의 향후 주요 버전에 상용 라이선스를 적용한다. 이미 MIT로 공개한 버전은 그대로 MIT이며 보안 수정도 계속한다. ISC는 DNS·DHCP 관리 도구 Stork의 화면 구성 요소로 MIT 커뮤니티 포크 Optimus UI를 선택했다.
  • ISC는 포크를 유지하는 OpenNG에 연례 기여금을 예산에 넣겠다고 했고, 종속 소프트웨어를 매주 갱신하는 실험도 하고 있다. 무료 사용권은 다음 버전을 고칠 사람의 시간을 사주지 않는다.

버튼 뒤에 숨어 있던 청구서

운영자는 Stork에서 DHCP 임대 목록을 정렬하고, 찾던 주소를 확인한 뒤 다시 장애 처리로 돌아간다. 버튼 하나에 거버넌스라는 말을 붙일 이유가 없어 보인다. 하지만 그 버튼을 만드는 라이브러리의 다음 버전이 상용 허가를 요구하면 이야기가 달라진다. 작은 화면 요소가 조달, 보안 패치, 이전 비용, 책임자의 이름을 한꺼번에 불러낸다.

10월 15일 나온 ISC의 Stork 2.6 발표를 보면 이 변경이 왜 운영 문제인지 드러난다. 이번 버전은 여러 Kea 서버의 임대 기록을 모아 검색하고, OpenID Connect 로그인을 지원하며, BIND 9 영역 전송을 감시하고, Kea 설정 백엔드를 다룬다. 같은 발표에서 ISC는 핵심 화면 라이브러리를 교체했다고 알렸다. PrimeNG는 표 정렬, 페이지 넘김, 버튼을 제공했다. 평소에는 사소해 보이지만 장애 중에는 가장 자주 만지는 부분이다.

PrimeTek의 공식 발표는 기존 부가 제품 매출만으로 호환성, 접근성, 문서, 지원에 필요한 인력을 감당하기 어려워졌다고 설명한다. 이미 MIT로 나온 버전은 MIT로 남고 보안 수정도 이어진다. 반면 PrimeNG 22를 비롯한 다음 주요 버전은 PrimeUI 라이선스로 옮겨간다. 공개된 상용 제품의 출시 가격은 2026년 말까지 개발자 한 명당 599달러, 2027년부터 799달러다. 추가 1년 업데이트는 한 명당 399달러에 연장할 수 있다. 공표된 규모와 자금 기준을 만족하는 개인, 소규모 조직, 비영리 사용자에게는 무료 Community 라이선스도 있다. 예전 코드를 되찾아 가는 조치는 아니다. 앞으로 가는 길의 가격표가 바뀐 것이다.

ISC는 PrimeNG 일부를 직접 관리하거나 Angular Material로 옮기거나 HTMX로 화면을 다시 만드는 안을 검토했다. 최종 선택은 Optimus UI였다. OpenNG의 공개 저장소는 이 프로젝트를 PrimeNG v21에서 갈라진 MIT 포크로 소개하며, Angular 구성 요소 80개 이상을 제공한다고 한다. 이전 도구는 패키지와 import를 바꾸고 사람이 다시 봐야 할 파일과 줄을 보고한다. 지원은 커뮤니티에 의존하고 SLA는 없다. 자동 전환 도구가 있다는 말과 특정 시각까지 고쳐 주겠다는 약속은 전혀 다르다.

이 라이브러리가 얼마나 깊이 들어가는지는 ISC의 2025년 개발 보고서에서 읽힌다. 당시 Stork의 PrimeNG 업그레이드는 파일 329개를 건드렸고 코드 약 9,300줄을 더하고 비슷한 양을 지웠다. 이는 지난해의 다른 작업이며 현재 Optimus UI 이전 비용을 뜻하지 않는다. 의존성 목록의 한 줄이 제품 안에서 얼마나 넓게 퍼질 수 있는지를 보여 주는 전례다.

이번 발표에서 가장 실질적인 문장은 금액이 없는 예산 문장이다. ISC는 Stork가 아직 수익을 내지 못해도 OpenNG에 매년 재정적으로 기여할 계획이라고 했다. 인용한 공개 자료에는 액수, 지급 내역, 계약 조건이 없다. 지금 확인되는 것은 예산 의사다. 그래도 유지보수의 대가를 구체적 조직의 부담으로 적었다는 점은 중요하다. 포크의 수정과 배포를 ‘커뮤니티’라는 말 한 단어에 외주 줄 수는 없다.

ISC는 취약점 보고가 늘어나는 가운데 매주 의존성을 갱신하는 실험도 한다. 기존 MIT 버전의 보안 패치를 계속 제공하겠다는 PrimeTek의 방침은 사실이다. 그렇다고 오래된 버전을 고치는 일만으로 Stork의 새 기능과 Angular의 변화를 계속 따라갈 수는 없다. OpenNG는 부품을 유지하고, ISC는 합쳐서 시험하며, DNS·DHCP 운영자는 그 결과에 의존한다. 어느 한곳의 일정이 멈추면 다른 쪽의 작업과 위험이 커진다.

이때 ‘커뮤니티’라는 말은 편리하지만 흐릿하다. OpenNG는 포크에 무엇을 넣고 언제 내놓을지 결정한다. ISC는 Stork에 어떤 판을 실을지 결정한다. 사용자는 오류를 신고하고 돈이나 코드를 보탤 수 있다. 참여했다고 두 조직의 배포 달력을 지휘하게 되는 것은 아니다. 떠날 권리와 떠난 뒤에도 안정적으로 고칠 능력은 별도다.

PrimeTek는 자사의 유지보수에 상용 가격을 붙였다. OpenNG는 공동 유지라는 다른 방식을 세웠다. ISC는 그 방식에 돈을 보태겠다고 했다. 세 답의 성패는 선언이 아니라 업데이트, 보안 대응, 실제 이전 작업과 자금 흐름에서 판가름 난다. 소프트웨어 목록은 어떤 패키지를 쓰는지 알려 준다. 다음 고장을 누가 고칠지는 알려 주지 않는다.

무료 버튼은 운영실 주소를 알고 있었다

Stork는 DNS와 DHCP를 만지는 작업대다. 표가 깨지거나 구성 요소가 뒤처지면 먼저 줄어드는 것은 운영자의 진단 시간이다. ISC는 선택과 기여 의사, 업데이트 실험을 공개했다. 이제 발표가 끝난 뒤에도 그 약속을 매주 확인할 차례다.