Language/JAVA

[JAVA]JDK 종류 파헤치기(Open JDK, Oracle JDK, Adpot, Corretto, Zulu)

retto9522 2024. 10. 18. 14:30

여러 JDK가 존재하는 이유

여러 JDK가 존재하는 가장 큰 이유는 라이센스 때문입니다.

최신 버전의 Oracle JDK 17, 18의 경우 "Oracle No-Free 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, 구독을 통해 유료 라이센스를 구매할 수 있습니다.

Open JDK

  • 무료로 사용할 수 있으며, 다양한 Linux 배포판에서 기본 JDK로 제공됩니다.
  • Java SE의 오픈 소스 구현체

Open JDK의 종류

이름 공급업체 설명
OpenJDK Red Hat Redhat에서 지원하는 오픈소스 OpenJDK.
Corretto Amazon 아마존에서 만든 오픈소스 OpenJDK.
Zulu Azul Azul에서 만든 오픈소스 OpenJDK.
Zing Azul Azul에서 만든 고성능 유료 구현체.
Liberica BellSoft BellSoft에서 만든 오픈소스 OpenJDK.
Semeru Runtime IBM IBM에서 만든 오픈소스 OpenJDK.
AdoptOpenJDK Adoptium Adoptium에서 만든 오픈소스 OpenJDK.
Eclipse Adoptium Adoptium Eclipse에서 만든 AdoptOpenJDK.
Microsoft Build of OpenJDK Microsoft 마이크로소프트에서 만든 오픈소스 OpenJDK.
SAP Machine SAP SAP에서 만든 오픈소스 OpenJDK.
Dragonwell Alibaba 알리바바에서 만든 오픈소스 OpenJDK.
OpenLogic OpenJDK OpenLogic OpenLogic에서 만든 오픈소스 OpenJDK.

JDK 선택 방법

1. 라이센스 확인

  • 사용 목적에 따라서 라이센스 확인이 가장 중요합니다. Oracle JDK를 제외한 모든 JDK는 무료로 사용할 수 있습니다.

2. 업데이트 지원

  • 보안 패치 등을 포함하여 업데이트를 꾸준히 지원하는지도 중요합니다. 각 JDK 제공 업체의 업데이트 및 패치 노트를 통해 확인할 수 있습니다.
  • 예로, Zulu의 경우 Java 17 LTS 버전은 2029년까지만 업데이트를 보장합니다.

3. TCK 인증 확인

  • TCK는 JDK의 완성도를 검증하는 인증으로 JDK의 TCK 인증 유무 확인도 중요합니다. Corretto, Zulu, Temurin은 모두 TCK를 통과한 JDK입니다.

참고

https://adjh54.tistory.com/213#2.%20Open%20JDK%20%EC%A2%85%EB%A5%98-1

https://bonohubby.com/entry/JDK-%EC%A2%85%EB%A5%98-%EC%B4%9D-%EC%A0%95%EB%A6%AC-Oracle-JDK-OpenJDK-Adpot-Corretto-Zulu