LGPL2.1 을 포함하여 so 파일을 만들때 so 의 라이선스는 무엇이 되나요?

seongheej의 이미지

LGPL2.1 의 라이브러리와 Apache2.0 의 소스를 함께 libxxxx.so 를 만들 때,
아래와 같은 질문이 있습니다.

1. Apache2.0 과 LGPL2.1 은 License가 Incompatible 한걸로 FSF 사이트에 나옵니다.
http://www.gnu.org/licenses/license-list.html#apache2 GPL2.0 과 Apache2.0 은 compatible 하지 않다고 나옴.
이로 유추하여 LGPL 도 compatible 하지 않다고 볼 수 있는지요?

2.두 라이선스의 Incompatibility 가 있다면 ,
두 라이선스의 파일들로 ( gcc -Shared .......-o libxxxxx.so lgpl2.1file.o apache2.0file.o )
libxxxx.so 파일을 만드는 것은, license incompatibility 를 무시한, 행동으로 원래 소스의 저작권자 claim 이나 소송 우려가 있을까요?

아니면, 원본의 소스를 copy & paste 하는 것이 아니고 link 하는 것이므로,
상관 없는 것일까요?

3. 위의 2와 같이 하여 만든 apache 2.0 의 파일과 LGPL2.1 의 파일을 링크하여 만든 so 파일의 전체 라이선스는 무엇이 될까요?

4. LGPLv2.1 의 5조와 6조를 보면 상당히 헷갈리게 나와 있습니다.
여기서, 2의 .so 파일은 5조에 의해 LGPL2.1 의 derivative work 이 되며,
LGPL 에 cover 된다고 나옵니다.그런데 배포시는 6조를 따른다고 나옵니다.
6조를 읽어보면, LGPL2.1 를 포함한 실행물은 LGPL 이 아닌 라이선스를 써도 되는것 같습니다.
이 조항이 .so 파일에도 해당되는 것인지요?
.so 는 실행물이 아니고 라이브러리라서 해당 안되는 것인지요? .so 의 라이선스는 LGPL 을 써야 된다면 그 이유는 무엇이고 라이선스 어디에 근거 하는지요?

< LGPL2.1 의 5조와 6조 일부> 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.

When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.

If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)

Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.

6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: