Вопрос

Я хотел бы написать свою собственную ОС и хотел бы временно перепрыгнуть через сложную задачу написания ядра и вернуться к ней позже, используя тем временем ядро ​​Linux.Однако на данный момент я хотел бы предоставить ОС с закрытым исходным кодом.Под какой лицензией находится ядро ​​Linux и можно ли использовать его для выпуска с ОС с закрытым исходным кодом?

Редактировать:Я не заинтересован в закрытии исходного кода ядра Linux, я бы все равно предоставил его как открытый исходный код.Мне интересно, могу ли я использовать ОС с закрытым исходным кодом с ядром с открытым исходным кодом.

Дальнейшее редактирование:Под ОС я подразумеваю систему, которая работает поверх ядра и используется для запуска других программ.Я, конечно, не имел в виду включать ядро ​​в заявление о закрытом исходном коде.

Это было полезно?

Решение

Вы, конечно, можете написать любую операционную систему с закрытым исходным кодом на ядре Linux, которая вам нравится, при условии, что вы совместимы с лицензированием компонентов, с которыми вы ссылаетесь.

Конечно, это, скорее всего, будет включать библиотеку GNU C (или какую-либо другую библиотеку C).Вам также могут понадобиться некоторые утилиты командной строки, которые, вероятно, будут иметь лицензию GPL для выполнения таких задач, как обслуживание файловой системы, настройка сети и т. д.Но если вы оставите их как отдельные программы, это не должно быть проблемой.

Все, что вы связываете с самим ядром (например.пользовательские модули, патчи) должны выпускаться под лицензией GPL с открытым исходным кодом, чтобы соответствовать лицензии ядра.

Другие советы

Ядро Linux выпущено под лицензией GPLv2, и вы можете использовать его как часть ОС с закрытым исходным кодом, но вам придется сохранять ядро ​​и все модификации под лицензией GPLv2.

Редактировать:Кстати, вместо этого вы можете использовать что-то вроде OpenSolaris.По моему мнению (очевидно, это очень субъективно), с ним гораздо проще работать, и вы можете хранить модификации с закрытым исходным кодом, если хотите, при условии, что вы соблюдаете условия CDDL.

Я думаю, вам придется уточнить, что вы подразумеваете под «ОС».Это ни в коем случае не ясная концепция.Кто-то скажет, что ядро ​​— это вся ОС.Другие скажут, что утилиты оболочки и ядра, такие как «ls», являются частью ОС.Другие даже утверждают, что стандартные приложения, такие как «Блокнот», являются частью ОС.

IANAL, но я не думаю, что что-то может помешать вам объединить ядро ​​Linux с множеством собственных программ с закрытым исходным кодом.Однако будьте осторожны и не используйте код библиотеки GPL (LGPL допустима).

Я сомневаюсь в твоих мотивах.

Linux имеет лицензию GPL (v2), что означает, что вы должны открывать исходный код всех производных работ.

Возможно, вы захотите использовать BSD, ее лицензия гораздо менее ограничительна в том, что вы можете делать с производными работами.

Вы должны держать исходный код открытым и все работы, полученные из кода, однако, если вы используете ядро, напишите поверх него свой собственный стек приложений (практически ВСЕ материалы GNU), тогда вам не придется его открывать. .

GPL говорит, что «производное» работает...так что, если вы пишете новый код, а не расширяете его, тогда это нормально.Фактически, вы могли бы даже, например, использовать набор инструментов GNU, ядро ​​Linux, а затем иметь свою собственную систему поверх него (или просто DE) с закрытым исходным кодом.

Когда вы что-то модифицируете или извлекаете из чего-то, вам нужно держать это открытым!

Это версия GPL 2, и вы, конечно, можете нет закрыть его источник.

Если используемая вами файловая система должна быть связана с самим ядром, и если вы планируете распространять его среди других, GPL совершенно однозначно требует, чтобы файловая система также распространялась под лицензией GPL.

Что, как говорится:Один из способов легального взаимодействия Linux с файловой системой, несовместимой с GPL, — через ПРЕДОХРАНИТЕЛЬ (файловая система в пространстве пользователя).Это использовалось, например, для запуска несовместимой с GPL версии ZFS файловая система поверх Linux.Однако запуск файловой системы в пользовательском пространстве влечет за собой снижение производительности, которое может быть значительным.

Вы всегда можете сохранить любые расширения (модули) и/или приложения, которые вы пишете, с закрытым исходным кодом, но само ядро ​​должно оставаться с открытым исходным кодом.

Есть не столь очевидный аспект GPLv2, который вы можете использовать при тестировании системы:вам нужно только предоставить исходный код тем, у кого есть доступ к системе.GPLv2 гласит, что вам необходимо предоставить полный доступ к исходному коду всем, у кого есть доступ к двоичному/скомпилированному дистрибутиву программы.Итак, если вы собираетесь использовать программное обеспечение только внутри компании, которая платит за его разработку, вам не нужно распространять исходный код среди остального мира, а только им.

В целом я бы сказал, что вам разрешено делать такие вещи, если вы предоставляете исходный код ядра, но есть один момент, в котором я не уверен:

В обычной системе Linux между ядром (GPL) и приложением, не совместимым с GPL, всегда существует GNU libc, которая является LGPL и, таким образом, допускает производные работы, которые не являются свободными.Теперь, если у вас есть несвободная библиотека libc, это можно считать производной работой, поскольку вы напрямую вызываете ядро, а также используете заголовки ядра.

Как уже говорили многие другие, возможно, вам лучше использовать *BSD.

Если вы серьезно настроены на разработку новой операционной системы и хотите начать с работающего ядра, я предлагаю вам изучить ядро ​​FreeBSD.У него гораздо более свободная лицензия, чем у Linux, я думаю, вы сочтете это стоящим.

Просто мои 2 цента...

Я согласен с МаркР, но вам никто не сказал очевидного.Если вы настроены серьезно, вам необходимо проконсультироваться с юристом, имеющим опыт в этой области.

Это лицензия GPL.Короткий ответ - нет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top