티스토리 뷰

Programming/Java

OracleJDK 유료화 FAQ

zepinos 2018. 9. 5. 10:59
반응형

Q. Java 의 저작권은 Oracle 이 가지고 있나요?

A. Java 가 오픈소스화 행보를 보인지 무려 12 년 정도의 시간이 흘렀습니다. 2006 년 11 월 13 일, Sun MicroSystems 은 Java 을 공식적으로 오픈소스화 했습니다. Oracle 이 Sun MicroSystems 을 인수했지만, 이는 되돌릴 수 없는 결정입니다. 심지어 최근에는 Java EE 까지 오픈소스화 할 계획을 내비쳤습니다.
다만, 그 때 당시 가장 큰 영향력을 가진 IBM 에서는 Java 가 ASF(Apache Software Foundation) 에 기여되길 희망했지만, Sun MicroSystems 은 GNU GPL 로 오픈소스화 했습니다.


Q. Oracle 이 Sun 을 인수하면서 Java 의 저작권자가 되었는데, 어느 정도의 권한이 있는 건가요?

A. Java 은 JCP(Java Community Process) 에서 JSR 이라는 표준 스펙을 제정하고 이를 구현하는 방식으로 완성됩니다. JCP 에서의 의결 방식은 주식회사의 의결과 비슷합니다. JCP 내 지분율에 따라 의결권을 가지고, 의결 시 총 의결권의 수로 결정을 합니다. Oracle 은 현재 JCP 의 최고 지분율을 가지고 있다고 알려져 있습니다.
그리고, JSR 에 의거해 OpenJDK 가 만들어지면 이 소스를 이용해서 각 회사나 단체, 혹은 개인이 별도의 JDK/JRE 을 만들 수 있는데, 이렇게 만들어진 제품이 JSR 을 제대로 구현했는지 확인하는 것이 TCK(Java Technology Certification Kit) Tool 입니다. 이 TCK 을 이용해서 검수를 진행하는 곳이 Oracle 이기도 합니다. 또한 OracleJDK 역시 OpenJDK 소스를 포함하여 빌드가 되고 있다고 알려져 있습니다.
하지만, 아직까지 Oracle 은 JCP 을 통해 많은 통제권을 행사하고 있다는게 중론입니다. 많은 오픈소스 단체들에 의해 빗장이 많이 해제되었지만 말입니다.


Q. Oracle 이 OracleJDK 을 상용화 한 의도가 무엇일까요?

A. Oracle 은 사기업입니다. 이윤의 극대화가 목표입니다. 우리가 Oracle 의 속내까지 모두 알 수는 없지만, 수익모델을 창출하는 것이 사기업의 기본입니다. 이미 Zing 와 같이 수익 모델을 가지는 JVM 이 존재했었고 이를 대체할 수 있는 OpenJDK, Zulu 와 같은 무료 제품도 충분히 존재하기 때문에 상용화 한다고 해서 무조건적인 비난을 받지 않은 상황이기도 한 것이 이유인 것 같습니다. 그리고 이전부터 기업에 대한 지원은 유료였습니다.


Q. Windows 용으로 빌드된 OpenJDK 은 무엇이 있나요?

