본문 바로가기

안드로이드

구글 android 뒤에서 들리는 Sun의 곡소리

구글 android 뒤에서 들리는 Sun의 곡소리

제목을 조금 낚시성으로 뽑아 보았습니다. :-) 얼마전 공개된 구글 android에는 dalvik 이라는 다소 희한한 이름의 Java VM이 올라가 있습니다. 이것은 user application 관점에서는 매우 핵심적인 부분입니다. 왜냐면 android의 app는 java로 만들어서 올리게 되어 있기 때문입니다. dalvik java VM은 java 코드를 android 폰 위에서 돌아가도록 한 것이고요. 구글이 이걸 왜 넣었냐면 개발자가 android 폰 위에 proprietary application을 "자유롭게" 올릴 수 있도록 하기 위해서입니다.

원래 proprietary application을 자유롭게 만들 수 있는것 아닌가? 하고 생각하실 수 있는데 사실은 그렇지 않습니다. 이것을 이해하기 위해선 Sun이 java를 오픈소스화한 것을 좀더 살펴보셔야 합니다. Sun은 얼마전 java를 GPLv2로 오픈소스화하였습니다. LGPL이 아니고 GPL입니다. 즉 java 그 자체뿐만 아니라 java 컴파일러 등과 링크되는 java application도 모두 GPL이 되어야 한다는 뜻입니다. 이렇게 되면 아무도 java로 proprietary app를 못만들겠죠?

그래서 Sun은 java를 GPLv2로 오픈소스화하면서도 Java SE에는 예외를 허용하여 java로 짠 application은 GPL이 아니어도 되도록 하였습니다. 그런데 이 예외가 ME(Mobile Edition)에는 허용되어 있지 않습니다. 따라서 android 폰이 Sun의 Java ME를 이용하게 된다면 구글은 app가 proprietary가 될 수 있게 하기 위해 Sun과 별도의 계약을 맺었어야 할 것입니다. 수많은 핸드폰 관련 개발사들이 Java ME를 사용하면서 Sun에 이 예외조항(proprietary application을 올릴 수 있다는...)을 허용받기 위해 로열티를 지불하고 있을 것입니다. 그렇지 않으면 GPLv2로 예외가 없기 때문에 ME용 app도 모두 GPLv2가 되어야 합니다. 이게 바로 Sun의 핵심적인 수익원입니다. 일종의 듀얼 라이센스라고도 볼 수 있죠. 구글은 당연히 이게 싫겠죠. Sun에 묶이게 되니까... 그래서 Sun의 Java ME 관련 GPL의 의무사항을 피해가기 위해 dalvik java VM을 별도로 개발해서 넣은 것입니다.

android 플랫폼의 핵심은 누가 뭐래도 사용자들의 눈에 보이는 application을 만들 수 있는 framework일 것이고 그 핵심에는 이 dalvik java VM이 있습니다. 구글이 아파치 라이센스로 내놓겠다고 한 것에는 이 dalvik VM이 분명히 포함될 것입니다. (아직은 정식 버전이 아니라 android 전반적으로 라이센스가 정해지진 않았습니다.)

다만 Sun 입장에서는 dalvik 때문에 자기네들의 주요 수익원(Java ME)이 날아가게 생겼으므로 조만간 어떤 식으로든 법적인 대응을 할 것으로 생각되고, 관련해서 IP 분쟁이 예상됩니다. 핸드폰 개발사 입장에서는 이 dalvik VM이 쓸만하고, 기존 application들이 문제없이 잘 동작하며, Sun과 지적재산 관련해서 문제가 없는 것이 확인된다면 향후 핸드폰에 들어가는 java VM을 이 dalvik으로만 교체해도 개발사들이 Sun에 제공하는 로열티를 내지 않아도 되어 엄청난 금액을 절감할 수 있을 것입니다. Sun의 입장에선 당연히 초난감한 상황이 되는 거고요.

아마 지금쯤 Sun에서는 난리가 났을 겁니다. 관련 업계에 계신 분들의 많은 의견 부탁드립니다... :-)

업데이트: 다시 생각해 보니 Sun 입장에서도 그다지 손해볼 것이 없네요. http://kldp.org/node/88218#comment-417929 를 참고하세요...