• Legalinsight
  • Legaledu
  • 법률신문 법률정보

  • 상시채용
  • 기사제보
  • 태평양

    Oracle Java SE, Update 중단과 대책

    입력 :
    글자크기 : 확대 최소
  • 인쇄
  • 메일보내기
  • 기사스크랩
  • 스크랩 보기
  • [ 2018.11.16 ]


    Oracle이 최근 Java SE 8 이하 버전에 대하여 상업적 목적의 경우 퍼블릭 업데이트(public update)가 제공되지 않는다는 발표를 하여 Java를 사용해온 많은 기업들이 향후의 대책을 고민하게 되었습니다(바로가기 링크 참조). 이에 따라, 저희 법무법인은 Oracle의 업데이트 중단 발표에 따른 주요 내용과 쟁점을 알려드리오니 대책 수립에 참고하시기 바랍니다.



    1. 변경된 Java 라이선스 정책

    Oracle은 2019. 1. 이후에는 상업적 목적을 가진 상업적 사용자(Commercial User)에게는 Java SE 8이하 버전의 퍼블릭 업데이트의 제공을 중단하고 유상으로만 업데이트(Subscription License)를 제공할 예정이며, 다만 개인 사용자(Personal User)에게는 2020. 12.까지 퍼블릭 업데이트를 무료로 제공하겠다고 발표하였습니다.



    2. 사용중인 Java 프로그램의 종류와 라이선스 종류

    Java SE(Standard Edition)는 데스크톱과 서버에서 구동되는 Java 어플리케이션을 개발할 수 있는 Oracle의 Java 플랫폼으로서, 기본적으로 JDK(Java Development Kit, 이하 “JDK”), JRE(Java Runtime Environment, 이하 “JRE”), JVM(Java Virtual Machine, 이하 “JVM”)을 포함하고 있으며, 위 JDK는 그에 의해 실행되고 구동될 수 있는 Java 프로그램의 작성 및 컴파일(프로그래밍 언어(source code)를 기계어(binary code)로 변경해주는 작업)을 도와주는 개발 키트입니다.


    JDK는 Oracle이 GPL 2.0 에 따라 배포되는 Open JDK와 Oracle Binary Code License(이하 “OBCL”)에 따라 배포하는 Oracle JDK 두 가지로 구분됩니다. Oracle은 현재 Java SE 11버전까지 발표했고 대체적으로 기업에서는 안정성·호환성 등의 측면을 고려하여 Java SE 8이하 버전을 많이 사용하고 있는 추세입니다. 한편, Oracle JDK가 Open JDK를 기반으로 하고 있기 때문에 두 버전 간 기술적인 차이는 별로 없다고 알려져 있습니다. 이와 같이 Oracle은 두 종류의 JDK를 제공하므로 Oracle이 제공하는 JDK 제품 별로 향후 예상되는 이슈를 짚어볼 필요가 있을 것입니다.


    Oracle의 Java 제품으로는 Oracle Java SE외에도 Oracle Java SE Advanced, Oracle Java SE Embedded 등 여러 제품(product)이 있고, 각 product는 다양한 feature들로 구성되어 있으며, 다운로드 받을 수 있는 installation package도 다양하게 존재합니다. feature, product와 installation package의 상호관계는 일대일 대응관계는 아니고, 하나의 product를 구성하는 여러 feature는 하나의 installation package안에 있지 않고 여러 installation package를 다운로드받아야 입수할 수도 있습니다(LIUM 제1-4면 참고). 그 외에 Oracle Java SE는 오픈소스와 따로 라이선스를 받은 별도의 소프트웨어가 포함되어 배포될 수 있고, 그러한 경우에는 그에 관한 고지와 라이선스 정보 등이 제공되어야 합니다.


    각 기업별로 다운로드 받은 installation package와 사용하는 product및 그에 포함된 features가 다를 것인바, 그에 대한 정확한 파악에 기초하여 라이선스 이슈를 검토할 필요가 있어 보입니다.


    본 뉴스레터에서는 주로 Oracle Java SE8 Product를 중심으로 살피기로 합니다.



    3. Open JDK에 적용되는 GPL 2.0의 내용

    Open JDK에 적용되는 GPL 2.0은 가장 대표적인 카피레프트(copy-left) 오픈소스 라이선스로서, 이를 활용한 2차적 저작물에도 동일한 GPL 2.0을 적용해야 할 의무와 배포되는 바이너리 코드에 상응하는 소스코드 제공 의무를 갖는다는 특징이 있습니다.



    4. Java SE 8 이하 버전에 기존에 적용되는 라이선스의 구조와 주요 내용

    Java SE 8이하 버전에 대한 2018. 12.까지의 업데이트에 적용되는 라이선스는, OBCL과 Supplementary License Terms(이하 “SLT”)인데, OBCL은 소프트웨어(Software, 오라클에서 제공하는 Java SE 각 버전)와 프로그램(Program, 위 소프트웨어를 사용하여 만든 자바 애플릿, 어플리케이션)을 달리 정의하고 있으며, 적용되는 라이선스는 Software의 사용에 관한 것으로 볼 수 있습니다. 지금까지 OBCL 라이선스에서는 수정하지 않은 완전한 형태로 Software를 복제하고 내부적으로 사용할 수 있는 비독점적, 양도불가능한, 제한된 라이선스를 무료로 허용하고 있었고, SLT가 적용되고 OBCL이나 기타 대상 소프트웨어에 포함된 라이선스가 SLT와의 충돌이 있는 경우 SLT가 우선적 효력을 가집니다. 그러나, 2019. 1. 이후의 업데이트의 상업적 이용에 관하여는 OBCL과 SLT가 아닌 유료 Subscription License가 적용될 것으로 예상됩니다.


    Software중 Commercial Features에 대해서는 SLT가 적용되는데, Commercial Features가 무엇인지에 대하여는 Java SE LIUM(Licensing Information User Manual)의 “Description on Product Editions and Permitted Features”에서 정의하고 있습니다.


    Commercial Features는 SLT의 B, C, D, E 항에 정한 목적 이외의 내부 사업수행 목적이나 상업적 목적으로 사용할 수 없고, 그러한 목적으로 사용하려면 Oracle로부터 별도의 라이선스를 취득해야 함을 규정하고 있고, 이에 포함된 SLT는 Commercial Features사용에 대한 라이선스를 허락하는 경우의 여러 조건들(재배포 제한, Commercial Features 고지, 위반시 종료 등)도 규정하고 있는데, 아래에서 자세히 설명하겠습니다.


    다만, OBCL과 SLT의 준거법은 캘리포니아 법이므로, 엄격한 법률해석을 위해서는 캘리포니아 법에 따른 추가 검토가 필요할 수 있습니다. 



    5. 2018년도 말까지의 JDK 사용 관련 라이선스 위반 유무

    이번 Java SE 8 이하 버전에 대한 유료 라이선스 전환을 계기로 기존의 Java SE 8 이하 버전 사용이 문제가 없는지 여부도 점검해 볼 필요가 있어 보입니다. 이에 대해서는, 기업이 사용한 소프트웨어 버전과 라이선스 종류가 무엇인지에 따라 나누어 볼 필요가 있습니다.


    가. Open JDK를 사용한 경우

    GPL 2.0하에서 요구되는 저작권고지, 수정고지, GPL 2.0의 확대적용, 소스코드 제공 등의 의무를 이행하고 있었는 지 여부를 살펴 라이선스 위반 여부가 판단될 것입니다. 위반이 인정될 경우, 라이선스의 자동종료, 저작권침해 내지 라이선스 계약위반으로 인한 손해배상의무 등이 문제될 수 있습니다.


    나. Oracle JDK를 사용한 경우

    라이선스를 위반하였는지 여부는 기업이 사용하는 Java SE 소프트웨어가 (i) Commercial Features인지 (ii) NonCommercial Features인지 여부에 따라 다르게 판단됩니다.


    1) Non-Commercial Features - OBCL 적용

    사용자가 JDK 설치시 “ACCEPT THE AGREEMENT” 버튼을 누르거나 소프트웨어를 실제로 설치·사용한 경우에는 사용자가 라이선스 조건에 동의한 것으로 보아 Java 라이선스 계약이 체결된 것으로 간주되고, 쌍방의 대표자의 서면 서명에 의하지 않고는 변경할 수 없습니다. 사용이 허여 되는 소프트웨어에는 update 내용도 포함됩니다.


    OBCL이 적용되는 Non-Commercial Features의 경우에는 사용자의 변경, 디컴파일(decompile) 또는 리버스 엔지니어링(reverse engineering)을 금지하고 있는 OBCL 제3조 등의 명시적 제한 규정을 준수하였다면 특별히 라이선스 위반의 문제가 발생하지는 않을 것으로 보여집니다.


    한편 OBCL 제6조에 의하면, 사용자가 OBCL의 어느 조항이라도 위반하면 Oracle의 통지 없이도 즉시 해지 되고, Oracle이 대상 Software가 저작권 침해 청구의 대상이 될 것이라고 판단한다면, Oracle은 계약을 즉시 해지할 수 있고, 사용자는 모든 Software를 파기하여야 할 것입니다.


    2) Commercial Features - SLT 적용

    Commercial Features에 대하여는 SLT가 적용되는데, SLT에 의하면 다음과 같이 사용자는 SLT B, C, D, E 항에 명시된 사항이 아닌 경우 내부적인 비즈니스 운영 또는 상업적 목적, 제품화 목적으로 자바 애플릿 또는 어플리케이션을 작동시키기 위하여 Commercial Features를 사용할 수 없고, SLT에서 정하고 있는 범위를 벗어나 Commercial Features를 사용하고자 하는 경우 Oracle로부터 별도 라이선스를 받아야 합니다.

     

     

    SLT의 B, C, D, E 항 개요

     

    B. 개발 라이선스 허용을 위한 소프트웨어의 내부적 사용 조건(Software Internal Use for Development License Grant) 

    본 계약의 조건 및 Java Technology Restrictions를 포함하여 본 SLT에 편입된 Java SE LIUM에 명시된 제한 사항 및 예외 사항을 준수하는 경우 Oracle은 귀사에게 프로그램을 설계, 개발 및 테스트할 목적으로 소프트웨어를 완전하고 수정하지 않은 상태에서 fee 없이 내부적으로 복사하고 사용할 수 있는, 비독점적이고 양도불가한 제한된 라이선스를 부여함.

    C. 소프트웨어 배포에 관한 라이선스 조건 (License to Distribute Software) 소프트웨어를 복제하고 배포할 수 있는 권한 부여에 관한 조건. 완전하고 수정되지 않은 상태로, 프로그램을 작동하기 위한 목적으로만 fee 없이 소프트웨어를 복제, 배포할 수 있는 비독점적이고 양도불가능한 라이선스 부여. 독점적 권리 고지 내용의 수정 및 제거 금지 조항 등 포함.

    D. 재배포할 수 있는 라이선스 조건(License to Distribute Redistributables)

    Java SE LIUM(Appendix 2: Redistributable JDK Files)에서 재배포 가능한 것으로 구체적으로 식별되는 파일들(“Redistributables”)을 복제하고 배포할 수 있는 조건. 완전하고 수정하지 않은 형태로 프로그램의 일부로써 번들로만 Redistributables를 fee 없이 배포할 수 있는 비독점적이고 양도불가능한 라이선스 부여. 독점적 권리 고지 내용의 수정 및 제거 금지 조항 등 포함.

    E. 출판자에 의한 배포 조건(Distribution by Publishers)

    JDK의 Java 기술과 관련된 책이나 잡지 출판물과 함께 배포하는 경우에 관한 조건. 완전하고 수정되지 않은 JDK를 오직 귀사의 출판물에 포함하거나 그와 함께 배포하기 위한 목적으로 복제할 수 있는 비독점적이고 양도불가능한 라이선스 부여. 독점적 권리 고지 내용의 수정 및 제거 금지 조항 등 포함, 

     

    한편, 사용자가 Oracle과 별도의 라이선스 계약 없이 B, C, D, E항에 위반하여 JAVA SE 8을 상업용으로 사용한 경우, 라이선스 위반에 해당합니다. 그러나, 사용자가 SLT의 B, C, D, E항에 따라 SLT의 다른 조건들을 준수하여 사용한 것이라면 2019. 1. 이후에도 Java SE 8버전의 2018. 12. 31까지의 업데이트 내용은 계속 사용할 수 있습니다.



    6. 2019. 1. 이후 제기될 이슈

    지금까지 기업에서 Open JDK를 사용해 왔다면, 여전히 GPL 2.0이 적용되므로 라이선스 관점에서2019년도부터 달라질 내용은 없다고 보입니다.


    그러나, OBCL에 따라 Oracle Java SE 8.0을 사용해 온 상업적 사용자의 경우에는 지금까지 사용해 오던 Java SE 8이하 버전(2018. 12. 31. 까지의 퍼블릭 업데이트 포함)을 2019년 이후에도 계속 사용할 수 있는지가 쟁점이 됩니다.


    OBCL에 의하면 라이선스 계약은 쌍방의 대표자의 서면 서명에 의하지 않고는 변경 내용이 구속력을 가질 수 없는 바기존에 라이선스를 부여한 Java SE 8 이하 버전의 업데이트에 대해서 Oracle이 일방적으로 라이선스를 철회할 수 없고, 변경된 Java의 라이선스 정책에서도 그에 대한 변경을 언급하지는 않고 있습니다.


    다만, 기업에서 개발자가 2019. 1. 이후에 개인사용자에게 제공되는 퍼블릭 업데이트를 다운로드 받아 사용하는 경우가 발생할 수 있고, 이는 Oracle에서 금지하는 상업사용에 해당하게 되는 것인바, 이러한 경우는 라이선스 위반과 손해배상 청구로 귀결될 가능성이 크므로, 각 기업에서는 이러한 사용에 대해 주의를 기울여야 할 것입니다.


    그 외 Java를 사용하고 있는 각 기업이 구체적으로 이용한 installation package, product 와 feature의 종류에 따라, 그리고 이용상황에 따라 추가적 이슈들도 제기될 수 있을 것으로 보입니다.



    박종백 변호사 (jb.park@bkl.co.kr)

    류광현 변호사 (kh.ryoo@bkl.co.kr)

    김태균 변호사 (taeguen.kim@bkl.co.kr)