본문 바로가기

암호화폐

OPEN JDK 의 변화과정 알아보자 !!! [ openJDK ]

OpenJDK ( Open Java Development Kit )는 Java SE (Java Platform, Standard Edition )의 무료 오픈 소스 구현입니다 .  Sun Microsystems 가 2006 년에 시작한 노력의 결과입니다 . 구현은 링크 예외 를 포함하여 GNU GPL (GNU General Public License ) 버전 2에 따라 라이센스 가 부여되었습니다 . GPL 링크 예외가 아니라면 Java 클래스 라이브러리에 링크 된 구성 요소 는 GPL 라이센스 조건의 적용을받습니다. OpenJDK는 버전 7부터 Java SE 의 공식 참조 구현 입니다.   

 

 

Sun의 약속 및 초기 릴리스 

Sun 은 JavaOne 2006 에서 Java가 오픈 소스 소프트웨어가 될 것이라고 발표했으며   2006 년 10 월 25 일 Oracle OpenWorld 컨퍼런스에서 Jonathan Schwartz 는 회사가 핵심 Java 의 오픈 소스를 발표 할 계획이라고 말했습니다. 30 ~ 60 일 내 플랫폼 . 

 

Sun은 2006 년 11 월 13 일에 Java HotSpot 가상 머신 및 컴파일러를 GNU General Public License 에 따라 자유 소프트웨어 로 출시했으며 , 나머지 JDK ( Java Runtime Environment 포함 )는 2007 년 3 월까지 GPL에 포함될 것이라고 약속했습니다. , "Sun이 GPL에 따라 소스 형식으로 게시 할 권한이없는 일부 구성 요소를 제외하고".  자유 소프트웨어 옹호자에 따르면 리차드 스톨만 (Richard Stallman) 이이 "자바 트랩"을 끝낼 것 잠금이 된 공급 업체 그가 자바와 자바로 작성된 프로그램에 적용 주장하고있다. 

 

 

클래스 라이브러리 출시 

릴리스 자신의 약속에 따라 자바 개발 키트 , 2007 년 상반기에 거의 완전 무료 및 오픈 소스 코드를 기반으로 (JDK)를  태양이 완전한 공개 소스 코드를 5 월 8 일 GPL 하에서 자바 클래스 라이브러리의를, 2007 년, 타사에서 Sun에 라이센스를 부여한 일부 제한된 부품을 제외하고 Sun은 GPL에 따라 라이센스 를 다시 부여 할 수 없습니다 .  자바의 몇 가지 주요 구성 요소 계루 부품 목록에 포함되었다 그래픽 사용자 인터페이스 (GUI)가. Sun은 나머지 독점 구성 요소를 대체 구현 으로 교체 하고 클래스 라이브러리를 완전히 무료로 만들 계획이라고 밝혔다 .

 

2007 년 5 월에 처음 출시되었을 때 OpenJDK 클래스 라이브러리의 4 %는 독점적이었습니다.  5 월 2008 1 % 미만의 오픈 JDK (6)의 외양합니다 ( SNMP의 구현  자바 명세서의 일부가되는) 남아  가능 이진 플러그없이 오픈 JDK를 구축 할 수있다.  이진 플러그 요건은 2009 년 4 월 이후의 B53의 일부로서 오픈 JDK (7)로부터 적하 하였다 

 

이것은 Sun Microsystems 와 OpenJDK 커뮤니티 의 작업에 의해 첫해 동안 가능해졌습니다 . 각 예산 가집행  은 무료 및 오픈 소스 소프트웨어 로 출시 되거나 대안으로 대체되었습니다. 2010 년 12 월부터 모든 소위 바이너리 플러그 가 오픈 소스 대체품으로 대체되어 전체 JDK가 오픈 소스 화되고 바이너리 플러그 가 더 이상 필요하지 않게되었습니다. 

 

 

커뮤니티 개선 

2007 년 11 월 5 일, Red Hat 은 Sun과의 계약을 발표하여 Sun의 광범위한 기여자 계약 (모든 Red Hat 엔지니어의 모든 Sun 주도 무료 및 오픈 소스 소프트웨어 프로젝트 참여를 포함) 및 Sun의 OpenJDK Community Technology Compatibility Kit (TCK)에 서명했습니다. ) 라이센스 계약 (OpenJDK 기반 프로젝트가 Java SE 6 사양을 준수하는지 여부를 결정하는 테스트 스위트에 대한 액세스 권한을 회사에 부여). 

 

