▲ (사진 제공=픽사베이)
▲ (사진 제공=픽사베이)

오픈GL(OpenGL)을 버리고 메탈(Metal)을 밀고 있는 애플의 정책을 오라클이 프로그래밍 언어이자 개발 플랫폼인 자바(Java)에 포용한다. 오픈GL은 2차원 및 3차원 그래픽 개발을 위한 표준 규격이다. 메탈도 이와 마찬가지로 그래픽을 그려내고 연산하는 기술로, 애플이 자체 개발했다.

17일 오라클에 따르면 최신 버전인 자바 17(Java 17)은 14개의 JEP(JDK의 업데이트를 위한 제안 목록들, JDK Enhancement Proposals)와 다양한 성능, 안정성 및 보안 업데이트가 이뤄졌다.

이번 업데이트를 통해 애플 메탈 API(응용 프로그램 인터페이스)를 사용하는 맥OS에서 자바 2D 그래픽 제작작업(렌더링)을 할 수 있게 된다. JDK(자바개발 도구)도 렌더링 영역을 포함하고 있는데, 지금껏 오픈GL을 사용해왔다. 또 업데이트에는 Arm 64 기반의 애플 실리콘 컴퓨터를 공식적으로 지원하는 내용도 담겼다. 

오라클이 이번 업데이트에서 특히 애플에 신경을 기울인 이유는 뭘까. 애플이 맥OS에서 오픈GL을 완전히 제거하려는 움직임을 보이면서다.

게임을 만들 때 사물의 질감이나 그림자의 변화 등을 묘사하기 위해선 수많은 연산이 필요하다. 이런 연산과 하드웨어 제어를 대신해 주는 도구가 3D 그래픽 라이브러리이며 오픈GL은 그 대표격이다. 2014년 마이크로소프트(MS)가 오픈GL 표준화를 주도해온 크로노스그룹에 가입하기도 했다.

그러나 오픈GL의 위상은 애플 메탈의 등장으로 위협받고 있다. 메탈은 한 API에 오픈GL의 그래픽과 오픈CL(GPU에 명령을 내릴 수 있는 체계)의 계산 기능을 병합했다. 오픈GL 대비 최대 10배에 달하는 단위시간당 호출 속도를 제공한다고 애플은 강조한 바 있다. 그래픽 개발자들을 애플 생태계에 포섭하기 위한 전략으로 해석됐다.

애플은 WWDC(세계 개발자 회의) 2018에서 오픈GL ES, 오픈CL을 반대할 것이니 그 대신에 자체 기술인 메탈을 사용하라고 제안했다. 소프트웨어상으로는 "더 좋은 기능이 나오기 때문에 지원을 종료하겠다"는 뜻이다. 즉 오픈GL이 애플 생태계에서 퇴출된다는 의미를 내포하고 있다.

'Write once, run anywhere'(한 번 작성하면 어디서나 실행할 수 있다)를 모토로 하고 있는 자바로선 오픈GL 기반 앱이 애플 맥OS에서 호환되지 않는 불상사가 발생하는 걸 우려할 수밖에 없다. 이번 업데이트는 그런 자바의 정신을 지키기 위한 것이라고 볼 수 있다.

한국오라클 관계자는 "(애플과 관련한)개발자들의 요구 사항이 많았던 게 (이번 업데이트의)기반이 됐을 것"이라며 "커뮤니티 개발자들의 요구사항과 수요를 종합적으로 판단해 반영하고 있다"고 설명했다.

한편 자바 17은 6개월 주기로 공개되는 자바의 최신 장기 지원 버전으로서, 오라클 엔지니어와 오픈JDK 커뮤니티 및 JCP(Java Community Process)를 포함한 전 세계 자바 개발자 커뮤니티 구성원 간의 폭넓은 협업을 기반으로 완성됐다. 3년 전 JDK 11 LTS(장기 지원 버전) 출시 이후 70가지 이상의 JEP가 구현 완료됐다.

오라클 JDK 17을 비롯, 향후 출시 예정인 JDK는 다음 LTS 공개 시점까지 자유롭게 무료 사용 라이선스를 제공한다. 오라클은 2017년 이후 지속적으로 오라클 오픈JDK 버전을 오픈소스 일반 공중라이선스(GPL)에 따라 공개해왔다. 

오라클은 자바 LTS 신규 버전으로 이전하는 기업들에게 더 높은 탄력성을 제공하고자 자바 개발자 커뮤니티 및 JCP와의 협력을 바탕으로 LTS 일정을 개선했다. 오라클은 차기 LTS 버전인 자바 21 발표를 2023년 9월로 예정하고 있으며, 이는 기존의 배포 주기인 3년을 2년으로 단축한 것이다.

현재 오라클 LTS와 자바 SE를 구독 중인 기업 고객은 원하는 일정에 따라 자바 17로 이전할 수 있다. 오라클은 자바 17 고객을 대상으로 최소 2029년 9월까지 보안, 성능, 버그 수정 업데이트를 제공해나갈 방침이다.

조지 사브 오라클 자바 플랫폼 그룹 개발 담당 부사장은 "오라클은 지난 3년간 다수의 개발자들이 애용해온 최신 기능에 대한 의견에 귀 기울였으며, 이를 통해 6개월 단위의 배포 주기가 개발자 생태계에 성공적으로 안착했음을 확인했다"며 "LTS 버전의 출시 주기가 2년으로 변경된 만큼, 보안을 우선하는 기업의 개발자들은 기능별 선호도와 필요에 따른 더 많은 선택권을 확보하게 됐다"고 말했다.

저작권자 © 블로터 무단전재 및 재배포 금지