2012.11.23

안드로이드용 오픈소스 자바? ‘글쎄···’

Paul Krill | InfoWorld
모두가 알고 있듯이 구글과 오라클은 안드로이드 모바일 소프트웨어 플랫폼을 놓고 크게 충돌한 적이 있다. 안드로이드가 자바의 특허와 저작권을 침해했다며 오라클이 소송을 제기했고 결국 오라클은 패소했다.

그렇다면 현재 시점에서 오라클과 구글, 또는 둘 중 한 회사가 공식적으로 자바의 오픈소스화, 특히 안드로이드용 오픈소스 자바 개발에 나서는 것이 가능한 시나리오일까. 
이러한 가정은 최근 오픈JDK 온라인 뉴스그룹에서 큰 화제가 됐었다. 오픈JDK는 오픈소스 자바의 오라클 공식 인증 버전으로 안드로이드용 오픈JDK 버전이 나온다면 수백만명의 자바 개발들이 안드로이드 개발에 나설 수 있다는 전망도 나오고 있다. 

과연 이런 프로젝트들이 진행돼 자바 애플리케이션을 안드로이드 기기에서 실행하는 것이 가능해질까. 그러나 현 상황을 보면 아마도 그럴 가능성은 없는 것으로 보인다. 

실제로 안드로이드 진영의 반응을 예의주시하고 있는 오라클의 대변인과 구글 측은 이러한 가능성에 대해 답변을 거부했다. 자바 관련 다른 기업들도 그리 긍정적인 의견을 내놓지 않았다.

자바 가상머신 업체 아줄 시스템즈(Azul Systems)의 CEO 스콧 셀러스는 "안드로이드용 오픈JDK는 안드로이드에 맞춰진 자바 환경을 제공하기 때문에 자바 개발에 대해 잘 아는 사람들 사이에서 매우 긍정적인 파급효과를 가져올 것"이라며 "내 생각이 무엇이든 만약 실제로 안드로이드용 오픈소스 자바가 개발된다면 이것은 완전히 다른 문제가 될 것"이라고 말했다.
 
안드로이드 운영체제에서는 달빅(Dalvik) 가상 머신이 포함된 런타임을 통해 애플리케이션이 실행된다. 셀러스는 "안드로이드 환경은 자바와 유사하지만 서로 호환되지는 않는다"며 "이 때문에 달빅을 사용하려면 추가로 학습이 필요하다"고 말했다.
 
셀러스는 오히려 구글이 오픈JDK에 대해 별 관심이 없는 것으로 보고 있다. 그는 "구글은 안드로이드용 자바 환경에 대해 지속적으로 관심을 기울이지 않고 있다"고 지적했다. 그는 대표적인 근거로 오픈소스 라이센스의 차이를 지목했다. 오픈JDK는 모든 코드 수정을 커뮤니티 전체에 공개해야 하는 GNU GPL(General Public License)을 따르고 있다. 셀러스는 "GNU GPL은 일부 상용 업체들에게 매력적인 선택이 아니"라며 "반면 달빅은 이런 문제가 없는 아파치 라이센스를 따르고 있다"고 말했다.
 
기술적으로는 '문제없다'
자바의 창시자 제임스 고슬링은 안드로이드에서 오픈JDK를 구현하는 것은 기술적으로 아무런 문제가 없다고 말한다. 그는 "안드로이드는 단순히 ARM에서 사용하는 리눅스이고 이미 다양한 ARM/리눅스 버전 오픈JDK가 존재한다"며 "그래픽 통합 부분에서 기존의 바이너리와 충돌할 가능성이 있지만 수정이 불가능한 것은 아니고 오히려 성능과 호환성에 장점이 있다"고 말했다.
 
그러나 고슬링 역시 기업 측면에서 어려움을 우려하고 있다. 그는 "구글과 (모바일 업계의 경쟁자) 애플 모두 '담으로 둘러싸인 정원(Walled Garden, 개방된 환경이 아닌 통제된 환경에서 서비스와 콘텐츠를 제공하는 것)을 원하고 있다"며 "단지 구글이 애플보다 덜 노골적일 뿐"이라고 말했다.
 
이미 오픈JDK에서 안드로이드를 수용하는 방안이 진행되고 있다. 레드햇의 수석 소프트웨어 엔지니어인 마리오 토르는 "얼마 전 표준 오픈JDK에서 안드로이드 API를 포팅하는 '아이스드로봇'(IcedRobot)이라는 프로젝트를 시작했다"며 "자바 개발자들이 안드로이드 프레임워크를 사용할 수 있다면 흥미로울 것 같다"고 말했다. 그는 "기존 애플리케이션을 실행할 수 있으면서도 사람들이 잘 알고 있고 사용하기 쉬운 새로운 현대적인 API를 활용하는 것은 큰 장점"이라고 밝혔다.
 