또한 2007 년 11 월에 Porters Group 은 OpenJDK에서 OpenJDK를 다른 프로세서 아키텍처 및 운영 체제 로 이식하려는 노력을 지원하기 위해 만들어졌습니다 . BSD의 커트 밀러와 그렉 루이스와 주도로 포팅 프로젝트 맥 OS X 랜든 풀러에 의해 주도합니다 (BSD 하나 기준) 프로젝트를 포팅는 운반 서비스 그룹을 통해 오픈 JDK 가입에 관심을 표명했다. 2008 년 1 월부터 두 가지 모두 메일 링리스트 토론에 포함됩니다. Porters Group에서 공식화를 기다리고있는 또 다른 프로젝트는 Bryan Varner가 이끄는 Haiku Java 팀입니다. 

 

2007 년 12 월 Sun 은 OpenJDK 를 오픈 소스 커뮤니티 에 공개하는 과정의 일부로 OpenJDK 의 개정 제어 를 TeamWare 에서 Mercurial로 (나중에 Git 및 GitHub로 ) 이전했습니다 .  

 

OpenJDK는 코드 기여를 수락하는 비교적 엄격한 절차를 가지고 있습니다. 모든 제안 된 기여는 다른 OpenJDK 커미터가 검토해야하며 기여자는 Sun / Oracle 기여자 계약 (SCA / OCA)에 서명해야합니다.  바람직하게는, 또한이 있어야 jtreg  버그를 보여주는 시험 고정되었다. 처음에는 외부 패치 제출 프로세스가 느 렸고  2008 년 9 월까지 코드베이스 에 대한 커밋 은 썬 엔지니어에 의해서만 이루어졌습니다.  공정은 2010 년 개선되었다 , 오픈 JDK 7 오픈 JDK 6 간단한 패치 백 포트가 아닌 시간 이내에 일어날 수있다. 

 

2011 년에 OpenJDK 6.0에서 OS / 2 로의 비공식 포트가 처음 출시되었습니다.  이 포트는 OS / 2의 유도체에 포함된다 ArcaOS . 

 

2013 년 9 월 25 일 Microsoft와 Azul Systems는 협력 하여 Windows Azure 클라우드 사용자를위한 OpenJDK 빌드 인 Zulu를  만들었습니다 . Zulu는 커뮤니티 사이트 Zulu.org 에서 무료로 다운로드 할 수 있습니다 . Canonical의 Juju Charm Store,  Docker Hub,  및 Azul Systems 저장소 를 통해 Amazon Web Services  에서 Zulu를 얻을 수도 있습니다 . Azul은 OpenJDK 프로젝트에 버그 수정 및 개선 사항을 다시 제공하고 여러 프로젝트 커미터를 직원으로두고 있습니다. 

 

2016년 4월 때문에 지원되지 않는 지역 사회를위한 오픈 JDK 빌드가 마이크로 소프트 윈도우 에 GitHub의 프로젝트에 ojdkbuild 업데이트와 속도에 출시 오라클 JDK. 빌드 8u151부터 MSI 설치 프로그램은 IcedTea-Web 프로젝트를 기반으로 Java Web Start 를 사용하기위한 선택적 구성 요소를 제공합니다 .

 

2020 년 에는 Itanium 플랫폼의 OpenVMS 에 대한 OpenJDK 8 포트 가 출시되었습니다. 

 

OpenJDK에 대한 외부 기여의 수는 프로젝트 시작 이후 증가하고 있습니다. 2018 년 9 월에 출시 된 OpenJDK 11은 외부 수정의 20 %를 받고  17 개의 새로운 JEP (기능)를 가져 왔으며 그중 3 개는 커뮤니티에서 제공했습니다. 즉, JEP 315 : "Improve Aarch64 Intrinsics"( BellSoft 제공 ), JEP 318 : "Epsilon : A No-Op Garbage Collector"(Red Hat 제공) 및 JEP 331 : "Low-Overhead Heap Profiling"(Google 제공) .