Java

[Java] OpenJDK와 Oracle JDK 비교 및 JDK 선택 방법

yujinius 2024. 4. 6. 13:02

Java 프로그래밍 언어 자체는 GPL 라이센스로 무료!
하지만!
자바를 컴파일해주고(JDK), 실행시키는 것(JVM)을 도와주는 것이 구독형 라이센스로 변경되면서 논란이 됨

 

OracleJDK

오라클(Oracle)이 내놓는 LTS 장기 지원 버전 종류

  • Java SE 8 - 2014년 출시
  • Java SE 11 - 2018년 출시
  • Java SE 17 - 2021년 출시
  • Java SE 21 - 2023년 출시

 

오라클의 라이스

오라클이 배포하는 Oracle JDK는 상업 라이센스로 2019년부터 유료화 정책을 강화함

  • Oracle JDK는 BCL (Binary Code License) 라이센스를 적용하고 있었고, '일반적인 목적의 컴퓨팅(General Purpose Computing)'에 사용 시에만 무료였음
  • 즉, 개인적인 학습 테스트 목적으로 개인 디바이스에 사용하는 것은 문제 없음
  • 상업 프로젝트일 경우에도 JDK 8u202 버전까지는 무료로 제공이며, JDK 8u211 이상부터 유료 버전으로 구독형 라이센스로 변경됨

2021년부터 오라클의 Java SE 정책이 변화됨

  • Oracle JDK 17부터 새로운 무료 라이스인 NFTC 적용
  • 상용에도 무료로 사용 가능하게 라이센스를 추가했으나, 공개 업데이트 기간에는 Oracle JDK 17을 무료로 사용 가능하지만 그 이후는 다시 구독 비용을 내는 상용 라이센스 필요
  • Oracle No-Fee Terms and Conditions (NFTC) : https://www.oracle.com/downloads/licenses/no-fee-license.html
 

Oracle No-Fee Terms and Conditions (NFTC) License Agreement

Your use of this Program is governed by the No-Fee Terms and Conditions set forth below, unless you have received this Program (alone or as part of another Oracle product) under an Oracle license agreement (including but not limited to the Oracle Master Ag

www.oracle.com

 

OpenJDK

  • JDK(Java SE)의 오픈소스 구현체
  • GPL v2 with the Classpath Exception 라이센스 적용되어 무료
  • 레드햇, Azul, AdoptOpenJDK 등 다양한 종류의 OpenJDK 존재

 

GNU General Public License (GPLv2)

  • 자유 소프트웨어 재단(FSF)에서 만든 자유 소프트웨어 라이선스
  • 미국의 리처드 스톨만(Richard Stallman)이 GNU-프로젝트로 배포된 프로그램의 라이선스로 사용하기 위해 작성
  • 아래 4가지 조항을 명시함
① 컴퓨터 프로그램을 어떤 목적으로든지 사용할 수 있다
② 컴퓨터 프로그램의 복사를 언제나 프로그램의 코드와 함께 판매 또는 무료로 배포할 수 있다
③ 컴퓨터 프로그램의 코드를 용도에 따라 결정할 수 있다
④ 변경된 컴퓨터 프로그램 역시 프로그램의 코드와 함께 자유로이 배포할 수 있다

 

JDK 선택 방법

  1. 라이스 확인
  2. 업데이트 지원
  3. TCK 인증 확인

 TCK 인증이란?

  • TCK(Technology Compatibility Kit)는 JDK의 완성도를 검증하는 인증이다.