그러나 이 프로젝트는 결국 중단됐다. 그는 "매우 높은 진입 장벽이 존재하기 때문에 초기 단계의 채택 가능성이 여전히 불확실하다"며 "이 때문에 개발에 참여할 사람들을 많이 모을 수 없었다"고 말했다. 아이스트로봇 프로젝트의 일환으로 진행된 다닐 달빅(Daneel Dalvik)-자바 바이트코드(Bytecode) 변환기는 여전히 관심을 받고 있다고 그는 덧붙였다.
 
유용성 문제
일부 전문가들은 안드로이드에서 사용할 수 있는 오픈JDK에 상당한 장점이 있다고 보지만 달빅을 사용하는 기존의 방식이 훨씬 낫다는 견해도 있다.

샌프란시스코 안드로이드 사용자 그룹과 샌프란시스코 자바 사용자 그룹의 운영자인 알렉산더 가젠타는 "(달빅을 이용한 방식은) 표준 자바는 물론 오픈JDK 기반의 자바보다도 메모리를 덜 차지한다"고 말했다. 오픈소스 기술 교육센터 마라카나(Marakana)의 기술전문가이기도 한 그는 애플리케이션을 샌드박스(Sandbox, 외부 프로그램을 보호된 영역에서 동작하도록 해 시스템이 부정하게 조작되는 것을 막는 것) 방식으로 실행하는 달빅의 보안 모델도 높이 평가한다. "달빅은 안드로이드가 제공할 수 있는 모델보다 기술적으로 더 우월하다"고 말했다.
 
오픈JDK를 통해 자바 개발자들이 안드로이드 세계에 들어올 수 있도록 하는 것에 대해 가젠타는 "자바 개발자들은 이미 안드로이드 개발에 필요한 언어를 알고 있다"며 이미 안드로이드용 앱을 개발할 수 있다고 말했다. 실제로 개발자들은 자바로 개발한 후 그 코드를 안드로이드용으로 패키징한다. 따라서 가젠타는 안드로이드용 오픈JDK는 볼 수 없을 것으로 전망한다.
 
확신이 없는 애널리스트들
소프트웨어 개발 분야의 애널리스트들도 현 상황을 그리 긍정적으로 판단하지 않는다. 포레스터 리서치의 애널리스트 존 라이머는 "(안드로이드 진영에 있어서) 자바는 오라클과의 전투에서 살아남았고 오픈JDK가 대안적인 자바 환경을 제공할 수 있지만 실제로 그런 일은 일어나지 않고 있다"며 "개발자들도 신경을 쓰지 않고 있고 오라클과 IBM 등은 서버로 돈을 벌기 때문에 클라이언트에는 별 관심이 없기 때문"이라고 말했다.

오픈JDK에 대해서는 뒤처진 로드맵을 제시하고 있고 모바일은 방해만 될 뿐이라고 혹평했다. 그는 "오라클은 현재 구글 달빅의 탄생과 같은 핵심적인 혁신을 금지하고 있다"며 "이 때문에 오라클의 협력사들도 오라클과 별개로 앱을 포팅하는 것이 불가능한 상황"이라고 말했다.
 
IDC의 애널리스트 알 힐와는 아직은 오라클이 안드로이드와 어떤 관계를 가지려고 하는지 알 수 없다고 말한다. 또한 오픈소스 라이선스 문제도 지적했다. 그는 "(안드로이드용 오픈JDK가) 이론적으로는 가능하지만 스마트폰의 모바일 전용 기능을 사용하기 위해서는 누군가 상당한 양의 저수준 코드(low-level code)를 개발하거나 포팅해야 한다"며 "GPL 라이선스는 업체가 오픈소스화하지 않은 코드로 돈을 버는 것을 금지하는 경우가 많기 때문에 (안드로이드용 오픈JDK 개발에 있어) 또 하나의 중요한 요소로 작용할 것"이라고 말했다. 
 
반면 셀러스는 안드로이드용 오픈JDK가 또다른 기회가 될 수 있다고 말한다. 그는 "해당 커뮤니티에 속한 사람들은 아마도 자신만의 결정을 내릴 것"이라며 "휴대폰 제조업체들도 가만히 있지 만은 않을 것"이라고 말했다. editor@idg.co.kr


