티스토리 뷰


※ 다음 블로그에 썼던 글을 다시 티스토리 블로그에 옮겨 옵니다. (http://blog.daum.net/tingle/9032485)


몇달 전부터 자바에 대한 유료화 얘기로 자바를 사용하는 기업 혹은 개발자들 사이에 많은 논란이 되고 있다.

특히 오라클의 라이센스 정책에 많은 반감을 가지고 있거나 혹은 관련된 소문을 들은 사람들에게는 자바에 대한 비판과 함께 오라클에 대한 비판을 하고 있는 것 역시 사실이다.


관련해서 그냥 넘어갈 수가 없었고 나에게도 이는 중요한 문제일 수 있기에 실제로 어떤 내용이 문제가 되고 있는지 살펴봤다.



1. 오라클 JDK는 유료화 되는 것인가?


정확한 정답은 오라클 JDK는 무료였던 적이 없다는 것이다. 하지만 오라클 홈페이지를 통해 다운로드 할 수 있고 다른 소프트웨어들에 번들 되어서 재배포 되면서 오라클 JDK를 사용하는데 전혀 문제가 없었으며 여기에 비용을 받지 않는다. 그렇게 20여년을 사용했다. 오라클 JDK는 BCL (Oracle Binary Code License) 라이센스를 따르며 이는 무료로 사용하고 재배포할 수 있는 라이센스이다.


하지만 오라클 JDK 안에는 BCL 라이센스 외에 상용 라이센스를 요구하는 기능들이 포함되어 있으며 다음 URL에서 확인할 수 있다.


Oracle Java SE and Oracle Java Embedded Products (http://www.oracle.com/technetwork/java/javase/terms/products/index.html)


하지만 위의 URL을 살펴보면 일반 웹 기반 어플리케이션이나 데몬성 어플리케이션을 작성하는 자바 개발자들에게는 필요가 없는 기능들이 많다. 이러한 특성을 가지고 있기 때문에 오라클 JDK는 무료로 다운로드 받아서 사용하고 재배포할 수 있지만 상용 기능을 포함하고 있기 때문에 무료가 아닌 유료라고 말할 수도 있다. (애매하다) 위의 URL에 있는 기능을 사용하지 않는다면 특별히 문제되지 않는다.



2. 이슈가 되는 것은 무엇인가?


아마도 가장 큰 이슈가 되었던 것은 오라클에서 자바 8과 관련해서 언급했던 다음 내용 때문이다.


End of Public Updates for Oracle JDK 8

Oracle will not post further updates of Java SE 8 to its public download sites for commercial use after January 2019. Customers who need continued access to critical bug fixes and security fixes as well as general maintenance for Java SE 8 or previous versions can get long term support through Oracle Java SE Advanced Desktop, or Oracle Java SE Suite. For more information, and details on how to receive longer term support for Oracle JDK 8, please see the Oracle Java SE Support Roadmap.


오라클 JDK는 과거 버전들 역시 동일하게 무상으로 업데이트 및 패치를 제공하였고 일정 시간이 지나면 무상 패치 및 업데이트가 중단되고 오라클의 공식 서포트 페이지인 MOS (My Oracle Support)에서 유상으로 다운로드 해서 사용할 수 있다.

JDK 8도 이 절차에 따라 2019년 1월 홈페이지를 통해 상업적 사용을 목적으로 하는 무상 업데이트 및 패치를 제공하지 않겠다는 공지이다.


그런데 이 내용이 갑자기 전체 오라클 JDK가 유료화 되고 오라클 JDK를 사용하려면 모두 돈을 내야 한다는 듯한 뉘앙스로 소문이 번지기 시작하였다.


심지어 다른 JVM 벤더 중 하나인 AZUL은 이를 대대적으로 언급하면서 자사의 JVM으로 변경하라고 얘기하고 있다. 그리고 오라클 JDK의 라이센스 비용보다 훨씬 더 싸게 업데이트 및 패치 서비스를 제공하겠다고 얘기하고 있다.



JVM 벤더중 하나인 곳에서는 홈페이지에 처음 들어가면 오라클 JDK의 무료 업데이트 및 패치 종료가 몇일 몇시간 몇분 몇초 남았다는 카운트 다운을 하면서 보여주고 있다.


그리고 이와 관련해서 오라클 JDK가 2019년 1월부터 유료화 된다는 제목으로 기사들이 올라와 있다.



구글에서 간단히 오라클 자바 유료화로 검색하면 2019년부터는 자바 SE를 사용하기 위해서는 전부 돈을 내야 하는 것 처럼 얘기하고 있다.


그리고 국내에서 많은 사용자를 보유하고 있는 OKKY에도 아래와 같은 글이 올라와 있다.


자바 유료화에 대한 질의를 오라클에 했고 그에 대한 답변입니다



3. 무엇이 진실인가?


한국오라클과 파트너사들도 내부적으로 이와 관련 많은 문의를 받고 있다. 그리고 이와 관련 내부 세미나 등도 하고 있으며 일부 기업에 가서 발표도 하고 있는 것으로 알려져 있다. 현재까지 확인된 내용은 다음과 같다.


- 홈페이지에서 다운로드 받은 JDK, JRE는 현재처럼 사용할 수 있다. 주로 국내에서 많이 사용하는 버전 기준으로 보면 다음 패치 버전까지는 기존과 동일하게 사용하면 된다.


jdk1.6.0_45

jdk1.7.0_80

jdk1.8.0_181


- 이 중 1.6 및 1.7은 공개된 패치 이외에도 상용 고객을 위해서 패치 버전을 계속 제공하고 있어서 상당히 높은 버전의 패치가 MOS에 존재한다. 즉 1.6 기준으로 45 이상, 1.7 기준으로 80번 이상의 패치를 적용하기 위해서는 돈을 내야 한다. 이는 이미 예전부터 시행되던 정책이다.


- 자바 1.8도 현재까지는 공개된 패치와 상용 고객을 위한 패치가 동일하게 올라가고 있지만 2019년 1월부터는 추가 패치 및 업데이트를 제공하지 않고 오직 상용 고객을 위해서 MOS를 통해 제공하겠다는 의미이다.


- 만일 위의 JDK / JRE를 사용시 해당 패치 버전보다 낮은 것을 사용하고 상용 라이센스 기능을 사용하지 않는 경우에는 라이센스 위반이 아니다.


그러므로 현재 인터넷에서 돌고 있는 자바 SE 전면 유료화 라거나 하는 문구에는 동요할 필요가 없다. 최소한 홈페이지 혹은 아카이브 페이지에서 JDK를 다운로드 해서 설치했다면 말이다. MOS를 통해 다운로드 하는 것은 원래 라이센스가 있어야 하는 것이니 논외로 할 것이며 혹시 MOS에서 다운로드 받은 것을 다른 사람에게 제공했고 제공 받은 사람이 이를 라이센스 계약 없이 설치해서 사용하고 있다면 문제가 된다. 하지만 이는 새로운 것이 아니라 상당히 오래전부터 시행되어 오던 정책임을 기억하자.

그러므로 이번 기회에 현황 파악을 하고 정리를 해서 패치 버전을 상용 라이센스가 필요 없게 낮추던가 아니면 OPEN JDK 등을 고려해 보는 것도 답이 된다.



4. 대상은 어디까지 인가?


오라클 JDK는 윈도우, 리눅스, 솔라리스, 맥OS용 JDK를 제공한다. 그러므로 해당 OS에 설치되어 있는 오라클 JDK만 확인하면 된다.

이 외에 기업에서 서버용으로 많이 사용하고 있는 HP-UX, IBM AIX 등은 HP JDK 혹은 IBM JDK를 사용하는 관계로 여기에 해당하지 않는다.



5. 그럼 무엇이 변하는 건가? 변한 것이 없는 것인가?


오라클 JDK 1.8의 무료 패치가 제공되지 않는 다는 점은 변하는 사실이긴 하지만 과거 버전에서도 그래 왔기 때문에 당황하거나 놀랄일은 아니다. 하지만 분명 변한게 있고 그 내용은 다음과 같다.


- 가격 정책이 변경되었다. 연단위로 계약하며 비용은 월단위로 계산한다.


예를 들어 서버의 경우 CORE 당 월 25달러이다. 그리고 이를 1년 혹은 2~3년 단위로 계약하니 만약 총 100 CORE 리눅스 서버를 운영하고 있고 상용 업데이트 및 패치 서비스를 받길 원하면 100 * 25 * 12 해서 연간 3만 달러를 내야 한다. 적은 돈이 아니다. 물론 코어가 많은 수록 디스카운트 된다.


- 자바 8 이후 버전인 9버전 부터는 무료 업데이트 및 패치 규칙이 변경이 되었다. (매우 중요한 부분이다.)


문제가 되는 부분은 자바 8이 아니라 자바 9부터이다. 정확한 내용은 다음 URL을 참고하자.


Oracle Java SE Support Roadmap (http://www.oracle.com/technetwork/java/javase/eol-135779.html)


위의 문서가 영문 글씨로만 정리되어 있어서 보기 어렵지만, 여기서 주의 깊게 볼 것은 End of Public Update 부분과 Oracle Java SE Product Releases 부분이다.

End of Public Update는 무상으로 업데이트와 패치를 제공하는 기한을 말하는 것이며 Oracle Java SE Product Release 테이블은 유상으로 업데이트 및 패치를 제공하는 기한을 의미한다.


우선 무산 업데이트 패치 일정을 확인하면 다음과 같다.


jdk 7 : Arpil 2015

jdk 8 : January 2019 (개인적인 용도라면 December 2020)

jdk 9 : March 2018

jdk 10 : September 2018

jdk 11 : 없음


9와 10버전의 경우 8 버전보다 더 짧은 2018년에 무상 업데이트 패치가 종료될 예정이다. 이는 발표된지 6개월만 패치 및 업데이트를 제공하겠다는 의미이다. 심각한 것은 jdk 11 버전 부터는 아예 무상 업데이트 및 패치가 제공되지 않을 예정이다.


다음 상용 업데이트 및 패치 일정을 보자.


Oracle Java SE Support Roadmap

Release

GA Date

Premier Support Until**

Extended Support Until**

Sustaining Support**

Notification

6

Dec-06

Dec-15

Dec-18

Indefinite

7

Jul-11

Jul-19

Jul-22

Indefinite

8

Mar-14

Mar-22

Mar-25

Indefinite

9 (non‑LTS)

Sep-17

Mar-18

Not Available

Indefinite

10 (18.3^)(non‑LTS)

Mar-18

Sep-18

Not Available

Indefinite

11 (18.9^ LTS)

September 2018***

Sep-23

Sep-26

Indefinite

12 (19.3^non‑LTS)

March 2019***

Sep-19

Not Available

Indefinite


8버전에 대한 상용 서포트는 March 2025년에 종료될 예정이다. 하지만 9와 10의 경우 상용 서포트 역시 2018년에 종료될 예정이다.

11 버전에 대해서는 September 2026 까지 상용 서포트를 제공한다고 명시되어 있다.


여기에 대해서는 지난 2017년 자바원에서 발표된 적이 있는데 오라클 jdk의 Release 주기를 6개월 단위로 하겠다고 선언하였다. 그래서 9, 10 버전에 굉장히 빠르게 발표되었고 10버전이 올초에 발표되었는데 다음 달에 곧 11버전에 Release 될 예정이다.

그리고 추가적으로 11 버전은 LTS (Long Term Support) 버전으로 말 그대로 오랜 기간 동안 기술 지원을 하는 버전임을 의미한다. 


결론적으로 정리하면 다음과 같다.


9, 10 버전 : 6개월 무상 혹은 유상 업데이트 및 패치

11 버전 : 무상 업데이트 및 패치 없음. 유상으로 2026년 9월까지 지원함.



6. 놓치지 말아야 할 것. weblogic 고객은 jdk를 무상으로 계속 업데이트 패치 받을 수 있는가?


일단 많은 기업에서 weblogic을 표준 was로 사용하고 있다. 그리고 weblogic 기반의 다양한 미들웨어들을 사용하고 있는데 오라클 jdk 라이센스 정책에 의하면 이러한 경우 jdk 상용 라이센스를 구입하지 않아도 상용 업데이트 및 패치를 받을 수 있다.

단, 여기에 전제 조건이 있는데 반드시 해당 서버에 weblogic과 같은 오라클 제품만 설치되어 있어야 한다. 만일 다른 소프트웨어가 설치되어서 jdk를 사용하고 있다면 라이센스를 구매해야 한다.


내가 알고 있는 대부분의 weblogic이 설치되어 있는 서버들에는 weblogic 외에 jdk를 사용하는 3rd party 소프트웨어 혹은 에이전트가 설치되어 있다. 심지어, 배포 및 컴파일을 위한 ant나 maven의 경우에도 다른 3rd party 소프트웨어에 속하므로 weblogic을 설치했다고 맘편하게 오라클 jdk를 업데이트 패치 했다가 문제가 될 수 있다.


아마도 weblogic을 비싼돈을 주고 구매해서 매년 22% 지원 비용을 지불하는 고객에게 ant나 maven을 사용했다고 오라클 JDK 라이센스 비용을 물릴것 같지는 않지만 문제는 라이센스 비용을 물리겠다고 마음을 먹으면 할수도 있다는 것이다. 그리고 한국오라클은 웹로직 같은 미들웨어 제품군을 판매하는 조직과 자바 라이센스를 판매하는 조직이 다르다는 점도 고려해야 한다. 매출을 올려야 하는 입장에서 다른 조직을 봐줄 필요는 많지 않기 때문이다.



7. 어떻게 대응할 것인가.


아직까지 많은 기업에서 자바 8을 표준 jdk 버전으로 사용하고 있다. 일부 스타트업이나 최신 버전을 선호하는 곳에서는 9나 10으로 넘어갔을 수도 있지만 이는 위험한 선택이다. 왜냐하면 이미 2017 자바 원에서 9, 10버전에 대해서는 6개월만 패치 지원을 하겠다고 공식화 했기 때문이다. 업그레이드를 하려면 자바 11을 타겟으로 삼는 것이 맞다. 하지만 문제는 자바 11은 유상 패치 및 업데이트만을 제공한다. 그러므로 나의 경우 다음과 같이 정리하려고 한다.


- 현재쓰고 있는 시스템이 대부분 자바 8이며 유상 업데이트 및 패치 버전이 아닌 관계로 오라클 jdk를 유지한다. 현재도 안정적으로 동작 중이니 유상 패치가 나와도 적극적으로 반영하지 않는다.

- 자바 8 이상은 최대한 사용하지 않는다.

- 자바 8 이상 사용할 일이 있고 운영체제가 windows, linux 라면 OpenJDK를 이용한다.

- 자바 8 에서 유상 업데이트 및 패치가 반드시 필요한 경우라면 OpenJDK로 마이그레이션 한다.

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함