[질문] LGPL과 static link에 관한 질문

redneval의 이미지

LGPL인 A 라이브러리와

독점 라이센스인 B 라이브러리가 있다고 했을 때,

B 라이브러리가 A 라이브러리의 함수를 사용하는 경우에는

static link를 하려면 B 라이브러리의 목적 코드를 제공하거나,

(LGPL 2.1 제 6조 제 1항)

dynamic link를 해야한다고 알고 있습니다.

(LGPL 2.1 제 6조 제 2항)

(관련 글타래 : http://kldp.org/node/19610)

그렇다면 반대의 경우는 어떨까요?

A 라이브러리가 B 라이브러리의 함수를 사용하도록

A 라이브러리를 수정한다면,

(dynamic link는 허용될텐데)

static link는 가능할까요?

--------------------------------------------------------------------------------
[LGPL 2.1 중 일부 발췌]

"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.

저작물에 대한 ``원시 코드''란 해당 저작물을 개작하기에 적절한 형식을 의미합니다. 라이브러리에 대한 완전한 원시 코드란 라이브러리에 포함된 모든 모듈들의 원시 코드와 이와 관련된 인터페이스 정의 파일 모두, 그리고 라이브러리의 컴파일과 설치를 제어하는데 사용된 스크립트 전부를 의미합니다.
--------------------------------------------------------------------------------

static link를 하려면 같이 컴파일된다는 것을 의미하는데,

이런 경우 ``B 라이브러리의 소스 코드'' 가 없이는 A 라이브러리가 컴파일이 될 수 없으므로

LGPL의 ``complete source code'' 에는 ``B 라이브러리의 소스 코드'' 도 포함되는 걸까요?

지리즈의 이미지

static 링크는 실질적으로 결합으로 간주하기 때문입니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.