Pregunta

Me gustaría escribir mi propio sistema operativo y me gustaría saltar temporalmente la complicada tarea de escribir el kernel y volver a ella más tarde usando el kernel de Linux mientras tanto.Sin embargo, me gustaría proporcionar el sistema operativo como código cerrado por ahora.¿Bajo qué licencia se encuentra el kernel de Linux? ¿Es posible usarlo para su lanzamiento con un sistema operativo de código cerrado?

Editar:No estoy interesado en cerrar el código fuente del kernel de Linux, aún así lo proporcionaría como código abierto.Me pregunto si podría utilizar un sistema operativo de código cerrado con un kernel de código abierto.

Edición adicional:Por sistema operativo me refiero al sistema que se ejecuta sobre el kernel y se utiliza para iniciar otros programas.Ciertamente no quise incluir el núcleo en la declaración de código cerrado.

¿Fue útil?

Solución

Por supuesto, puede escribir cualquier sistema operativo de código cerrado sobre el kernel de Linux que desee, siempre que sea compatible con la licencia de los componentes con los que se vincula.

Por supuesto, es probable que incluya la biblioteca gnu C (o alguna otra biblioteca C).Es posible que también necesite algunas utilidades de línea de comandos que probablemente sean GPL para hacer cosas como el mantenimiento del sistema de archivos, la configuración de la red, etc.Pero siempre que los deje como programas independientes, no debería ser un problema.

Cualquier cosa que vincules al propio kernel (p. ej.módulos personalizados, parches) deben publicarse como GPL de código abierto para cumplir con la licencia del kernel.

Otros consejos

El kernel de Linux se lanza bajo GPLv2 y puede usarlo como parte de un sistema operativo de código cerrado, pero debe conservar el kernel y todas las modificaciones publicadas bajo GPLv2.

Editar:Por cierto, es posible que desees utilizar algo como OpenSolaris en su lugar.En mi opinión, es mucho más fácil trabajar con él (obviamente muy subjetivo), y puede mantener las modificaciones en código cerrado si así lo desea, siempre que siga los términos de la CDDL.

Creo que tendrás que ser más específico acerca de lo que quieres decir con "SO".De ninguna manera es un concepto claro.Algunos dirían que el kernel es todo el sistema operativo.Otros dirían que el shell y las utilidades principales como 'ls' son parte del sistema operativo.Otros llegarían a decir que las aplicaciones estándar como el Bloc de notas forman parte del sistema operativo.

IANAL, pero no creo que haya nada que le impida combinar el kernel de Linux con una gran cantidad de programas propios de código cerrado.Sin embargo, tenga cuidado de no utilizar ningún código de biblioteca GPL (LGPL está bien).

Cuestiono tus motivos.

Linux tiene la licencia GPL (v2), lo que significa que debe abrir el código fuente de cualquier trabajo derivado.

Quizás quieras usar BSD, su licencia es mucho menos restrictiva en lo que puedes hacer con trabajos derivados.

Debes mantener abierto el código fuente y cualquier trabajo derivado del código; sin embargo, si usas el Kernel, escribe tu propia pila de aplicaciones encima (prácticamente TODO el material de GNU), entonces no tienes que abrirlo. .

La GPL dice que "derivado" funciona...Entonces, si estás escribiendo código nuevo, en lugar de expandirlo, entonces está bien.De hecho, podría incluso, por ejemplo, utilizar la cadena de herramientas GNU, el kernel de Linux, y luego tener su propio sistema encima (o simplemente un DE) que sea de código cerrado.

¡Es cuando modificas/derivas de algo que tienes que mantenerlo abierto!

Es la versión 2 de GPL y ciertamente puedes no cerrar su fuente.

Si el sistema de archivos que utiliza va a estar vinculado al propio kernel, y Si planea distribuirlo a otros, la GPL requiere de manera bastante inequívoca que el sistema de archivos también esté certificado por GPL.

Habiendo dicho eso:Una forma de conectar legalmente Linux con un sistema de archivos incompatible con GPL es a través de FUSIBLE (sistema de archivos en el espacio de usuario).Esto se ha utilizado, por ejemplo, para ejecutar el programa incompatible con GPL. ZFS Sistema de archivos encima de Linux.Sin embargo, ejecutar un sistema de archivos en el espacio de usuario conlleva una pérdida de rendimiento que puede ser significativa.

Siempre puedes mantener cualquier extensión (módulo) y/o aplicación que escribas de código cerrado, pero el núcleo en sí deberá permanecer de código abierto.

Hay un aspecto no tan obvio de la GPLv2 que puedes explotar mientras pruebas el sistema:sólo necesita liberar el código fuente a aquellos que tienen acceso al sistema.La GPLv2 establece que debe otorgar acceso completo al código fuente a cualquier persona que tenga acceso a la distribución binaria/compilada del programa.Por lo tanto, si sólo va a utilizar el software dentro de la empresa que paga para desarrollarlo, no necesita distribuir el código fuente al resto del mundo, sino sólo a ellos.

Generalmente diría que puedes hacer tal cosa, siempre y cuando proporciones la fuente del kernel, pero hay un punto en el que no estoy seguro:

En un sistema Linux normal, entre el kernel (GPL) y una aplicación no compatible con GPL, siempre existe la libc GNU, que es LGPL y, por lo tanto, permite trabajos derivados que no son libres.Ahora, si tiene una libc que no es libre, podría considerarse un trabajo derivado, ya que está llamando directamente al kernel y también usando encabezados del kernel.

Como muchos otros han dicho antes, sería mejor que usaras *BSD.

Si se toma en serio el desarrollo de un nuevo sistema operativo y quiere empezar con un kernel que funcione, le sugiero que busque el kernel de FreeBSD.Tiene una licencia mucho más relajada que Linux, creo que quizás valga la pena.

Sólo mis 2 centavos...

Estoy de acuerdo con MarkR pero nadie te ha dicho lo obvio.Si habla en serio, debe consultar a un abogado con experiencia en esta área.

Es GPL.Respuesta corta: no.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top