A. OpenJDK 역시 Windows 버전이 존재합니다. 공식 사이트(http://jdk.java.net/)에서 무료로 다운로드 가능합니다. 다만, 설치 프로그램이 아닌 압축 파일의 형태로만 제공되기 때문에 사용자가 압축 파일(tar.gz 등)을 다운로드 받은 뒤 원하는 위치에 압축을 해제하고, %JAVA_HOME%, %PATH% 와 같은 환경설정변수를 직접 등록해야 하는 번거로움은 있습니다. 대신에 자신이 개발한 Java 프로그램에 포함하여 배포할 경우에는 상대 경로 등을 이용하여 사용할 수 있으므로 불편함이 적습니다.
또한, 특정 개인이나 단체가 OpenJDK 소스를 빌드하여 다운로드 할 수 있도록 링크를 제공하거나(예를 들어 https://adoptopenjdk.net 같은 사이트) Azul Systems 의 Zulu 와 같이 TCK 을 통과한 제품을 제공하기도 합니다. Zulu 은 Windows, Mac, CentOS, Ubuntu 빌드를 제공합니다.


Q. OralceJDK 의 대체제로 많이 언급되는 Zulu(Azul Systems)은 상용 서버에서의 사용도 무료인가요?

A. 네, 그렇습니다. Zulu 의 라이센스 정책은 크게 두가지로 나뉘는데, 개인이나 기업 모두 Zulu 을 사용하는 것은 무료이고, 기술지원(Subscription)은 유료로 구입이 가능합니다. 참고로 같은 회사에서 개발하여 판매되는 Zing 은 OracleJDK 와 마찬가지로 상용으로만 판매됩니다.


Q. OracleJDK 만 안쓰면 되지 않나요?

A. OracleJDK 에만 포함되어 있는 기능도 엄연히 존재하고, 이러한 기능을 대체할 수 있는 오픈소스 제품 역시 존재합니다. 즉, 필요하다면 OracleJDK 가 아닌 다른 무료 제품을 이용해도 문제는 없습니다. 여러분이 개발한 혹은 구입한 제품이 OracleJDK 가 아닌 다른 제품에서도 잘 동작한다면 말입니다.
그리고, 현재 사용가능한 JVM 의 수는 훨씬 다양하며, OracleJDK 을 제외하면 모두 무료인 것도 아닙니다(https://en.wikipedia.org/wiki/List_of_Java_virtual_machines). 적절한 제품을 찾아 사용하는 것을 권합니다.


Q. 교육원이나 학원에서 교육용으로 변동없이 오픈소스로 쭉 사용해도 되나요?

A. OracleJDK 가 아닌 OpenJDK 등을 이용하시길 권합니다. 물론 OracleJDK 에서만 동작하는 기능이 사용된다면 변화되는 라이센스를 잘 확인하면서 사용하셔야 합니다.


Q. OracleJDK 가 유료화되면 현재 Spring Framework 혹은 e-Gov. Frameowk 기반으로 운영되는 서비스들은 어떤 영향을 받게 되나요?

A. 가장 쉽게 취할 수 있는 조치는 현재 OracleJDK 가 설치되어 운영되어 있다면 유료 결제를 해서 계속 사용하는 방법이 있습니다. 또다른 방법으로 Zing 이나 Zulu 같은 제품을 구입하여 사용하는 방법도 존재합니다.
무료로 계속 사용하고 싶다면 OracleJDK 을 제거한 후 OpenJDK 나 Zulu 와 같은 제품을 설치하여 사용해야 합니다. 물론 100 % 호환이 되는지 테스트를 해야 합니다.
즉, 기존 제품의 소스는 기본적으로 건드릴 필요가 없습니다. 서버에 설치된 Server JRE 혹은 JDK 을 무료 버전으로 변경하는 것으로 모든 일이 마무리 될 수 있습니다.


Q. Groovy, Scala, Kotlin 와 같이 JVM 을 이용하는 개발 언어들도 유료화가 되는 것인가요?

A. 이번 OracleJDK 유료화 조치는 JVM 제품 중 하나가 유료화가 진행되는 것이지, 언어 자체의 유료화를 의미하는 것은 아닙니다. 그러므로 개발 언어가 유료화 되는 것과는 아무런 관련이 없고, JVM 을 이용하는 언어들을 개발한 곳에서 유료화를 진행하겠다고 해야 유료화가 진행되는 것이기 때문에 전혀 걱정하실 일은 아닙니다.
하지만, 이러한 언어들을 개발하고 사용할 때에는 반드시 JVM 이 필요합니다. 이 때 OracleJDK 을 이용하면 Oracle 의 비용 정책을 준수하셔야 합니다. 현재 개발할 때에는 개발지원(Subscription) 만 유료이기 때문에 지원만 받지 않는다면 여전히 무료로 개발할 수 있고, 이를 빌드하여 배포하거나 납품할 수 있지만, 사용할 때에는 비용이 추가로 발생할 수 있기 때문에 이를 고려해서 개발할 때부터 OpenJDK 을 염두에 두고 개발하는게 나은 결정일 수 있습니다.


Q. OracleJDK 의 유료화 대상은 1.8 버전 이상인가요?

A. 1.7 이하의 버전에서 무료로 계속 사용이 가능한지는 불명확합니다. 가급적 OpenJDK 1.8 이상 버전을 설치해서 사용하시는 것을 권합니다.
참고로, OpenJDK 1.7 이하의 버전은 성능이 좋지 않기 때문에 개발 및 서비스 용도로 추천하기 어렵습니다.


Q. 기타 자세한 사항은 어디에서 확인할 수 있을까요?

A. 오라클의 블로그 주소를 공유하겠습니다. https://blogs.oracle.com/java-platform-group/a-quick-summary-on-the-new-java-se-subscription
특히 위 Post 에서 아래 문장을 주목해 주십시오. OpenJDK 은 생색내기용이 아닙니다.

This new offering does not change how developers will get and use Java SE from Oracle. As announced last year, Oracle now provides OpenJDK builds under the GPL+CPE license with plans to make them functionally interchangeable with the Oracle JDK by the Java SE 11 launch in September, 2018.


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함