Pergunta

Gostaria de escrever meu próprio OS, e gostaria de pular temporariamente sobre a complicada tarefa de escrever o kernel e voltar a ele mais tarde usando o kernel Linux no tempo médio. No entanto, eu gostaria de fornecer o sistema operacional como código fechado por enquanto. Que licença é o kernel Linux sob e é possível usá-lo para lançamento com um sistema operacional de código fechado?

Edit: Eu não estou interessado em fechar a fonte do kernel do Linux, eu ainda iria proporcionar que, como código aberto. Eu estou querendo saber se eu poderia usar um sistema operacional de código fechado com um kernel de código aberto.

Além disso edit: por OS, quero dizer o sistema que roda em cima do kernel e é usado para lançar outros programas. Eu certamente não tinha a intenção de incluir o kernel na demonstração de código fechado.

Foi útil?

Solução

Você pode, write claro o que quer de código fechado OS sobre o kernel do Linux que você gosta desde que sejam compatíveis com o licenciamento de componentes que apontam contra.

É claro que é provável que incluem a biblioteca GNU C (ou alguma outra biblioteca C). Você também pode precisar de alguns utilitários de linha de comando que provavelmente será GPL para fazer coisas como a manutenção do sistema de arquivos, configuração de rede etc. Mas desde que você deixe os como seus próprios programas independentes, não deve ser um problema.

Qualquer coisa que você link para o próprio (por exemplo, módulos personalizados, manchas) kernel deve ser lançado como GPL open source para cumprir com a licença do kernel.

Outras dicas

O kernel Linux é distribuído sob a GPLv2 e você pode usá-lo como parte de um sistema operacional de código fechado, mas você tem que manter o kernel e todas as modificações lançado GPLv2.

Edit: Btw, você pode querer usar algo como OpenSolaris vez. É muito mais fácil de se trabalhar, na minha opinião (obviamente muito subjetivo), e você pode manter modificações de código fechado, se assim escolherem, desde que você siga os termos da CDDL.

Eu acho que você vai ter que ser mais específico sobre o que você quer dizer com 'OS'. É de nenhuma maneira um conceito claro. Alguns diriam que o kernel é todo o OS. Outros diriam que os utilitários de shell e essenciais, tais como 'ls' são parte do sistema operacional. Outros iria tão longe como a dizer que os aplicativos padrão, como o Bloco de Notas fazem parte do OS.

IANAL, mas eu não acredito que haja qualquer coisa para impedi-lo de empacotamento do kernel do Linux com uma carga de programas de código fechado de seu próprio país. Tome cuidado para não usar qualquer código da biblioteca GPL no entanto (LGPL é OK).

Eu faço perguntas seus motivos.

Linux tem a GPL (v2) como sua licença, o que significa que você tem que código aberto quaisquer trabalhos derivados.

Você pode querer usar BSD, sua licença é muito les restritiva no que você pode fazer com obras derivadas

Você deve manter a fonte aberta, e qualquer obra derivada do código, no entanto, se você usar o Kernel, escreva sua própria pilha de aplicativos em cima do que (praticamente todo o material GNU), então você não tem que abrir isso.

A GPL diz que as obras "derivados" ... por isso, se você está escrevendo novo código, em vez de expanind, então isso é bom. Na verdade, você pode até, por exemplo, utilizar o conjunto de ferramentas GNU, o Linux Kernel, e, em seguida, ter seu próprio sistema em cima disso (ou apenas uma DE) que é de código fechado.

É quando você modifica / derivar de algo que você tem que mantê-la aberta!

É GPL versão 2 e você pode certamente não close sua fonte.

Se o sistema de arquivos que você usa é para ser ligado no próprio kernel, e se você pretende distribuí-lo aos outros, o GPL muito inequivocamente exige que o sistema de arquivos ser GPL também.

Dito isto: uma maneira de legalmente interface de Linux com um sistema de arquivos incompatível com a GPL é via FUSÍVEL (sistema de ficheiros no espaço do usuário). Isso tem sido usado, por exemplo, para executar o GPL-incompatíveis ZFS sistema de arquivos em cima do Linux . Executando um sistema de arquivos no espaço do usuário, no entanto, realizar uma penalidade de desempenho que pode ser significativo.

Você sempre pode manter todas as extensões (módulos) e / ou aplicações que você escreve código fechado, mas o próprio kernel terá de permanecer aberto.

Há um aspecto não tão óbvia da GPLv2 que você pode explorar durante o teste do sistema: você só precisa liberar o código-fonte para aqueles que têm acesso ao sistema. O GPLv2 afirma que é preciso dar acesso total ao código fonte para qualquer pessoa com acesso ao binário / distribuição compilada do programa. Então, se você está indo só para usar dentro da empresa que está pagando para desenvolvê-lo software, você não precisa distribuir o código fonte para o resto do mundo, mas só eles.

Geralmente, eu diria que você está autorizado a fazer tal coisa, contanto que você fornecer a fonte para o kernel, mas há um ponto onde eu tenho certeza:

Em um sistema Linux normal entre o (GPL) kernel e um aplicativo compatível não-GPL, há sempre a libc GNU, que é LGPL e, assim, permite que trabalhos derivados que são não-livre. Agora, se você tem um libc não-livre, que pode ser considerado uma obra derivada, desde que você está chamando diretamente o kernel, e também usando cabeçalhos do kernel.

Como muitos outros já disse antes, você pode ser melhor fora de usar um BSD *.

Se você é sério no desenvolvimento de um novo sistema operacional e quer um kernel de trabalho para começar com eu sugiro que você olhar para o kernel FreeBSD. Ele tem uma licença muito mais relaxado do que o Linux, eu acho que você pode achar que vale a pena.

Apenas meus 2 centavos ...

Eu concordo com MarkR mas ninguém disse o óbvio para você. Se você é sério, você precisa consultar um advogado com experiência nesta área.

É GPL. Resposta curta -. Não

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top