2012.11.23

안드로이드용 오픈소스 자바? ‘글쎄···’

Paul Krill | InfoWorld
모두가 알고 있듯이 구글과 오라클은 안드로이드 모바일 소프트웨어 플랫폼을 놓고 크게 충돌한 적이 있다. 안드로이드가 자바의 특허와 저작권을 침해했다며 오라클이 소송을 제기했고 결국 오라클은 패소했다.

그렇다면 현재 시점에서 오라클과 구글, 또는 둘 중 한 회사가 공식적으로 자바의 오픈소스화, 특히 안드로이드용 오픈소스 자바 개발에 나서는 것이 가능한 시나리오일까. 
이러한 가정은 최근 오픈JDK 온라인 뉴스그룹에서 큰 화제가 됐었다. 오픈JDK는 오픈소스 자바의 오라클 공식 인증 버전으로 안드로이드용 오픈JDK 버전이 나온다면 수백만명의 자바 개발들이 안드로이드 개발에 나설 수 있다는 전망도 나오고 있다. 

과연 이런 프로젝트들이 진행돼 자바 애플리케이션을 안드로이드 기기에서 실행하는 것이 가능해질까. 그러나 현 상황을 보면 아마도 그럴 가능성은 없는 것으로 보인다. 

실제로 안드로이드 진영의 반응을 예의주시하고 있는 오라클의 대변인과 구글 측은 이러한 가능성에 대해 답변을 거부했다. 자바 관련 다른 기업들도 그리 긍정적인 의견을 내놓지 않았다.

자바 가상머신 업체 아줄 시스템즈(Azul Systems)의 CEO 스콧 셀러스는 "안드로이드용 오픈JDK는 안드로이드에 맞춰진 자바 환경을 제공하기 때문에 자바 개발에 대해 잘 아는 사람들 사이에서 매우 긍정적인 파급효과를 가져올 것"이라며 "내 생각이 무엇이든 만약 실제로 안드로이드용 오픈소스 자바가 개발된다면 이것은 완전히 다른 문제가 될 것"이라고 말했다.
 
안드로이드 운영체제에서는 달빅(Dalvik) 가상 머신이 포함된 런타임을 통해 애플리케이션이 실행된다. 셀러스는 "안드로이드 환경은 자바와 유사하지만 서로 호환되지는 않는다"며 "이 때문에 달빅을 사용하려면 추가로 학습이 필요하다"고 말했다.
 
셀러스는 오히려 구글이 오픈JDK에 대해 별 관심이 없는 것으로 보고 있다. 그는 "구글은 안드로이드용 자바 환경에 대해 지속적으로 관심을 기울이지 않고 있다"고 지적했다. 그는 대표적인 근거로 오픈소스 라이센스의 차이를 지목했다. 오픈JDK는 모든 코드 수정을 커뮤니티 전체에 공개해야 하는 GNU GPL(General Public License)을 따르고 있다. 셀러스는 "GNU GPL은 일부 상용 업체들에게 매력적인 선택이 아니"라며 "반면 달빅은 이런 문제가 없는 아파치 라이센스를 따르고 있다"고 말했다.
 
기술적으로는 '문제없다'
자바의 창시자 제임스 고슬링은 안드로이드에서 오픈JDK를 구현하는 것은 기술적으로 아무런 문제가 없다고 말한다. 그는 "안드로이드는 단순히 ARM에서 사용하는 리눅스이고 이미 다양한 ARM/리눅스 버전 오픈JDK가 존재한다"며 "그래픽 통합 부분에서 기존의 바이너리와 충돌할 가능성이 있지만 수정이 불가능한 것은 아니고 오히려 성능과 호환성에 장점이 있다"고 말했다.
 
그러나 고슬링 역시 기업 측면에서 어려움을 우려하고 있다. 그는 "구글과 (모바일 업계의 경쟁자) 애플 모두 '담으로 둘러싸인 정원(Walled Garden, 개방된 환경이 아닌 통제된 환경에서 서비스와 콘텐츠를 제공하는 것)을 원하고 있다"며 "단지 구글이 애플보다 덜 노골적일 뿐"이라고 말했다.
 
이미 오픈JDK에서 안드로이드를 수용하는 방안이 진행되고 있다. 레드햇의 수석 소프트웨어 엔지니어인 마리오 토르는 "얼마 전 표준 오픈JDK에서 안드로이드 API를 포팅하는 '아이스드로봇'(IcedRobot)이라는 프로젝트를 시작했다"며 "자바 개발자들이 안드로이드 프레임워크를 사용할 수 있다면 흥미로울 것 같다"고 말했다. 그는 "기존 애플리케이션을 실행할 수 있으면서도 사람들이 잘 알고 있고 사용하기 쉬운 새로운 현대적인 API를 활용하는 것은 큰 장점"이라고 밝혔다.
 
