내가 올바르게 이해한다면 Linux 커널은 GPL에 따라 라이센스가 부여됩니다. 즉, 누구든지 Linux 커널을 기반으로 개발을 수행하는 경우 GPL에 따라 전체 파생 저작물에도 라이센스를 부여해야 하며 누구나 파생 저작물을 자유롭게 수정 및/또는 재배포할 수 있습니다. .
예를 들어 모든 Android 버전은 LK를 기반으로 합니다. 이는 전체 버전과 모든 구성 요소도 GPL에 따라 릴리스되어야 함을 의미합니까?
예를 들어 대부분의 Android 버전에는 독점 구성 요소가 함께 제공됩니다. 이것은 GPL을 위반하지 않습니까? 전체 파생 저작물은 GPL에 따라 공개되어야 하지 않나요?
예를 들어 Ubuntu의 경우 설치 후 MPEG 코덱을 다운로드해야 합니다. 이는 MPEG가 독점적이기 때문에 MPEG 라이센스가 GPL과 호환되지 않아 동일한 릴리스에 포함될 수 없기 때문이라고 생각합니다.
Android 버전에서는 이 문제를 어떻게 해결하나요?
답변1
우선 구글의 안드로이드 코드와 리눅스 커널 코드는 별개라는 점을 이해해야 한다. Android 자체는 허용되는 Apache License 2.0에 따라 라이센스가 부여됩니다.위키피디아만약에:
Apache 라이센스는 동일한 라이센스를 사용하여 소프트웨어의 파생물이나 원본 버전의 수정본을 배포할 것을 요구하지 않는다는 점에서 허용적입니다.
따라서 공급업체는 일반적으로 Android를 수정하지 않습니다.
둘째, Linux 커널의 경우 GPLv2에 따라 라이센스가 부여되며 코드는 대중에게 공개되며, 장치 내부 어딘가에 묻혀 있거나(가능성 없음) 공급업체 웹사이트의 오픈 소스 코드 전용 섹션에서 다운로드할 수 있습니다. 눈길을 끄는 페이지에서. 그들의 제품.
그러나 공개적으로 출시된 Linux 커널 코드에는 중요한 주의 사항이 있습니다. 유사한 기능을 가진 독점 드라이버와 커널 모듈이 있다는 것입니다. Linux 커널은 독점 라이센스에 따라 배포된 바이너리 Blob을 로드할 수 있으며 장치를 실행하는 데 필요한 이러한 Blob의 소스 코드는 당연히 배포되지 않습니다. 결론은 장치에 특정한 커널 소스 코드를 얻는 데 성공하더라도 반드시 이를 사용하여 자체 Linux 기반 운영 체제를 컴파일할 수는 없다는 것입니다.
관용, 맥락상
정확히 무엇을 의미하는가?특허? 귀하의 의견에 따르면 이것이 다른 라이센스 또는 독점 라이센스 소프트웨어를 실행할 수 있는 능력을 의미하는 것으로 이해했다고 가정합니다. 그러나 이것은 잘못된 것입니다.
이 맥락에서 허용 오차란 소스 코드를 원하는 대로 사용할 수 있다는 의미입니다.
GPL은 당신을 용서하지 않습니다.법적 구속력이 있는GPL 라이센스 코드에 대한 수정 사항을 공개하십시오. 모든 사람의 기여를 가져와 변경하고(더 좋게 만들거나 더 나쁘게 만들기 위해) 숨기는 것을 허용하지 않습니다. 바이너리를 배포하는 경우 소스 코드도 배포해야 합니다. 그렇긴 한데아니요비공개로 변경할 수 있으므로견딜 수 없기.
Apache 라이선스와 BSD 라이선스는 허용 라이선스의 예입니다. 엄격하게 허용되지 않는 GPL과는 반대로, GPL에 따라 라이센스가 부여된 코드를 수정할 수 있으며 이를 자신에게만 보관할 수 있습니다.용인. 즉, 안드로이드 코드를 가져와서 인식할 수 없을 정도로 수정하더라도 스스로 보관할 수 있습니다. 이것이 바로 Android 기기 공급업체가 하는 일입니다.