본문 바로가기

오픈소스

오픈소스 라이센스 LGPL < GPL < APGL

최근 오픈소스를 활용하여 개발을 하는 경우가 잦아지는데 자연스럽기도 하고, 바람직한 방향이라고 생각한다. 다만, 항상 문제되는 것이 라이선스의 사용 범위인데, 매번 헛갈리고 고민되는 부분이기도 하다. 이 참에 한국 저작권 위원회에 문의해서 알아 보았다. 담당자분께서 직접 전화를 주셔서 아주 친절히 설명을 해주셨고, 교육도 무료로 해줄 수 있다고 하셨으나, 그럴 필요까지는 없어서 감사하다고만 했다. :-)

일단 자유로운 것 부터 가장 강한 순서는 LGPL < GPL < AGPL 순이다. AGPL이 오픈소스 라이센스스 중에서 가장 사용하기가 어렵다. 대고객 서비스용은 불가능하다.

LGPL
 - Dynamic Linking 이면 (OK)
 - Static Linking 이면, Object 파일 (역컴파일 가능하므로) 공개해야 함 (NOT OK)

GPL v2~v3
 - 프로세스가 별도로 떠야함
 - 프로토콜을 이해하고 API를 구현하여 네트웍 소켓통신(HTTP 등)하는 경우 (OK)
 - LGPL 이하의 공개된 라이브러리(JDBC, ODBC 등)를 통해 통신하는 경우 (OK)
 - GPL 이상의  라이브러리를 사용하게되면 소스공개 필요 (NOT OK)

AGPL
 - 프로세스가 별도로 떠야함
 - 네트웍으로 통신을 하더라도 구현된 소스를 공개해야 함 (NOT OK)
 - 프로세스에서 한 번이라도 호출되어도 포함된 모든 소스를 공개 (NOT OK)

 최근 GNU에서도 너무 강한 AGPL 보다는 LGPL으로 미는 분위기이지만, 내가 사용하고 싶은 오픈소스는 현재 AGPL이라 직접 서비스는 불가능... 다만, 해당 서비스를 별도 프로세스로 띄워놓고, 파일입력을 통해서 처리 후 결과를 파일로 만들어서 다른 서비스로 전달 혹은 EXPORT/IMPORT 하는 것은 저작권에 저촉되지 않는다고 한다. 즉 그 분의 예를 들자면 한글 워드 프로세서가 AGPL이라고 해서 그 워드 프로그램으로 만든 HWP파일이 배포(DEPLOY)되었다고 보지는 않는다는 것이다.

끗.