구글과 오라클 간 자바 API의 분쟁 역사 1- (1)

The history of Oracle America, Inc. v. Google, Inc. (1)


▪ 1995년 썬(SUN)이 발표한 자바 플랫폼이 SW업계에서 널리 쓰이게 되면서, 썬은 자바 SE(Standard Edition)와 자바 ME(Micro Edition)를 GPL(General Public License)로 공개하였고, 휴대기기용 자바 ME의 사용권 사업에 집중하였음
▪ 구글은 2005년부터 진행했던 썬과의 자바 사용권 협상이 최종적으로 결렬되자, 2007년 아파치 하모니 프로젝트를 기반으로 개발한 스마트폰용 플랫폼 안드로이드를 아파치 사용권으로 공개하여 널리 보급하였음
▪ 2009년에 오라클은 썬을 인수하여 자바 관련 특허권과 저작권을 양도받은 후, 2010년 구글을 상대로 특허권 및 저작권 침해소송을 제기하였는데, 2012년 1심 판결에서 37개 자바 API(Application Programming Interface)의 저작권 침해와 특허권 침해 부분 모두 기각되었음
▪ 1심 판결에서 배심원은 자바 API의 저작권 침해를 인정했으나 공정이용 여부는 결론을 내리지 못한 데 반해, 1심 판사는 자바 API의 저작권을 인정하지 않았음


▪ After the Java platform announced by Sun in 1995 became widespread in the SW industry, Sun opened Java SE and Java ME as GPL licenses and focused its licensing business on Java ME for mobile devices.
▪ After the Java license negotiation between Google and Sun since 2005 was finally broken, Google developed and opened Android based on the Apache Harmony project under the Apache license in 2007.
▪ In 2009, Oracle got patents and copyrights for Java by acquiring Sun, and in 2010 filed a patent and copyright infringement lawsuit against Google. In the first trial in 2012, the copyright infringement of 37 Java APIs and the patent infringement were all dismissed.
▪ In the first trial, the jury found that Google had infringed on the copyright related to the Java API, but did not conclude whether it was fair use, whereas the trial judge Alsup determined that the APIs were not copyrightable.
▪ The government may be able to intervene in terms of increasing consumer welfare, such as capping the fluctuation prices of specific industries in response to the issues from the consumer and firm perspectives.


■ 자바의 등장부터 오라클의 썬(Sun) 인수까지

  • 1995년 미국의 썬 마이크로시스템즈(Sun Microsystems, 이하‘썬’이라 함)가 발표한 자바(Java) 플랫폼은 간결한 프로그래밍 언어의 장점과 함께, 어떤 운영체제 또는 플랫폼에서든 동작할 수 있는 응용 프로그램을 손쉽게 만든다는‘Write Once, Run Anywhere’라는 철학으로 인해 SW업계의 환영을 받으면서 널리 사용되었음
  • 자바 플랫폼은 크게 자바 프로그래밍 언어, 자바 컴파일러, 자바 가상기계, 자바 프로그래밍 라이브러리, 기타 유틸리티 프로그램들로 구성됨

- 탑재되는 기기나 환경에 따라서 크게 몇 종류로 구분되는데, 일반적인 PC 또는 소비자를 대상으로 하는 Standard Edition(이하‘SE’), 휴대형 기기용 Micro Edition(이하‘ME’), SE를 기반으로 서버에서 동작하는 자바 프로그램 개발을 위한 장애복구, 분산컴퓨팅 등의 기능을 가진 Enterprise Edition(이하‘EE’)으로 구분됨

  • 썬이 개발한 자바 플랫폼이 널리 쓰이면서, 자바 플랫폼을 공개하여 더욱 자유롭게 이용하기를 원하는 개발자들의 목소리가 높아져 갔고, 썬은 이에 대응해 1998년 Java Community Process라는 것을 만들어2, JSR(Java Specification Request)이라는 자바 플랫폼의 기술적 표준의 발전에 다양한 이해관계자의 의견을 반영하였으나, 자바 플랫폼 관련 특허권과 저작권은 썬이 계속 보유함
  • 2005년 스마트폰용 플랫폼을 개발하던 안드로이드 회사를 인수한 구글은 썬과 자바 플랫폼 이용에 관한 협상을 벌였으나, 최종적으로 결렬되어, 썬은 자바 플랫폼 중 Standard Edition을 Open JDK라는 이름으로 GPL로 공개하였음
  • 구글은 아파치 재단(Apache Software Foundation)이 자바 플랫폼의 공개SW판(Version)으로 개발하던‘Apache Harmony’를 토대한 새로운 플랫폼 개발에 착수해서 2007년에 베타버전을 공개하였고, 이때 일부 자바 기술을 사용했다고 명시하기도 하였음

