상담 게시판

상담 내용
자체 수정한 Android Platform 소스 공개 범위 문의
  1. 작성일 :
  2. 2014.06.17
  3. 작성자 :
  4. night509
  5. 조회수 :
  6. 5592

수고 많으십니다.

자체적으로 개발한 HW에 Android를 포팅하여 판매/배포를 하는 경우

소스 공개 범위가 궁금합니다.

구글 Android Platform 소스를 내려받아 Kernel 쪽에 Driver 관련 파일을 추가/수정하고,

Framework쪽 소스를 일부 추가/수정하여 Android 를 포팅을 하게 되면

Kernel 쪽 수정/추가 소스는 공개하는 것이 맞을 것으로 판단됩니다만, (GPL을 사용하기 때문에)

Framework쪽 수정/추가 소스도 공개를 해야 하는지 궁금합니다.

그럼 답변 부탁드리겠습니다.

  1. 첨부파일
답변
답변 답변일 : 2014.06.17

안녕하세요. 위원회 SW보호팀 이석창 주임입니다.

일단 배포행위가 발생하니 오픈소스 라이선스 준수의무가 발생합니다.

리눅스 커널의 경우 GPL 2.0을 따르니 독립된 SW가 아닐 경우 소스코드 공개의 의무가 발생합니다. 다만 리눅스 커널에서 모듈을 수정/개작할 경우에는 어떤 부분까지 GPL을 적용할 것인가에 대해 많은 논란이 있습니다.

리눅스 커널에 대한 부분 중 모듈에 해당된다면 아래를 참고하시기 바랍니다.

가. 모듈 라이선스를 GPL로 선언하지 않아야 함. MODULE_LICENSE(“GPL”)로 선언된 매크로가 존재해서는 안 됨. -> 이는 커널 모듈에서 GPL로 export된 커널함수 “EXPORT SYMBOL()이 아닌 “EXPORT_SYMBOLE_GPL()로 export된, 이하 GPL-ONLY Symbols를 사용하지 않았음을 의미

나. LInux-Only Driver가 아니어야 함. 이는 토발즈의 의견에 따라 Linux외 다른OS상에서 동작하는 드라이버를 리눅스상에 포팅한 것이라면 리눅스의 파생저작물로 보지 않을 수 있음. 하지만 리눅스상에서 동작하는 드라이버라면 리눅스의 파생저작물이 아니라는 주장의 설득력이 떨어짐
 
다. 내 리눅스 커널 소스의 일부가 전혀 사용되지 않아야 함. 리눅스의 표준 커널 모듈 인터페이스만을 사용해 모듈을 제작하였다면 문제없지만, 커널 소스가 모듈내 일부라도 포함되었다면 파생저작물로 판단할 수 밖에 없음. -> 커널API를 사용할시 동적 링크가 되기 때문에 원칙적으로 소스코드를 제공해야합니다.(커널묘듈 표준 인터페이스를 사용할 경우는 예외적으로GPL이 적용되지 않는다는 견해도 있습니다). 실제로 일부 기업들은 드라이버에 대한 소스코드를 제공하지 않고 있습니다.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
안드로이드 프레임워크은 리눅스 커널과 어떠한 형태로 사용하는지 확인하셔야 하며(제한적으로 리눅스 커널을 다루기 때문에)  독립 SW로 으로 구현이 된다면 소스코드를 공개하지 않아도 되겠습니다.(커널단을 제외하면 안드로이드는 아파치 2.0으로 배포되고 있습니다)
 
구현방법이나 구조를 알아야 명확한 답변을 드릴 수 있음을 양해하여 주시기 바라며, 추가문의는 유선으로 주시면 감사하겠습니다. 02-2669-0096

목록

관리자페이지
제목