개요, 안드로이드 개발 언어
안드로이드 플랫폼이 공개되었을 때부터 자바가 주류 언어로 사용되었다.
그러나 어느 순간부터 안드로이드 개발 언어가 자바에서 코틀린(Kotlin)으로 변경되었다.
이번 포스팅에서는 안드로이드에서 사용하던 개발 언어가 왜 자바에서 코틀린으로 바뀌는데 어떤 것이 영향을 주었는지에 대한 배경과 이유를 간단히 살펴보겠다.
* 이 포스팅은 자바 라이선스로 관련된 분쟁을 다루며, 오로지 이 사건으로만 인해서 코틀린을 권장하고 있다고는 보기 어렵습니다.
자바 전쟁의 시작
자바 플랫폼을 개발하여 1996년 최초로 배포한 Sun Microsystems, Inc.(썬 마이크로시스템)을 2009년에 오라클이 인수하였다. 이 후 오라클은 세 가지 유형의 라이선스를 제공하게 되는데, 그 유형 중 하나의 라이선스가 자바 코드를 자신들의 상품에 맞게 바꾸어 이용하고 자신들이 만든 코드를 비밀로 유지하기를 원하는 기업들을 위한 상업적 라이선스로 로열티 지급이 요구되었다. 오라클이 2010년 구글을 상대로 '구글의 안드로이드'(Android) 모바일 운영 체계가 37개의 자바 API에 대한 저작권을 침해한다'고 주장하며 저작권 침해 소송을 제기하면서 시작되었다.
오라클 vs 구글
오라클과 구글은 2010년부터 지식 재산권 침해에 따른 사용료 90억 달러(한화 10조원)을 요구하며 소송을 제기했다.
각 기업의 입장
- 오라클 : 구글이 자바 응용프로그램인터페이스(API) 코드 37종의 구조와 순서, 조직을 베끼는 등 부적절한 방법으로 안드로이드를 설계했다
- 구글 : 업계 관행이고 기술 발전을 위해 좋은 일이다.
해당 자바 코드가 저작권 대상인지 놓고 벌어진 공방
- 2012년, 저작권 대상이 아님 (캘리포니아 북부 연방지법)
- 2014년, 오라클의 저작권을 인정 (연방항소법원)
구글이 라이선스 계약 없이 해당 자바 코드를 사용하는 것이 '공정 이용' 범위에 포함되는지로 다시 재판
- 1심 : 구글 승리, API는 미리 규정한 기능을 수행하기 위한 긴 명령어 위계구조이기 때문에 따라서 저작권 보호대상이 아니라고 판단
- 2심 : 오라클 승리, 자바 API도 저작권 보호 대상
이렇게 하여 소송은 저작권 침해와 공정이용 두 개로 나눠지게 되었다.
여기서 관건은 구글이 자바 API를 이용한 것이 저작권법 상의 공정이용에 해당되는지의 여부가 중요한데,
공정이용이 인정될 경우 저작권을 침해하더라도 배상 의무를 지지 않기 때문이다.
그러나 대법원은 자바 API 코드에 대한 저작권을 인정하면서도 그 부분에 대한 공식 판결은 하지 않았다.
코틀린, 안드로이드 공식 언어로 지정
안드로이드 개발에 자바를 계속 사용할 수 있을지 여부에 대한 불확실성이 야기되었다.
만약 구글이 소송에서 패소 했다면, 안드로이드 개발에 자바 사용은 제약이 생겼을 수도 있다.
이러한 불확실성을 해소하기 위해서 구글은 안드로이드 개발을 위한 새로운 언어로 코틀린을 채택했을 가능성이 있다.
이는 오라클과의 Java API 저작권 분쟁의 여파로 보는 시각이 많다.
2017년 6월 8일, 구글에서는 안드로이드의 공식 개발 언어로 코틀린을 채택하였다.
또한, 2019년 1월부터 구글 내부의 안드로이드 프로젝트에서도 자바 대신 코틀린을 사용하며
안드로이드 공식 문서의 샘플 코드도 자바보다 코틀린으로 작성된 예제가 먼저 나온다.
그래서 코틀린이 뭔데?
2011년에 공개한 오픈 소스 프로그래밍 언어로 JVM(Java Virtual Machine) 기반의 언어이다.
자바와 유사하지만 더 간결한 문법과 다양한 기능을 추가하였고, 무엇보다도 자바와의 상호 운용이 100% 지원된다.
즉, 기존 자바 언어로 동작하던 환경에서도 코틀린 언어로도 100% 호환이 된다는 것이다.
2018년 카카오가 카카오톡 메시징 서버에 코틀린을 사용해본 결과, 코드량이 비약적으로 감소하고 생산성이 대폭 향상되었다고 한다.
* JVM : Java Virtual Machine, 자바 가상 머신이라고 부르며 자바로 개발한 프로그램을 컴파일하여 만들어지는 바이트 코드를 실행하기 위한 가상머신
최종 승자는?
소송 결과는 두 회사 뿐 아니라 IT 시장에도 엄청난 영향이 미칠 수 있다.
판결에 따라서 소스코드를 기반으로 소프트웨어를 개발하는 관행을 바꿀 가능성도 존재한다.
마이크로소프트(MS) 같은 기업이나 전자프론티어재단(EEF) 같은 시민 단체들이 구글 쪽 입장을 지지하고 나선 이유도 API까지 저작권의 대상으로 삼을 경우 개발자 커뮤니티가 직접적으로 영향을 받을 것으로 우려하고 있기 때문이다.
길고 길었던 10년동안 계속된 세기의 자바 저작권 소송은 2021년, 미국 연방대법원은 자바 저작권 소송에서 6대2로 구글의 승소를 판결했다. 결국 구글이 다시 승부를 뒤집으면서 최종 승리했다.
참고
- 한국저작권위원회 - 구글 VS 오라클, 10년을 끌어온 '자바 전쟁'
- 나무위키 - 자바 가상 머신
- Google for Developers - 코틀린이 안드로이드의 공식 언어로 추가되었습니다
- 나무위키 - 코틀린
- ZDNet Korea - 구글·오라클, 美 대법원서 '자바전쟁' 최종 승부
- ZDNet Korea - 구글, '10년 자바전쟁' 오라클에 최종 승리
- 연합뉴스 - 10년 끈 구글 대 오라클 '자바 사용료' 소송, 구글 최종 승리(종합)