2023.06.12
안녕하세요?
리눅스 커널 드라이버를 작성해서 배포하려고 합니다.
드라이버 소스코드는 리눅스 커널에 있는 함수들을 호출하여, 하드웨어를 제어하고
중간중간 자체 개발한 알고리즘 코드를 사용하고 있습니다.
그런데 아래 내용 gnu.org의 내용을 보면, 리눅스 커널에 있는 함수를 사용하는 경우 GPL을 위반한다고 설명하고 있습니다.
자체 개발한 알고리즘 이외의 다른 부분은 공개가 되어도 상관없다고 한다면, 어떤 식으로 소스코드를 구성해야
GPL 위반을 하지 않는 드라이버를 작성할 수 있을까요?
https://www.gnu.org/licenses/gpl-faq.html#NonfreeDriverKernelLinux
감사합니다.
------ 댓글 -------
License 관리자
안녕하세요,
오픈소스SW 라이선스 관리자입니다.
문의주신 내용 답변 드립니다.
모든 리눅스 커널에 있는 함수를 사용하는 경우가 GPL을 위반하는 것이 아니라
nonfree(비자유)* 드라이버를 배포하는 경우 위반 한다는 것입니다.
* 여기서 free(자유)는 GPL 라이선스를 배포 받는 대상의 권리인 사용, 수정, 배포 등의 자유를 뜻합니다
다만, 배포하신다면 자체 개발한 알고리즘 코드까지도 배포 받는 대상에게 공개하셔야 합니다.
배포 받는 대상에게 GPL 라이선스 의무사항(커널 스페이스의 모든 소스코드를 공개 등)을 이행하신다면 GPL 위반 없이 드라이버를 작성하실 수 있습니다.
감사합니다.
※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.
------ 댓글 -------
답변 감사합니다. 그런데 저는 알고리즘 코드를 공개하고 싶지 않은 입장입니다.
바로 아래 설명에 있는
https://www.gnu.org/licenses/gpl-faq.html#LinkingOverControlledInterface
을 보면, 제가 말씀드린 알고리즘 코드를 library로 만들고, 그 이외에 다른 부분은 GPL 라이선스에 맞춰서 공개하는 방식으로 하면 괜찮다는 것 처럼 보이는데요. 제가 생각하는 방식이 맞을까요?
------ 댓글 -------
License 관리자
안녕하세요,
오픈소스SW 라이선스 관리자입니다.
문의주신 내용 답변드립니다.
알고리즘 코드를 library로 만든다고 하더라도 kernel space에서 같이 동작한다면 알고리즘 코드의 library도 소스코드 공개 대상입니다.
감사합니다.
※ 법적 분쟁 발생시 본 답변은 법률적 해석이나 논리로 활용될 수 없습니다.
댓글 0
댓글 작성
댓글을 작성하려면 게시글 작성 시 입력한 이메일과 패스워드를 입력해주세요.