2. JAVA의 역사
• 2006 년 11 월 13 일, Sun MicroSystems 은 Java 을 공식적으로
오픈소스화 선언!
• Sun MicroSystems 은 GNU GPL 로 오픈소스화.
• Java 애플리케이션을 실행하기 위해서는 JVM이 필요하고 컴파
일하기 위해서는 JDK가 필요하다. 일반적으로 JDK를 설치하면
JVM(Hotspot이라고도 표현, Java 기술의 핵심)도 함께 설치된다.
3. 2019년부터 JDK의 유료화 선언!
• Oracle JDK 바이너리에 적용되던 BCL 라이센스가 2018년 7월
부로 Java SE Subscription라는 이름의 년 단위 유료 구독형 라
이센스로 새롭게 개편되었다.
• 2019년부터 업데이트 및 버그 패치 적용을 위해서는 서브스크
립션 구매 필수 Oracle JDK 상용화와 OpenJDK 오픈소스 제공
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. Going forward, we expect most
developers and organizations to be using our builds as we complete the effort of
making Oracle JDK and our OpenJDK builds equivalent. No more “BCL” license,
use the JDK under the same license as Linux, with the “Classpath” exception to
afford even more flexibility.
5. JAVA에서 오라클의 힘은 어디까지?
• 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 소스를 포함하여 빌드가 되고 있다고 알려져 있습니
다.
6. Open JDK란?
• 오픈소스기반의 JDK
• http://openjdk.java.net/
• https://ko.wikipedia.org/wiki/OpenJDK
• GNU GPL라이선스를 따름.
• Sun Microsystems의 유산.
• 오라클에 의해 개발/관리되고 있다.
7. Open JDK vs. Oracle JDK
• OpenJDK와 Oracle JDK는 현재 오라클에 의해서만 생성되고 유지 관
리됩니다.
• OpenJDK와 Oracle JDK는 TCK (Java Technology Certification Kit)를
통과 한 동일한 Java 사양의 구현입니다.
• OpenJDK는 Oracle GPL v2에서 배포되며 Oracle JDK는 Oracle
Binary Code License Agreement에 따라 라이센스가 부여됩니다.
• Oracle JDK의 빌드 프로세스는 OpenJDK 소스 코드를 기반으로합니
다. 따라서 Oracle JDK와 OpenJDK간에 기술적인 차이는 없습니다.
기본 코드 외에도 Oracle JDK에는 오라클의 Java Plugin 및 Java
WebStart 구현이 포함됩니다. 또한 그래픽 래스터 라이저 및 Rhino
와 같은 타사 폐쇄 소스 및 오픈 소스 구성 요소도 포함 됩니다.
OpenJDK Font Renderer와 Oracle JDK Flight Recorder는 Oracle
JDK와 OpenJDK의 두드러진 차이점입니다.
8. 다른 Open JDK의 종류
• http://jdk.java.net/
• https://adoptopenjdk.net/
• Azul Systems 의 Zulu
• 개인이나 기업 모두 Zulu 을 사용하는 것은 무료이고, 기술지원
(Subscription)은 유료로 구입
JVM(Java Virtual Machine)의 종류
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
9. OpenJDK로 대체 할 경우 문제점
• OracleJDK 에만 포함되어 있는 기능 존재
• 이러한 기능을 대체할 수 있는 오픈소스 제품 역시 존재
우리 솔루션들이 OpenJDK에서도
재대로 동작하는지 테스트 필요 필수!!
10. 대안은
• 가장 쉬운 방법
• 돈 내고 계속 쓰면 됩니다. (가격만 맞다면요)
• 오픈 JDK사용
• 우리에게 맞는 Open JDK 탐색
• 테스트 필수!
별다른 큰 문제 없이 동작
할 것이라고 예상합니다.