<표 1> 오라클의 썬 인수까지 주요 사건 일람표

  • 자바 사용권 협상 당시, 구글은 안드로이드 개발에 썬의 간섭을 막고 제3자가 이용할 수 있도록 소스코드를 공개하고자 하였으나, 썬은 자바를 변형하여 구글의 독자적인 플랫폼을 만들어서 자바 플랫폼 간의 호환성을 깨뜨리는 것이 구글의 숨은 의도일 것으로 생각해서, 당시 썬이 작업하고 있던 공개SW용 자바 플랫폼인 Open JDK는 불완전하였기 때문에 협상은 최종적으로 결렬되었음

- 이후 발표된 Open JDK는 GPL 사용권으로 소스코드가 공개되어 있었지만 휴대형 기기 등의 내장형 시스템에는 사용할 수 없는 제약조건이 있었고, 특정 업체가 개발한 자바 호환 플랫폼이 자바 SE의 표준을 만족하는지를 시험할 수 있는 자바 기술호환성 키트(Kit)를 모바일용으로는 사용할 수 없었음

  • 썬은 Open JDK을 발표하면서 사업의 주력을 휴대폰 등의 휴대형 기기용 자바 플랫폼에 사용권을 부여하여 수익을 올리는 것으로 전략을 변경함

- 썬이 일반 PC용 Open JDK(자바SE의 공개SW버전)와 휴대기기용 자바ME를 GPL로 공개하였는데, 구글의 안드로이드는 Open JDK 중 일부 소스코드를 사용하였음에도 이와는 다른 아파치 사용권으로 공개한 것임

  • 구글이 내놓은 안드로이드는 자바 프로그래밍 언어를 사용해 응용프로그램을 작성할 수 있었고, 대다수 통신사와 휴대폰 제조사가 채택하면서 널리 퍼져 나갔음

- 구글이 아파치 2.0 사용권에 따라 공개한 안드로이드16의 라이브러리에는‘ 아파치 하모니’프 로젝트로부터 가져온 37개 Java API 패키지(packages)17의 선언문에 해당하는 약 11,500라인의 핵심적인 소스코드가 있었는데, 이 소스코드는 Open JDK의 37개 자바 API 패키지와 동일하였음

  • 2009년 4월, 오라클은 썬을 74억 달러에 인수하였고, 이 과정에서 자바에 관한 모든 권리도 양도받았음

■ 오라클의 소송제기와 1심 판결18까지19

  • 썬의 인수를 마무리한 오라클은 2010년 구글을 상대로 자바에 관한 특허 7개와 자바 API에 대한 저작권을 침해했다고 주장하면서 손해배상 및 이용금지 가처분을 청구하는 소송을 미국 캘리포니아주 샌프란시스코에 자리한 북부연방지방법원에 제기했으며, 손해액을 14억~61억 달러로 추산하였음

- 연방지방법원은 두 회사 간의 합의를 유도하였으나, 결렬되어 2012년 4월 16일부터 앨섭 판사가 주재하는 1심 재판이 열렸음

- 약 두 달간 진행된 1심 재판의 결과는 다음과 같음

1. 배심원은 재판에서 쟁점이 된 오라클의 자바 특허 2개에 대한 침해주장은 기각
2. 배심원은 rangeCheck 메소드와 일부 테스트 파일에 대한 저작권 침해를 인정했으며, 구글과 오라클은 손해배상액은‘0’달러로 산정하기로 합의
3. 37개 자바 API 패키지의 선언문을 복제한 것에 대해서 배심원은 저작권 침해를 인정했으나 공정이용 여부에 대해서는 결론내리지 못함
4. 앨섭 판사는 API는 저작권법의 보호대상이 아니라고 판결하면서 37개 자바 API의 선언문을 복제한 것은 상호운용성의 확보를 위해 필요한 것이었다고 덧붙임

<표 2> 오라클의 소송제기와 1심 판결까지의 주요 사건 일람표

<그림 1> 오라클이 제시한 자바 API 저작권 침해의 증거 중 일부

<그림 2> 1심 판결문이 제시한 자바 API의 전형적인 구조

<그림 3> 저작권침해의 증거로 널리 알려진 rangeCheck 메소드

■ 시사점

  • 그동안 1심 재판의 결과는 구글의 완승으로 많이 알려졌으나, 배심원들이 37개 자바 API 패키지의 선언문 복제에 대해 저작권 침해를 인정한 것과 앨섭 판사의 1심 판결이 달랐던 것은 여전히 분쟁의 가능성을 담고 있었다고 볼 수 있음

- 앨섭 판사는 다음과 같은 논리로 판결하였음

