오라클을 너무나 사랑해서 오라클과 수익을 나누고 싶은 회사가 아니라면 대부분 OpenJDK를 사용할 것이다. 2018년 즈음에 오라클은 라이선스 정책을 '구매 시 영구 라이선스 취득'에서 '연간 구독 모델'로 바꾸었는데, 23년 기준으로 Java SE 유니버셜 구독 가격은 "회사의 직원 수 * 15달러"로 책정된다.
비록 상용 소프트웨어가 아니라 '일반적인 컴퓨팅 목적'으로 사용한다면 무료라고는 하지만 어쨌든 회사 입장에서는 돈이 든다는 것이 싫다. 물론 돈값을 한다면 그래도 쓸만하겠지만 구독 모델로 전환한다던가... 유료 라이선스에 대한 지원도 별로라던가... 그런 불만이 이래저래 나오고 있었기 때문에 안정성만 보장된다면 오라클 제품을 쓰는 회사들은 언제든지 오픈소스로 런할 준비가 되어있었다고 한다.
그렇게 해서 만들어진 '탈-오라클'은 내가 개발을 시작하기 전부터 이어져왔던 유서깊은 풍조고, 오라클도 자신들이 오픈소스의 주적 취급을 받고 있는 것을 알고 있는지 자바 17부터는 제한적으로 Oracle JDK를 상용 목적 그리고 프로덕션 환경에서도 사용할 수 있게 해주는 정책을 도입했다.
이는 Oracle No-Fee Terms and Conditions, 즉 NFTC를 통해 보장된다. 세부 내용을 보면, '내부 비즈니스 운영(internal business operation)' 상황에서는 '상업적 목적이나 프로덕션 환경에서도' Oracle JDK를 무료로 사용할 수 있다고 했다. 하지만 '내부 비즈니스 운영'이 뭔지는 죽어도 알려주지 않는다.
즉 오라클이 "어... 이건 내부 비즈니스 운영이 아닌데요?" 라고 하는 순간, NFTC만 믿고 Oracle JDK를 사용하던 회사는 나중에 오라클 법무법인으로부터 '직원 수 * 15$'의 청구서가 적힌 내용증명을 받아야 할 수도 있다는 뜻이다.
오라클의 기술적 지원이나 (꽤 구미가 당기는) GraalVM 엔터프라이즈를 사용하고 싶거나 아니면 성능이나 안정성이 정말정말 중요한 회사라면 OracleJDK를 사용하겠지만 그마저도 라이선스 비용이라는 아주 큰 이슈에 비하면 충분히 타협할 만한 소지가 있는 것들이다.
18년이면 꽤 까마득한 과거이고 개발 문화도 지금처럼 유연하지 않았을 시긴데, 라인같은 돈 많이버는 빅테크에서도 성능 이슈나 취약점이나 안정성 등등을 타협하고 OpenJDK로 갈아탈 정도였으면 말 다 했다.
작성하면서 흥미롭게 읽었던 몇 가지 레퍼런스를 첨부한다.
(참고1: NFTC 약관 원문)
(참고2: Oracle JDK Licensing FAQ)
(참고3: LINE의 OpenJDK 적용기)
(참고4: 오라클 자바 SE 유료화)