2021.05.10
안녕하세요.
FFmpeg을 동적라이브러리로 프로젝트에 포함하여 플레이스토어에 배포하고자 합니다. 몇가지 불분명한 부분이 있어 문의 드립니다.
1. 저희 프로젝트는 안드로이드 NDK 툴체인을 이용해 --enable-gpl, --enable-nonpfree 옵션없이 빌드하여 LGPL v2.1이 적용된 FFmpeg 동적 라이브러리를 프로젝트에 포함하였습니다.
이 과정에서 configure 및 빌드가 되지 않는 문제가 있어
https://github.com/binglingziyu/ffmpeg-android-build/blob/master/build_android_64.sh
를 참고해 configure 전/후 해당 링크의 스크립트중 46~49라인, 83~98라인과 같이 configure파일 및 config.h 파일을 수정했는데요, 이 경우도 라이브러리의 수정으로 보는건가요?
2. 자바코드에서 so파일로 추가한 FFmpeg의 기능을 호출하기위해 JNI용 소스코드를 하나 생성하여 해당 소스코드에서 FFmpeg의 함수를 호출하고 있습니다. 1번 질문이 라이브러리의 수정으로 보는경우 소스코드의 공개의무 발생여부와 공개범위가 궁금합니다.
오픈소스 양성화를 위한 노고에 감사드리며, 답변 기다리겠습니다.
------ 댓글 -------
License 관리자
안녕하세요
OSS 라이선스 관리자입니다.
문의주신 내용 답변드립니다.
1. configure 파일 및 config.h 파일과 같은 설정 파일과 설치 스크립트는 일반적으로 소스코드의 수정(라이브러리의 수정)으로 보진 않습니다.
2. 말씀하신 바와 같이 JNI용 소스코드를 하나 생성하여 해당 소스코드에서 FFmpeg의 함수를 동적 링킹 형태로 호출하는 경우에는 FFmpeg의 라이선스 적용 범위는 해당 라이브러리에만 적용됩니다.
감사합니다.
※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.
------ 댓글 -------
답변 감사합니다.
한가지 확인하고싶은게 있어서 댓글 남깁니다.
GPL2.0과 LGPL 2.0 관련 조항중에 아래와 같은 내용이 포함되어 있는데요,
저작물의"소스 코드"란 저작물에 수정을 가하는데 적절한 형식을 의미한다. 라이브러리에 대한 완전한 소스 코드란 라이브러리에 포함된 모든 모듈들의 소스 코드 및 이와 관련된 모든 인터페이스 정의 파일, 그리고 라이브러리의 컴파일과 설치를 제어하는데 사용된 모든 스크립트를 의미한다.
이 내용과 1번답변으로 주신 내용이 상충하진 않는지 궁금합니다.
------ 댓글 -------
License 관리자
안녕하세요
OSS 라이선스 관리자입니다.
문의주신 내용 답변드립니다.
보내주신 내용을 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.
여기서 완전한 소스코드(complete source code)는 "소스코드 + 정의 파일 + 컴파일 및 설치 스크립트"입니다.
따라서, 소스코드 수정에 따른 정의 파일 및 컴파일 및 설치 스크립트의 수정은 소스코드(라이브러리) 수정으로 볼 수 있습니다.
하지만 반대로 해석하면, 소스코드 수정 없이 configure 파일 수정만으로는 소스코드(라이브러리) 수정으로 보지 않을 수도 있습니다.
감사합니다.
※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.
댓글 0
댓글 작성
댓글을 작성하려면 게시글 작성 시 입력한 이메일과 패스워드를 입력해주세요.