문제

나만의 OS를 작성하고 싶고, 커널을 작성하는 복잡한 작업을 일시적으로 건너뛰고 나중에 그 동안 Linux 커널을 사용하여 다시 돌아오고 싶습니다.하지만 일단은 OS를 비공개 소스로 제공하고 싶습니다.Linux 커널은 어떤 라이센스를 갖고 있으며 비공개 소스 OS와 함께 릴리스하는 데 사용할 수 있습니까?

편집하다:나는 Linux 커널의 소스를 폐쇄하는 데 관심이 없지만 여전히 이를 오픈 소스로 제공할 것입니다.오픈 소스 커널과 함께 폐쇄 소스 OS를 사용할 수 있는지 궁금합니다.

추가 편집:OS란 커널 위에서 실행되고 다른 프로그램을 실행하는 데 사용되는 시스템을 의미합니다.나는 확실히 비공개 소스 설명에 커널을 포함할 생각은 없었습니다.

도움이 되었습니까?

해결책

물론 연결하려는 구성 요소의 라이선스와 호환된다면 Linux 커널을 통해 원하는 비공개 소스 OS를 작성할 수 있습니다.

물론 여기에는 gnu C 라이브러리(또는 다른 C 라이브러리)가 포함될 가능성이 높습니다.파일 시스템 유지 관리, 네트워크 설정 등과 같은 작업을 수행하려면 GPL일 수 있는 일부 명령줄 유틸리티가 필요할 수도 있습니다.그러나 이를 독립 실행형 프로그램으로 남겨두면 문제가 되지 않습니다.

커널 자체에 연결하는 모든 것(예:사용자 정의 모듈, 패치)는 커널 라이센스를 준수하기 위해 오픈 소스 GPL로 릴리스되어야 합니다.

다른 팁

Linux 커널은 GPLv2에 따라 릴리스되며 비공개 소스 OS의 일부로 사용할 수 있지만 커널과 GPLv2 릴리스의 모든 수정 사항을 유지해야 합니다.

편집하다:그런데 대신 OpenSolaris와 같은 것을 사용하고 싶을 수도 있습니다.내 의견으로는(분명히 매우 주관적임) 작업하기가 훨씬 쉽고 CDDL의 조건을 준수하는 한 원하는 경우 수정 사항을 비공개 소스로 유지할 수 있습니다.

'OS'가 무엇을 의미하는지 좀 더 구체적으로 설명해야 할 것 같습니다.결코 명확한 개념은 아닙니다.어떤 사람들은 커널이 OS의 전부라고 말합니다.다른 사람들은 'ls'와 같은 쉘 및 핵심 유틸리티가 OS의 일부라고 말합니다.다른 사람들은 메모장과 같은 표준 응용 프로그램이 OS의 일부라고 말하기까지 합니다.

IANAL, 그러나 나는 당신이 Linux 커널을 당신 자신의 비공개 소스 프로그램과 함께 묶는 것을 막을 수 있는 어떤 것도 없다고 믿습니다.그러나 GPL 라이브러리 코드를 사용하지 않도록 주의하십시오(LGPL은 괜찮습니다).

나는 당신의 동기에 대해 의문을 제기합니다.

Linux에는 라이센스로 GPL(v2)이 있습니다. 이는 모든 파생 저작물을 오픈 소스로 제공해야 함을 의미합니다.

BSD를 사용하고 싶을 수도 있습니다. BSD의 라이센스는 파생 작업으로 수행할 수 있는 작업에 훨씬 덜 제한적입니다.

소스와 코드에서 파생된 모든 작업을 열어 두어야 합니다. 그러나 커널을 사용하는 경우 그 위에 자체 애플리케이션 스택(거의 모든 GNU 항목)을 작성한 다음 열 필요가 없습니다. .

GPL에서는 "파생"이 작동한다고 말합니다.따라서 확장하는 대신 새 코드를 작성하는 경우에는 괜찮습니다.실제로, 예를 들어 GNU 툴체인, Linux 커널을 사용하고 그 위에 비공개 소스인 자체 시스템(또는 DE)을 가질 수도 있습니다.

열린 상태로 유지해야 하는 것은 무언가를 수정/파생할 때입니다!

그것은 GPL 버전 2이고 당신은 확실히 ~ 아니다 소스를 닫습니다.

사용하는 파일 시스템이 커널 자체에 링크되는 경우, 그리고 다른 사람에게 배포할 계획이라면 GPL에서는 파일 시스템도 GPL로 처리할 것을 매우 분명하게 요구합니다.

즉 :GPL 비호환 파일 시스템과 Linux를 합법적으로 연결하는 한 가지 방법은 다음과 같습니다. 퓨즈 (사용자 공간의 파일 시스템).예를 들어, 이는 GPL 비호환 소프트웨어를 실행하는 데 사용되었습니다. ZFS Linux 위에 파일 시스템이 있습니다.그러나 사용자 공간에서 파일 시스템을 실행하면 상당한 성능 저하가 발생할 수 있습니다.

비공개 소스로 작성한 확장 프로그램(모듈) 및/또는 애플리케이션은 언제든지 유지할 ​​수 있지만 커널 자체는 오픈 소스로 유지되어야 합니다.

시스템을 테스트하는 동안 활용할 수 있는 GPLv2의 그다지 명확하지 않은 측면이 있습니다.시스템에 액세스할 수 있는 사람에게만 소스 코드를 공개하면 됩니다.GPLv2에서는 프로그램의 바이너리/컴파일 배포판에 액세스할 수 있는 모든 사람에게 소스 코드에 대한 전체 액세스 권한을 부여해야 한다고 명시합니다.따라서 개발 비용을 지불하는 회사 내부의 소프트웨어만 사용하려는 경우 소스 코드를 전 세계에 배포할 필요가 없고 그들에게만 배포하면 됩니다.

일반적으로 커널에 대한 소스를 제공하는 한 그러한 작업을 수행할 수 있다고 말하고 싶지만 확신할 수 없는 점이 한 가지 있습니다.

(GPL) 커널과 GPL이 아닌 호환 응용 프로그램 사이의 일반 Linux 시스템에는 항상 LGPL인 GNU libc가 있으므로 비자유 파생 작업을 허용합니다.이제 무료 libc가 아닌 경우 커널을 직접 호출하고 커널 헤더도 사용하므로 파생 작업으로 간주될 수 있습니다.

이전에 많은 사람들이 말했듯이 *BSD를 사용하는 것이 더 나을 수도 있습니다.

새로운 운영 체제를 진지하게 개발하고 있고 작동하는 커널을 시작하고 싶다면 FreeBSD 커널을 살펴보는 것이 좋습니다.Linux보다 라이센스가 훨씬 더 편안하므로 가치가 있다고 생각합니다.

내 2센트만...

나는 MarkR의 의견에 동의하지만 아무도 당신에게 명백한 사실을 언급하지 않았습니다.심각한 경우에는 이 분야의 전문 지식을 갖춘 변호사와 상담해야 합니다.

GPL입니다.짧은 대답 - 아니요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top