자바는 국내 금융, 공공, 제조, 미디어 등에서 매우 활발히 쓰이는 프로그래밍 언어다. 전자정부 프레임워크도 자바 기반이며, 수많은 공공 IT 애플리케이션이 자바로 만들어졌다. 기업용 애플리케이션도 마찬가지다. 신용카드의 IC칩도 자바를 쓴다.
한국 정부는 2000년대 개발자양성을 목적으로 국비지원 교육프로그램을 대대적으로 지원해왔다. 이 국비지원 프로그래밍 교육 수료생 대다수가 자바를 배운다. 사실상 자바는 우리나라 IT 시장을 지배해왔다.
수많은 기업, 소프트웨어 개발사가 자바 사용자이며, 그 IT서비스를 지탱하는 개발자 집단까지 한국의 자바 생태계는 방대하고도 촘촘하다.
이런 기본 환경조건에서 오라클의 자바 라이선스 정책 변경은 민감한 이슈일 수밖에 없다. 금번 오라클의 자바SE 서브스크립션 전면 도입은 무엇보다 중요한 ‘비용’에 관련되기 때문에 전세계적인 주목을 끌었다.
오라클은 자바SE 서브스크립션을 6월부터 시행했다. 이 시점 후에도 오라클 자바SE 8 버전을 이용하려면 서브스크립션을 구매해야 한다. 이게 사용자의 JDK 버전 업그레이드를 압박하는 모습처럼 비춰졌다. 자바SE 8 버전의 공식 지원이 2019년 1월로 종료되며, JDK 9, JDK 10은 이미 기술지원이 종료됐다. 그리고 JDK 11 버전만 서브스크립션 계약 하에서 오라클의 유상 패치를 계속 제공받을 수 있기 때문이다.
오라클은 오픈JDK와 오라클JDK의 동일함을 강조한다. 같은 코드기 때문에 오라클JDK 대신 오픈JDK를 써도 된다는 것이다. 다른 건 기술지원을 오라클에서 받느냐, 전문가 집단에서 받느냐의 차이라고 설명한다.
그동안 JDK 기술지원은 당연히 오라클의 역할로 여겨졌다. 새로 보안취약점이 발견되거나, 오류가 발생했을 때 지원 여부는 오로지 오라클의 결정에 달린 거나 마찬가지였다.
국내기업은 대부분 JDK 공식 지원기간 종료 후 버전 업그레이드보다 사용중인 버전에 머무르는 선택을 한다. 최신 버전과 기존 시스템의 호환성을 검증해야 하기 때문이다. 최신 버전을 사용하려면 신규 구축 프로젝트를 발주하거나, 업그레이드 프로젝트를 대대적으로 진행한다.
기존 시스템과 신규 시스템이 공존하거나, 그냥 기존 시스템을 유지하는 상황이 벌어진다. 공식 지원 종료 후라도 JDK 버전에 대한 패치는 오라클에서 배포된다. 다만, 계약된 사용자에게만 제공한다. 정식의 지원체계를 거치지 않고 공식지원 종료된 JDK의 패치를 사용한다면 라이선스 규정 위반이다.
2013년 2월 JDK 6 버전의 공개버전 기술지원이 종료됐다. 이후 오라클은 JDK 6의 크리티컬 패치를 323개 배포했다. JDK 7의 경우도 공개버전 이후 176개의 크리티컬 패치가 제공됐다. 크리티컬 버그 수정도 6 버전과 7 버전에서 각각 340개, 317개 제공됐다. 물론, 패치 배포 대상을 정식 라이선스 계약자에게 한정했다.
시스템 보안성과 직결되는 패치가 그만큼 많았다는 얘기다. 예를 들어 JDK 6 버전은TLS 1.1 프로토콜을 111번째 패치에서 지원하게 됐다. TLS 1.2 프로토콜은 115번째 패치부터 지원됐다. JDK 6 공개버전 지원종료 후에 나온 패치다. JDK 6 공개버전은 TLS 1.1이나 TLS 1.2를 지원하지 않는다.
자바는 널리 쓰이는 만큼이나 사이버공격에 많이 노출된다. 보안 사고에 따른 피해가 갈수록 커지고, 공격집단의 수단은 더욱 고도화되고, 악랄해졌다. 기업은 안전한 IT시스템 활용을 위해 자바 업데이트에 민감하게 반응할 수 밖에 없다. 서브스크립션 계약이든 유지보수 계약이든 자바 기반 시스템을 장기간 운용하는데 돈이 든다.
6개월로 줄어든 공개버전 기간으로 인해, 오라클에서 무료로 제공받을 수 있는 JDK 11 버전의 패치는 1~2회 정도로 전망된다. 6개월 간 공개 버전을 유지하는 지난 JDK 9과 JDK 10의 경우 모두 2회의 패치가 배포됐다. JDK 11의 주요 패치가 2026년까지 나온다고 해도 공개 버전 기간 동안 제공될 가능성은 낮다.
비용측면으로 보면 오라클 자바SE 서브스크립션은 기존 영구적 라이선스 이용보다 저렴하다. 서브스크립션은 라이선스, 기술지원, 업데이트 등을 단일 계약으로 제공한다. 22%의 유지보수비용도 필요없다.
지난 상편에서 설명했듯, 서버의 경우 프로세서 99개까지 개당 월 25달러다. 10개의 프로세서를 이용하는 조건으로3년 간 구독하면 월마다 250달러, 연간 5천달러, 3년 총 1만5천달러다. 기타 추가되는 비용은 없다. 1만개 프로세서라면 개당 구독료는 절반으로 줄어든다.
기존 자바SE 어드밴스드 구매의 경우 프로세서당 5천달러였다. 동일 운영 환경이라면, 5만달러를 지불해야 한다. 여기에 전체 오라클 시스템 계약 규모의 22%를 적용받는 유상 유지보수 계약은 별도로 체결해야 한다. 명시가격은 프로세서당 1천100달러. 10개 프로세서 사용 시 1만1천달러의 비용을 내야 업데이트와 패치를 받을 수 있다.
국내 기업 사용자는 애플리케이션을 수시로 바꾸거나 변경하기 힘들다. 신규 개발보다 운영과 유지보수에 익숙하고, 대대적인 빅뱅 방식의 차세대 프로젝트 중심으로 IT시스템을 만들어가는 체계가 확고하게 자리잡았다.
오늘날 컴퓨터 프로그래밍 세계는 잦은 변경, 잦은 업데이트를 통한 비즈니스 변화 지원으로 패러다임을 바꿔가고 있다. 코드 개발과 운영의 수명주기를 무한대로 연결해 반복하는 지속적 통합/전달(CI/CD)란 개념, 운영과 개발을 유기적 순환구조 속에서 빠르게 수행하는 ‘데브옵스’란 개념이 세계적 흐름을 형성하고 있다.
관련기사
- 자바의 미래 'JVM, JDK 이원 생태계'2018.11.05
- 오라클의 자바 유료화? 그 진실과 거짓2018.11.05
- 오라클, 자바11 출시2018.11.05
- 오라클, 자바SE 월 구독 상품 출시...칩당 25달러2018.11.05
한 업계 전문가는 “데브옵스나 CI/CD 체계를 갖추려면 국내 기업 IT 담당부서의 구조와 역량이 완전히 바뀌어야 가능하다”며 “개발과 운영을 외주에 의존하는 상황에서 시스템에 대한 잦은 변경과 변화는 불가능하다”고 설명했다.
그는 “지속적으로 변화하는 자바를 사용하고, 적절하게 대응하려면 국내 기업의 IT 접근 방식 자체를 바꿔야 한다”며 “자체 인력 고용을 통해 기술을 내재화해야 빨라진 자바 업데이트에 원활히 대응할 수 있다”고 덧붙였다.