상담 게시판

상담 내용
MySQL데이터베이스 질문입니다.
  1. 작성일 :
  2. 2016.01.22
  3. 작성자 :
  4. kimhm204
  5. 조회수 :
  6. 1463

서버에서 유저들의 데이터를 저장할 용도로 MySQL를 사용하고자 합니다.

클라이언트는 무료이며 LGPL라이센스를 사용하며 서비스를 유료로 제공할 생각입니다.(오브젝트 파일만 제공합니다.)

클라이언트의경우 SQLite3와 JSON, PlanText를 사용할 생각이며 MySQL은 쓰이지 않고 Http소켓을 통하여 데이터가 전달이 되면 서버에서 무결성 검사후 저장하는 형태를 가질 생각입니다. 즉 클라이언트에서 MySQL를 직접적으로 사용하지 않고 서버와 네트워크를 통해서 간접적으로 사용하게 됩니다.

이 상황에서 서버와 클라이언트의 소스코드를 공개해야할 의무가 있는 건가요?(단, 서버의 경우 따로 배포를 하지 않는다고 가정합니다.즉 사용자는 개발사가 직접사용합니다.)

  1. 첨부파일
답변
답변 답변일 : 2016.02.03

안녕하세요

문의하신 내용에 답변드립니다.

1. 서버에 데이터를 저장하는 용도로 서비스만 사용하는 경우에는MySQL에 적용된 GPL에 따른 소스코드 공개의 의무는 발생하지 않습니다.

2. 클라이언트가 오브젝트 파일(코드)로 제공되는 경우 배포 개념에 해당하는데 무엇에 대한 오브젝트 코드인지 확실하지 않아 일반적인 개념을 설명해드리도록 하겠습니다. LGPL에서 정의한 배포는 '라이브러리'의 배포에 대한 것입니다. 따라서 클라이언트의 라이브러리를 오브젝트 코드 형태로 배포한 경우에는 클라이언트의 소스 코드를 배포해야 하겠지만, 라이브러리 또는 라이브러리에 기반한2차 저작물이 아닌 저작물을 오브젝트 코드를 배포하고자 할 경우에는 제3조의 규정에 따라 GPL 2.0 또는 이후 버전으로 대체하여 배포할 수 있을 것입니다. GPL 계열의 라이선스의 경우 배포 행위가 발생하면 소스 코드를 제공해야 합니다. 따라서 클라이언트의 소스 코드는 해당 프로그램의 수취인에게 제공해야 할 것으로 보입니다.

 

<참고: LGPL 2.1>

제1조

당신은 라이브러리의 완전한 소스코드를 양도 받은 원본 그대로 복제 및 배포할 수 있다. (이하 생략)

 

제2조

당신은 라이브러리의 복제본 전부나 일부를 수정할 수 있으며, 이를 통해서 라이브러리에 기반을 둔 저작물을 만들어 낼 수 있다. 이러한 수정본이나 저작물은 다음의 사항들을 모두 충족시키는 조건에 한해서, 제1조의 규정에 따라 복제 및 배포할 수 있다.

a) 수정된 저작물은 소프트웨어 라이브러리의 형태이어야 한다. (이하 생략)

 

제4조 비(非)소스형태의배포

제1조와제2조의규정에따라라이브러리(도는제2조에의한라이브러리의일부나라이브러리에기반한2차적저작물)를오브젝트코드나실행물의형태로복제및배포할수있다. (이하생략)

 

제3조.

당신은양도받은라이브러리의복제물에본라이선스대신GNU 일반공중라이선스의규정들을적용시킬수있다. 이를가능케하기위해서는본라이선스를언급하는모든사항들을GNU 일반공중라이선스버전2의사항들로대체시켜야한다. (만약GNU 일반공중라이선스버전2 이후의신규버전이공표되었을경우에는원한다면신규버전을사용할수있다.)

 

3. 더불어, 두 개의 프로그램이 파이프(pipes), 소켓(sockets), command-line arguments 형태로 통신하는 경우, 플러그인이fork나exec를 이용하는 경우 등은 별도의 독립된 저작물로서 전부 혹은 일부가 GPL 프로그램일 때 전체 프로그램에 GPL이 적용되지 않는 예외적 케이스입니다.

<참조: GPL 2.0>

제3조

(중략) 실행물이 실행되는 운영체제의 주요 부분(컴파일러, 커널 등)과 함께(소스코드나 바이너리 형태로) 일반적으로 배포되는 구성 요소들은, 그 구성요소 자체가 실행물에 수반되지 않는 한 배포되는 소스코드에 포함되지 않아도 무방하다.

 

<참조. GNU 답변: '단순 집합'과'두개의 모듈이 결합하여 하나의 프로그램으로 만든다'의 의미 차이는 무엇입니까?>

(중략) 파이프나 소켓, 명령행 인자 등은 두 개의 독립된 프로그램간 통신을 위해서 사용되는 매커니즘입니다. 따라서 모듈들이 이러한 형식을 사용한다면 모듈들은 독립된 프로그램으로 볼 수 있습니다. (http://www.gnu.org/licenses/gpl-faq.ko.html)

 

4. 따라서 서버의 소스코드는 공개하지 않아도 될 것으로 보이지만 클라이언트의 소스코드는 오브젝트 코드의 그 성격에 따라 LGPL이나 GPL 2.0 혹은 이후 버전에 의해 공개되어야 할 것으로 보입니다.

 

감사합니다.

(본 답변은 2016.02.05에 수정되었습니다. / 클라이언트 소스 코드 제공 부분)

※법적 분쟁 발생시 본 답변은 법률적 해석 혹은 논리로 활용될 수 없습니다.

목록

관리자페이지
제목