Лицензирование и использование ядра Linux

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

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

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

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

JasonMArcher 17.06.2015 06:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
4 300
12
Перейти к ответу Данный вопрос помечен как решенный

Ответы 12

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

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

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

Вы не можете выпустить / it / closed-source, но ничто не мешает вам использовать его в качестве основы для ОС с закрытым исходным кодом.

Serafina Brocious 22.09.2008 23:45

Это GPL. Короткий ответ - нет.

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

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

Это кажется разумной альтернативой. Спасибо за идею.

Cristián Romo 22.09.2008 23:48

Без проблем :) (но помните, что открытый исходный код - хорошая идея (тм))

dsm 22.09.2008 23:50

Открытый исходный код - это возможное направление в будущем, но я хотел бы работать самостоятельно, чтобы я мог научиться делать что-то сам.

Cristián Romo 22.09.2008 23:53

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

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

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

Я бы сказал, что ядро ​​является центральным (пусть и небольшим) компонентом, и что ОС останавливается там, где начинается рабочий стол, но это только мое мнение.

dsm 22.09.2008 23:59

Действительно - у всех есть свои мнения :) В случае словосочетания «ОС» почти всегда полезно попросить разъяснений.

slim 23.09.2008 00:03

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

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

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

wnoise 22.09.2008 23:54

Так что, если я никогда не буду распространять его, пока не будет написано собственное ядро, вообще не возникнет проблем с лицензированием?

Cristián Romo 22.09.2008 23:58

Это правда. Лицензия только ограничивает ваше право на распространение кода. Что вы будете делать с ним наедине, полностью зависит от вас.

slim 23.09.2008 00:02

Вы должны держать исходный код открытым и любые работы, производные от кода, однако, если вы используете ядро, напишите свой собственный стек приложений поверх него (почти ВСЕ материалы 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‌)

dsm 23.09.2008 00:08

Вы получаете тот же «выход», который позволяет glibc быть LGPL вместо GPL. Интерфейс системного вызова ядра считается границей, и пользовательское пространство может использовать его, не создавая производной работы. Это прямо указано в КОПИРОВАНИИ. Вы можете нет использовать заголовки ядра, код или что-нибудь еще.

puetzk 05.01.2009 00:10
Ответ принят как подходящий

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

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

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

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

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

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

Только мои 2 цента ...

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

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