그러나 이 프로젝트는 결국 중단됐다. 그는 "매우 높은 진입 장벽이 존재하기 때문에 초기 단계의 채택 가능성이 여전히 불확실하다"며 "이 때문에 개발에 참여할 사람들을 많이 모을 수 없었다"고 말했다. 아이스트로봇 프로젝트의 일환으로 진행된 다닐 달빅(Daneel Dalvik)-자바 바이트코드(Bytecode) 변환기는 여전히 관심을 받고 있다고 그는 덧붙였다.
 
유용성 문제
일부 전문가들은 안드로이드에서 사용할 수 있는 오픈JDK에 상당한 장점이 있다고 보지만 달빅을 사용하는 기존의 방식이 훨씬 낫다는 견해도 있다.

샌프란시스코 안드로이드 사용자 그룹과 샌프란시스코 자바 사용자 그룹의 운영자인 알렉산더 가젠타는 "(달빅을 이용한 방식은) 표준 자바는 물론 오픈JDK 기반의 자바보다도 메모리를 덜 차지한다"고 말했다. 오픈소스 기술 교육센터 마라카나(Marakana)의 기술전문가이기도 한 그는 애플리케이션을 샌드박스(Sandbox, 외부 프로그램을 보호된 영역에서 동작하도록 해 시스템이 부정하게 조작되는 것을 막는 것) 방식으로 실행하는 달빅의 보안 모델도 높이 평가한다. "달빅은 안드로이드가 제공할 수 있는 모델보다 기술적으로 더 우월하다"고 말했다.
 
오픈JDK를 통해 자바 개발자들이 안드로이드 세계에 들어올 수 있도록 하는 것에 대해 가젠타는 "자바 개발자들은 이미 안드로이드 개발에 필요한 언어를 알고 있다"며 이미 안드로이드용 앱을 개발할 수 있다고 말했다. 실제로 개발자들은 자바로 개발한 후 그 코드를 안드로이드용으로 패키징한다. 따라서 가젠타는 안드로이드용 오픈JDK는 볼 수 없을 것으로 전망한다.
 
확신이 없는 애널리스트들
소프트웨어 개발 분야의 애널리스트들도 현 상황을 그리 긍정적으로 판단하지 않는다. 포레스터 리서치의 애널리스트 존 라이머는 "(안드로이드 진영에 있어서) 자바는 오라클과의 전투에서 살아남았고 오픈JDK가 대안적인 자바 환경을 제공할 수 있지만 실제로 그런 일은 일어나지 않고 있다"며 "개발자들도 신경을 쓰지 않고 있고 오라클과 IBM 등은 서버로 돈을 벌기 때문에 클라이언트에는 별 관심이 없기 때문"이라고 말했다.

오픈JDK에 대해서는 뒤처진 로드맵을 제시하고 있고 모바일은 방해만 될 뿐이라고 혹평했다. 그는 "오라클은 현재 구글 달빅의 탄생과 같은 핵심적인 혁신을 금지하고 있다"며 "이 때문에 오라클의 협력사들도 오라클과 별개로 앱을 포팅하는 것이 불가능한 상황"이라고 말했다.
 
IDC의 애널리스트 알 힐와는 아직은 오라클이 안드로이드와 어떤 관계를 가지려고 하는지 알 수 없다고 말한다. 또한 오픈소스 라이선스 문제도 지적했다. 그는 "(안드로이드용 오픈JDK가) 이론적으로는 가능하지만 스마트폰의 모바일 전용 기능을 사용하기 위해서는 누군가 상당한 양의 저수준 코드(low-level code)를 개발하거나 포팅해야 한다"며 "GPL 라이선스는 업체가 오픈소스화하지 않은 코드로 돈을 버는 것을 금지하는 경우가 많기 때문에 (안드로이드용 오픈JDK 개발에 있어) 또 하나의 중요한 요소로 작용할 것"이라고 말했다. 
 
반면 셀러스는 안드로이드용 오픈JDK가 또다른 기회가 될 수 있다고 말한다. 그는 "해당 커뮤니티에 속한 사람들은 아마도 자신만의 결정을 내릴 것"이라며 "휴대폰 제조업체들도 가만히 있지 만은 않을 것"이라고 말했다. editor@idg.co.kr


X