여러 가지의 JDK가 있는 이유
가장 큰 이유는 라이센스이다.
최신 버전의 Oracle JDK 17, 18의 경우 "Oracle No-Fee Terms and Conditions (NFTC)" 라이센스가 적용된다.
사용 가능한 목적과 대상은 다음과 같으며 회사에서 상용목적으로는 사용이 불가하다.
"internally use the unmodified Programs for the purposes of developing, testing, prototyping and demonstrating your applications, and running the Program for Your own personal use or internal business operations"
Java 소스코드 자체는 오픈소스이다. 오픈소스인 Java 소스코드를 빌드하여 사용하는 것에는 거의 제약이 없지만
Oracle에서 제공하는 설치버전의 JDK에는 위의 NFTC 라이센스가 적용되어 회사에서는 사용할 수 없다.
이것이 다양한 버전의 JDK가 있는 이유이다.
주요 JDK
Oracle JDK
- Oracle에서 제공하는 JDK. 구독을 통해 유료 라이센스를 구매할 수 있다.
OpenJDK
- 유명한 무료 JDK. 하지만 OpenJDK를 직접 사용하는것 보다는, OpenJDK 기반으로 빌드된 JDK 사용을 추천한다.
Azul Zulu
- 아줄 줄루. 재미있게 읽을 수 있다.
인지도가 높은 JDK 중 하나이며, Mac 등에서 사용할 수 있는 바이너리를 제공하는 것이 특징이다.
- 또한 Azul에서는 Zing이라는 고성능 유료 JDK를 판매하고 있다.
https://www.azul.com/downloads/?package=jdk#download-openjdk
Amazon Corretto
- AWS에서 제공하는 JDK. AWS에서 쉽게 사용 가능하며, AWS 환경이 아니더라도 사용할 수 있다.
- Amazon에서 업데이트를 지원해 주는 것이 특징이다.
https://aws.amazon.com/ko/corretto
Temurin (AdoptOpenJDK)
- Eclipse에서 제공하는 JDK. Eclipse를 사용한다면 Temurin 설치를 추천한다.
JDK 선택 방법
1. 라이센스 확인
- 사용 목적에 따라서 라이센스 확인이 가장 중요하다. Oracle JDK를 제외하고,
위에 소개된 JDK는 모두 무료로 사용할 수 있다.
2. 업데이트 지원
- 보안 패치 등을 포함하여 업데이트 지원은 중요하다. 각 JDK 제공 업체의 업데이트 플랜을 확인할 수 있다.
예로 Zulu의 경우 Java 17 LTS 버전은 2029년 까지의 업데이트를 보장한다.
https://www.azul.com/products/azul-support-roadmap/
3. TCK 인증 확인
TCK는 JDK의 완성도를 검증하는 인증으로, JDK의 TCK 인증 유무 확인도 중요하다.
소개한 Corretto, Zulu, Temurin은 모두 TCK를 통과한 JDK 이다.