구글이 안드로이드 차기 버전에 오라클의 저작권을 침해할 소지가 있는 자바API를 걷어내고 오픈소스로 대체하기로 했다는 소식이 나왔다. 변화가 이뤄진다면 안드로이드 마시멜로의 후속판이 될 '안드로이드N(Android N)' 버전부터 적용된다.
구글은 현재 오라클과 자바 특허와 API 저작권 시비로 5년간 소송 중이다. 구글은 안드로이드의 라이브러리를 자체 개발했지만, 그게 오라클이 설계한 자바API의 저작권을 침해했다는 판결을 받았다. 구조, 순서, 구성이 같다는 이유에서였다. 이후 오라클은 법정에서 구글이 안드로이드를 만들면서 자바API 저작권을 침해해 막대한 이익을 봤으니 상응하는 배상을 받아야겠다는 입장을 보여 왔다.
안드로이드가 자체 개발한 자바 호환 라이브러리를 쓰지 않기로 한 이유는, 구글이 기존 안드로이드를 유지할 경우 오라클과의 소송에서 문제가 된 법적 책임을 100% 면키 어렵다고 판단한 결과일 수도 있다. 다만 구글이 이를 통해 안드로이드에 얽힌 저작권 문제를 온전히 피해갈 수 있을지는 두고 볼 일이다.
29일(현지시각) 벤처비트의 에밀 프로탈린스키 뉴스에디터는 "구글이 차기 안드로이드 버전에 자바API용 오픈JDK(OpenJDK) 라이브러리를 쓰기로 했다고 확인해 줬다"며 "구글은 안드로이드에 구현된 오라클 자바API 호환 라이브러리를 '오픈JDK(OpenJDK)' 라이브러리로 변경하는 중"이라고 보도했다.
오픈JDK는 오라클의 상용판 자바 라이브러리 '자바개발도구(JDK)'의 오픈소스 라이선스 버전이다. 오라클 JDK와 오픈JDK는 라이선스 종류가 다를 뿐, 그 코드는 거의 같다. 오라클은 JDK를 만들 때 오픈JDK에 없는 기능을 더하거나 있는 기능의 코드를 재작성하는 식으로 개선한다.
프로탈린스키 에디터에 따르면 구글은 "안드로이드N은 기존 안드로이드에 포함된 자바API 구현체 대신에 오로지 오픈JDK에만 의존할 것"이라 밝혔으며 "차기 안드로이드 릴리즈에 자바 언어 라이브러리를 오픈JDK 기반으로 이전해 개발자들이 앱과 서비스를 만들기 위한 범용 코드베이스를 만들 계획"이라고 설명했다.
[☞참조링크: Google confirms next Android version won’t use Oracle’s proprietary Java APIs]
변화를 처음 감지한 곳은 실리콘밸리 유명 스타트업 액셀러레이터인 'Y컴비네이터'에서 운영하는 테크뉴스사이트 '해커뉴스'였다.
하루 앞서 해커뉴스는 구글이 운영하는 구글깃 사이트상의 안드로이드 오픈소스 프로젝트에서 발견된 "수상한 안드로이드 코드베이스 커밋" 내역을 소개했다. 안드로이드 플랫폼의 코어 라이브러리에 오픈JDK 파일을 임포트(import)한 흔적이었다.
[☞참조링크: Mysterious Android codebase commit]
[☞참조링크: 51b1b6997fd3f980076b8081f7f1165ccc2a4008]
해당 내역에 따르면 구글은 안드로이드 플랫폼의 코어 라이브러리에 오픈JDK 파일을 임포트하는 조치에 대해 최소 몇달에 걸친 기술적 검토를 거쳤을 것으로 보인다.
코드 변경안이 최초 작성된 시점은 2015년 2월 16일이다. Piotr Jastrzebski라는 구글 직원이 작성했다. 실제 커밋이 이뤄진 시점은 2015년 11월 11일이다. 커미터는 Narayan Kamath라는 사람인데, 역시 구글 직원이다.
구글이 안드로이드에 오픈JDK 라이브러리를 사용하면 개발자들이 앱을 만들 때 기반으로 삼는 안드로이드 코드를 단순화할 수 있다. 기존 안드로이드 라이브러리와 오픈JDK, 두 벌의 라이브러리를 하나의 공통 코드 기반으로 바꿀 수 있다는 얘기다.
관련기사
- 오라클, 자바9 출시 6개월 연기2015.12.30
- 구글, 자바 소송 최악의 시나리오 피했다2015.12.30
- 자바9 내년 9월 나온다2015.12.30
- "안드로이드에서 달빅 가상머신 사라진다"2015.12.30
이렇게 생각할 수 있다. 처음부터 안드로이드용 라이브러리를 오픈JDK 기반의 한 벌로 제공했으면 되지 않나? 진작 했으면 나았을 조치를 왜 이제 와서? 구글이 안드로이드를 본격적으로 상용화한 게 2010년대 초반이었음을 고려한다면, 이제 와서 라이브러리를 한 벌로 줄여 코드를 단순화하겠다는 설명은 어딘지 궁색한 측면이 있다.
하지만 구글도 할 말이 없지는 않은 듯하다. 벤처비트는 관련 질의에 대해 구글이 지난해 나온 자바8과 해당 언어에 추가된 신기능 '람다' 등을 언급했다며, 구글은 이런 자바 언어의 신기능과 개선점을 바탕에 둔 더 큰 영향력을 활용하기 위해 오픈JDK에 많은 자원을 투입하고 싶어한다고 전했다.