(1) 이름이나 짧은 문구는 저작권법의 보호대상이 아님
(2) 자바의 규칙상 동일한 기능을 제공하는 메소드는 메소드의 헤더부분이 동일해야 함
(3) 어떤 아이디어나 기능을 표현하는 방법이 단 하나만 있을 때에는 어느 누구도 그 표현을 독점할 수 없음
(4) 자바의 명령문 구조는 시스템 혹은 동작방법에 해당해 저작권법의 보호대상이 아님
(5) 37개의 자바 API 패키지를 복제한 것은 저작권 침해가 아님

- 그러나 해당 판결에서는 다음과 같은 모순이 존재함

(1) 안드로이드의 메소드와 클래스의 이름들이 자바 내의 상응하는 메소드나 클래스의 이름과 달라도 동일하게 동작하게 만들 수 있음
(2) 자바의 명령문 구조는 창의적인 요소가 있으며, 동일한 기능을 제공하는 다양한 구조가 존재할 수 있다고 인정하여, 아이디어나 기능을 표현하는 방법이 단 하나 뿐이라는 부분과 모순을 보임

<표 3> 1심 판결문 내의 요약문과 한글 번역


1  본 내용은 영문 위키피디아‘Oracle America, Inc. v. Google, Inc.’의 내용과 오라클 사의 Java history사이트를 기초로 하여 다수의 자료를 취합하여 정리한 것으로, 본고는 자바의 등장부터 1심판결까지를 다루며, 항소심판결부터는 다음 호에서 다룰 예정입니다. https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google,_Inc. , http://oracle.com.edgesuite.net/timeline/java/
2  https://en.wikipedia.org/wiki/Java_Community_Process
3  https://web.archive.org/web/20080530073139/http://java.sun.com/features/1998/05/birthday.html
4  https://web.archive.org/web/20070310235103/http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml
5  Application Programming Interface의 줄임말. 운영 체계(OS)에서 응용 프로그램을 만들 수 있도록 제공하는 소프트웨어. 응용 프로그램은 API를 사용하여 OS 따위가 가지고 있는 다양한 기능을 이용할 수 있음 (출처 : TTA정보통신용어사전) 링크 : http://100.daum.net/encyclopedia/view/55XXXXXX3124
6  각각 Connected Device Configuration, Connected Limited Device Configuration, Mobile Information Device Profile의 줄임말임 
7  http://www.itworld.co.kr/news/75255
8  http://www.itworld.co.kr/news/72229 , http://news.inews24.com
9  협 상 당시에 논의된 금액 범위는 3,000~5,000만 달러였던 것으로 보인다. https://www.wired.com/2012/04/eric-schmidt-oracle-trial/
10 https://en.wikipedia.org/wiki/OpenJDK
11 https://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition
12 https://www.apache.org/jcp/sunopenletter.html
13 http://www.ddaily.co.kr
14  자바 언어로 작성된 라이브러리가 GPL 사용권으로 배포되면 이에 기반한 자바 응용프로그램도 GPL을 적용 받아서 소스코드를 공개해야 하는 문제가 있었는데, 해당 라이브러리의 이용을 활성화하고자 라이브러리를 사용한 응용프로그램의 소스코드를 공개할 필요가 없도록 하는 예외규정을 적용한 것임
15 http://icedtea.classpath.org/openjdk/java/faq.jsp.html
16  https://source.android.com/license
17  패키지는 자바 언어로 작성된 클래스, 인터페이스들 중 관련되는 것들을 모은 집합을 말함 37개의 핵심적인 Java API Packages는 다음과 같음

18  1심 판결문은 링크 참조, https://www.gpo.gov/fdsys/search
19  주요사건 일람표 중 일부는 http://www.itworld.co.kr/news/75255 를 참조함
20  US Patents 5,966,702, 6,061,520, 6,125,447, 6,192,476, 6,910,205, 7,426,720, RE(재발행) 38,104
21  US Patents 5,966,702, 6,061,520, 6,125,447, RE 38,104. https://www.theregister.co.uk/2011/02/17/google_wants_reexamination_of_oracle_java_patents/
22  6,061,520(Method and system for performing static initialization), RE38104(Method and apparatus for resolving data references in generated code)
23  http://www.zdnet.co.kr/news/news_view.asp?artice_id=20120524094817&lo=zv41
24  http://www.zdnet.co.kr/news/news_view.asp?artice_id=20120720082304
25  http://www.zdnet.co.kr/news/news_view.asp?artice_id=20120621095037&lo=zv40
26  http://www.theregister.co.uk/2010/11/12/google_accuses_oracle_of_code_doctoring_in_android_case/
27  1심 판결문에 한글 번역을 덧붙인 자료임
28  https://majadhondt.wordpress.com/2012/05/16/googles-9-lines/

 

자바 API 월간SW중심사회 2018년 4월호