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





Ядро Linux выпущено под GPLv2, и вы можете использовать его как часть ОС с закрытым исходным кодом, но вы должны сохранить ядро и все модификации, выпущенные под GPLv2.
Обновлено: Кстати, вы можете вместо этого использовать что-то вроде OpenSolaris. На мой взгляд (очевидно, очень субъективно) с ним намного проще работать, и вы можете оставить модификации с закрытым исходным кодом, если захотите, при условии, что вы соблюдаете условия CDDL.
Это GPL версии 2, и вы, конечно, можете закрыть ее исходный код нет.
Вы не можете выпустить / it / closed-source, но ничто не мешает вам использовать его в качестве основы для ОС с закрытым исходным кодом.
Это GPL. Короткий ответ - нет.
Linux имеет лицензию GPL (v2), что означает, что вы должны открывать исходный код для любых производных работ.
Вы можете захотеть использовать BSD, ее лицензия намного менее ограничивает то, что вы можете делать с производными работами.
Это кажется разумной альтернативой. Спасибо за идею.
Без проблем :) (но помните, что открытый исходный код - хорошая идея (тм))
Открытый исходный код - это возможное направление в будущем, но я хотел бы работать самостоятельно, чтобы я мог научиться делать что-то сам.
Я думаю, вам нужно будет более конкретно сказать, что вы подразумеваете под «ОС». Это отнюдь не ясная концепция. Кто-то скажет, что ядро - это вся ОС. Другие скажут, что утилиты оболочки и ядра, такие как ls, являются частью ОС. Другие могут даже сказать, что стандартные приложения, такие как Блокнот, являются частью ОС.
IANAL, но я не верю, что есть что-то, что может помешать вам связать ядро Linux с загрузкой собственных программ с закрытым исходным кодом. Однако будьте осторожны, чтобы не использовать какой-либо код библиотеки GPL (LGPL в порядке).
Я сомневаюсь в ваших мотивах.
Я бы сказал, что ядро является центральным (пусть и небольшим) компонентом, и что ОС останавливается там, где начинается рабочий стол, но это только мое мнение.
Действительно - у всех есть свои мнения :) В случае словосочетания «ОС» почти всегда полезно попросить разъяснений.
Вы всегда можете оставить любые расширения (модули) и / или приложения, которые вы пишете, с закрытым исходным кодом, но само ядро должно оставаться открытым исходным кодом.
Есть не столь очевидный аспект GPLv2, который вы можете использовать при тестировании системы: вам нужно только предоставить исходный код тем, у кого есть доступ к системе. GPLv2 гласит, что вам необходимо предоставить полный доступ к исходному коду любому, у кого есть доступ к двоичному / скомпилированному дистрибутиву программы. Итак, если вы собираетесь использовать программное обеспечение только внутри компании, которая платит за его разработку, вам не нужно распространять исходный код для остального мира, а только им.
Модули определенно представляют собой серую зону - многие считают их явными производными от ядра, а не просто пользователями ядра, такими как программы пользовательского пространства.
Так что, если я никогда не буду распространять его, пока не будет написано собственное ядро, вообще не возникнет проблем с лицензированием?
Это правда. Лицензия только ограничивает ваше право на распространение кода. Что вы будете делать с ним наедине, полностью зависит от вас.
Вы должны держать исходный код открытым и любые работы, производные от кода, однако, если вы используете ядро, напишите свой собственный стек приложений поверх него (почти ВСЕ материалы GNU), тогда вам не нужно открывать его. .
GPL гласит, что «производный» работает ... так что, если вы пишете новый код вместо расширения, тогда это нормально. Фактически, вы могли бы даже, например, использовать набор инструментов GNU, ядро Linux, а затем иметь свою собственную систему поверх этого (или просто DE) с закрытым исходным кодом.
Когда вы что-то изменяете / извлекаете из чего-то, вы должны держать это открытым!
Обычно я бы сказал, что вам разрешено делать такие вещи, если вы предоставляете исходный код для ядра, но есть один момент, в котором я не уверен:
В обычной системе Linux между ядром (GPL) и приложением, не совместимым с GPL, всегда есть GNU libc, которая является LGPL и, таким образом, позволяет производные работы, которые не являются бесплатными. Теперь, если у вас есть несвободная библиотека libc, это можно считать производной работой, поскольку вы напрямую вызываете ядро, а также используете заголовки ядра.
Как уже говорили многие другие, вам может быть лучше использовать * BSD.
libc - это LGPL, вы можете ссылаться на него и оставаться закрытым исходным кодом (gnu.org/software/libc/manual/html_node/Copying.html#Copying)
Вы получаете тот же «выход», который позволяет glibc быть LGPL вместо GPL. Интерфейс системного вызова ядра считается границей, и пользовательское пространство может использовать его, не создавая производной работы. Это прямо указано в КОПИРОВАНИИ. Вы можете нет использовать заголовки ядра, код или что-нибудь еще.
Вы, конечно, можете написать любую ОС с закрытым исходным кодом поверх ядра Linux, которая вам нравится, при условии, что вы совместимы с лицензированием компонентов, с которыми вы связываете.
Конечно, это, вероятно, будет включать библиотеку gnu C (или другую библиотеку C). Вам также могут понадобиться некоторые утилиты командной строки, которые, вероятно, будут под лицензией GPL для таких вещей, как обслуживание файловой системы, настройка сети и т. д. Но если вы оставите их как их собственные автономные программы, это не должно быть проблемой.
Все, что вы связываете с ядром (например, пользовательские модули, патчи), должно быть выпущено под лицензией GPL с открытым исходным кодом в соответствии с лицензией ядра.
Если файловая система, которую вы используете, должна быть связана с самим ядром, и, если вы планируете распространять ее среди других, GPL недвусмысленно требует, чтобы файловая система также была под лицензией GPL.
При этом один из способов юридически связать Linux с файловой системой, несовместимой с GPL, - это ПРЕДОХРАНИТЕЛЬ (файловая система в пользовательском пространстве). Это использовалось, например, для запуска несовместимой с GPL файловой системы ZFS поверх Linux. Однако запуск файловой системы в пользовательском пространстве влечет за собой снижение производительности, которое может быть значительным.
Если вы серьезно относитесь к разработке новой операционной системы и хотите, чтобы с нее работало ядро, я предлагаю вам изучить ядро FreeBSD. У него гораздо более мягкая лицензия, чем у Linux, я думаю, вы сочтете это стоящим.
Только мои 2 цента ...
Я согласен с MarkR, но никто не сказал вам очевидного. Если вы настроены серьезно, вам нужно проконсультироваться с юристом, имеющим опыт в этой области.
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он касается лицензирования или юридических вопросов, а не программирования или разработки программного обеспечения. Глянь сюда и здесь для подробностей и центр помощи для более подробной информации.