OpenJDK와 Adopt Open의 차이점JDK
최근 Oracle Java SE Support Roadmap 정책 업데이트(특히 2019년 3월 이후 Oracle에서 $free 릴리스 업데이트 종료) 때문에 Oracle Java의 대안을 찾고 있습니다.Open JDK는 오픈 소스 대안임을 알게 되었습니다.그리고 Adapt Open을 찾았습니다.현재 Adaptium으로 알려진 JDK는 사전 구축된 바이너리입니다.헷갈려요.
Open JDK와 Adopt Open JDK의 차이점은 무엇입니까?
요컨대:
- OpenJDK는 다음과 같은 여러 가지 의미가 있습니다.
- 오픈 채택JDK - 커뮤니티에 의해 유지되는 사전 구축된 OpenJDK 바이너리(오픈 소스 라이선스)
설명:
사전 구축된 OpenJDK(또는 배포) - 아카이브 또는 설치로 제공되는 http://hg.openjdk.java.net/,에서 구축된 바이너리. 다양한 플랫폼용으로 제공되며 지원 계약이 가능합니다.
소스 저장소(OpenJDK 프로젝트라고도 함)인 OpenJDK는 http://hg.openjdk.java.net에서 호스팅되는 Mercurial 기반 오픈 소스 저장소입니다.자바 소스 코드대부분의 Java 기능(VM 및 코어 라이브러리에서 컴파일러에 이르기까지)은 이 소스 저장소만을 기반으로 합니다.Oracle에는 대체 포크가 있습니다.
Open JDK는 배포(아래 프로바이더 목록 참조) - 맥주와 같이 무료이며 스피치에서도 무료입니다만, 문제가 있는 경우 Oracle에 문의할 수 없습니다.지원 계약은 없습니다.또한 Oracle은 OpenJDK(디스트리뷰션) 버전이 LTS(장기 지원) 릴리스를 포함한 최신 Java 릴리스인 경우에만 업데이트를 릴리스합니다.Oracle이 OpenJDK(디스트리뷰션) 버전 12.0을 출시하는 날 OpenJDK(디스트리뷰션) 버전 11.0에 보안 문제가 있더라도 Oracle은 11.0용 업데이트를 출시하지 않습니다.Oracle에만 의해 유지 관리됩니다.
OpenJDK 8 및 OpenJDK 11과 같은 일부 OpenJDK 프로젝트는 OpenJDK 커뮤니티에 의해 유지 관리되며 일부 플랫폼용 OpenJDK 버전에 대한 릴리스를 제공합니다.커뮤니티 구성원은 이러한 OpenJDK 버전의 보안 취약성에 대한 수정 사항을 릴리스할 책임이 있습니다.
오픈 채택JDK 배포는 Oracle의 OpenJDK 배포와 매우 유사합니다(무료이며 OpenJDK 소스 저장소에서 소스를 컴파일하여 생성한 빌드입니다).오픈 채택엔티티로서의 JDK는 패치를 백포트하지 않습니다.즉, Adapt Open은 없습니다.업스트림과는 크게 다른 JDK 'fork/version' (Windows32 지원 등의 빌드 스크립트 패치 제외)즉, 커뮤니티 멤버(Oracle 또는 기타 멤버)가 AdapeOpen이 아닌 경우엔티티로서의 JDK) 백포트 보안을 OpenJDK LTS 버전 업데이트로 수정한 후 AdapeOpenJDK는 이러한 빌드를 제공합니다.오픈에 의해 유지JDK 커뮤니티
롯데
참고. Oracle의 OpenJDK 빌드를 "Oracle OpenJDK 빌드"라고 부르는 것이 가장 좋습니다.
Oracle의 Java 제품 매니저인 Donald Smith는 다음과 같이 말합니다.
이상적으로는 고객의 상황에 따라 모든 Oracle JDK 빌드를 GPL 또는 상용 라이선스로 "Oracle JDK"라고 부르는 것이 좋습니다.다만, 지금까지의 이유로, 작은 차이가 존재하지만, Oracle의 OpenJDK 빌드 및 Oracle JDK에 대해서는 별도로 언급합니다.
OpenJDK 프로바이더와 비교
- Open JDK 채택 - https://adoptopenjdk.net
- 아마존 – Corretto - https://aws.amazon.com/corretto
- Azul Zulu - https://www.azul.com/downloads/zulu/
- Bell Soft Liberica - https://bell-sw.com/java.html
- IBM - https://www.ibm.com/developerworks/java/jdk
- jClarity - https://www.jclarity.com/adoptopenjdk-support/
- OpenJDK 업스트림 - https://adoptopenjdk.net/upstream.html
- Oracle JDK - https://www.oracle.com/technetwork/java/javase/downloads
- Oracle Open JDK - http://jdk.java.net
- ojdkbuild - https://github.com/ojdkbuild/ojdkbuild
- Red Hat - https://developers.redhat.com/products/openjdk/overview
- Sap Machine - https://sap.github.io/SapMachine
----------------------------------------------------------------------------------------| 프로바이더 | 프리 빌드 | 프리 바이너리 | 확장 | 상용 | 허용 || 출처 | 배포 | 업데이트 | 지원 | 라이선스 ||--------------------------------------------------------------------------------------|| 오픈 채택JDK | 있음 | 있음 | 있음 | 없음 | 있음 | 있음 | 있음| Amazon – Coretto | 있음 | 있음 | 있음 | 있음 | 없음 | 있음 | 있음 | 있음| Azul Zulu | 아니요 | 네 | 네 | 네 | 네 | 네 | 네 || Bell Soft Liberica | 아니요 | 네 | 네 | 네 | 네 | 네 | 네 || IBM | No | No | Yes | Yes | Yes | Yes | Yes || jClarity | No | No | Yes | Yes | Yes | Yes || OpenJDK | 있음 | 있음 | 있음 | 있음 | 없음 | 있음 | 있음 | 있음| Oracle JDK | 아니요 | 있음 | 없음 ** | 있음 | 없음 | 없음 || Oracle Open JDK | 있음 | 있음 | 없음 | 없음 | 있음 | 있음 | 있음| ojdkbuild | 있음 | 있음 | 없음 | 없음 | 있음 | 있음| Red Hat | 예 | 예 | 예 | 예 | 예 | 예 | 예 || Sap Machine | 있음 | 있음 | 있음 | 있음 | 있음 | 있음 | 있음 | 있음 | 있음----------------------------------------------------------------------------------------
소스로부터의 빌드 프리 - 배포 소스 코드를 공개적으로 사용할 수 있으며 자체 빌드를 조립할 수 있습니다.
무료 바이너리 배포 - 배포 바이너리를 다운로드 및 사용할 수 있습니다.
연장 업데이트 - 일명 LTS(장기 지원) - 6개월의 출시 라이프 사이클을 초과하는 공개 업데이트
커머셜 서포트 - 일부 프로바이더에서는 유료 고객에 대한 갱신 및 고객 지원을 연장합니다(예: Oracle JDK).
Permitive License(허가 라이선스) - 배포 라이선스는 Apache 2.0과 같이 보호되지 않습니다.
사용해야 하는 Java 배포
Sun/Oracle 시절에는 보통 Sun/Oracle이 OpenJDK 소스를 기반으로 자체 다운스트림 JDK 배포를 생산했습니다.최근 Oracle은 상용 지원이 첨부된 경우에만 자체 빌드를 수행하기로 결정했습니다.OpenJDK 빌드도 https://jdk.java.net/ 사이트에 공개하고 있습니다.
JDK 11의 시작은 단일 벤더(Oracle)의 사고방식에서 고객이 원하는 조건(구축 플랫폼, 출시 빈도 및 신속성, 지원 구조 등)으로 제품을 배포할 프로바이더를 선택하는 사고방식으로의 이행입니다.기존 벤더를 신뢰하지 않는 경우 Open을 구축할 수도 있습니다.JDK 직접 하세요.
OpenJDK의 각 빌드는 보통 동일한 원래 업스트림 소스 저장소(OpenJDK "프로젝트")에서 만들어집니다.그러나 각 빌드는 $free 또는 commercial, 브랜드 또는 비브랜드, 순수 또는 번들(예를 들어 BellSoft Liberica JDK는 JDK 11부터 Oracle 빌드에서 제거된 JavaFX 번들을 제공합니다).
특정 배포를 정의하는 환경(예: Linux) 및/또는 라이센스 요건이 없는 경우, 그리고 가장 표준적인 JDK 빌드를 원하는 경우 Oracle의 OpenJDK 또는 Adapt OpenJDK를 사용하는 것이 가장 좋습니다.
추가 정보
Stephen Colebourne의 Oracle JDK를 넘어설 시간
Java Champions 커뮤니티에서 Java Is Still Free (2018년 9월 17일 발행)
Java Champions 커뮤니티에서 Java is Still Free 2.0.0(2019년 3월 3일 발행)
Aleksey Shipilev, Opsian의 JDK 업데이트 인터뷰(2019년 6월 27일 발행)
업데이트 2021-09
- 버전 8~16에서 Oracle은 자체 Oracle JDK 제품을 프로덕션에서 사용하는 경우 비용이 필요했지만 개발, 테스트 및 교육 용도로는 사용되지 않았습니다.
- Java 17의 경우 Oracle JDK 제품은 Oracle 회사 블로그에서 설명하는 새로운 No-Fee 계약 조건 라이센스로 제공됩니다.
제가 처음 읽은 바로는 이 새로운 라이선스를 통해 Oracle JDK 제품을 번들할 때 유료로 판매된 제품을 제외하고 운영 환경에서 개발, 테스트 및 교육 사용과 함께 무료로 사용할 수 있게 된 것 같습니다.하지만 저는 변호사가 아니니 직접 약관을 읽고 필요에 따라 법률 자문을 구하세요.
다음 흐름도에 나타나 있듯이 많은 다른 벤더가 Java 사양의 구현을 계속 제공하고 있다는 점에 유의하십시오.이들 벤더 중 일부는 옵션 또는 제품 사용 요건으로 지원 플랜을 판매하고 있습니다.얻은 분포에 대한 자세한 요구 사항을 항상 읽고 있다고 가정하지 마십시오.
2021년 다른 업데이트:이하의 벤더 리스트에 Microsoft 를 추가합니다.
업데이트: Adapt OpenJDK는 Eclipse Foundation으로 이전하기 위해 회사 이름을 Adaptium으로 변경했습니다.
OpenJDK © 소스 코드
Adaptium/Adopt OpenJDK » 빌드
OpenJDK와 AdapeOpen의 차이점JDK
첫 번째는 소스 코드를 제공하고 다른 하나는 해당 소스 코드의 빌드를 제공합니다.
- Open JDK는 다음과 같이 정의된 Java 플랫폼 구현의 소스 코드(빌드가 아님)를 제공하는 오픈 소스 프로젝트입니다.
- 자바 사양
- Java Community Process를 통해 Oracle에 의해 발행된 Java Specification Request(JSR) 문서
- Open JDK 프로젝트를 통해 Oracle에 의해 발행된 JEP(JDK Enhancement Proposal) 문서
- 오픈 채택JDK는 Java 커뮤니티의 저명한 구성원에 의해 설립된 조직으로 Java 테크놀로지 사용자에게 바이너리 빌드와 설치 프로그램을 무료로 제공하는 것을 목적으로 합니다.
Java 및 Open의 여러 벤더JDK
Eclipse Foundation의 Adaptium(이전의 AdaptionOpen)JDK는 Java 플랫폼의 구현을 배포하는 여러 벤더 중 하나에 불과합니다.여기에는 다음이 포함됩니다.
- Eclipse Foundation (Adoptium/AdoptOpenJDK)
- 아줄 시스템즈
- 오라클
- 레드햇 / IBM
- 벨소프트
- SAP
- 아마존 AWS
- 기타
이 흐름도를 참조하여 Java 플랫폼 구현 벤더를 선정하는 데 도움이 됩니다.클릭하여 확대/축소합니다.
다른 리소스:Azul Systems의 이 비교 매트릭스는 유용하고, 제 생각에는 진실하고 공정한 것 같습니다.
다음은 벤더 선택 및 구현 시 고려해야 할 고려사항과 동기 목록입니다.
벤더에 따라서는, JIT테크놀로지를 선택할 수 있습니다.
이 Java 생태계에 대한 자세한 내용은 "Java Is Still Free"를 참조하십시오.
언급URL : https://stackoverflow.com/questions/52431764/difference-between-openjdk-and-adoptium-adoptopenjdk
'programing' 카테고리의 다른 글
쇼트 코드에서 Vue 2 컴포넌트를 동적으로 주입합니다. (0) | 2022.06.11 |
---|---|
어레이의 요소에 액세스하는 데 일정한 시간이 걸리는 이유는 무엇입니까? (0) | 2022.06.11 |
최종과 실제 최종의 차이 (0) | 2022.06.11 |
VUE : Vuelidate between.스토어 값에서 최대값을 사용하시겠습니까? (0) | 2022.06.11 |
Vue.js에서의 이메일 검증 (0) | 2022.06.11 |