2008-09-22 3 views
4

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

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

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

+4

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет о лицензировании или правовых вопросах, а не о программировании или разработке программного обеспечения. [См. Здесь] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) и [здесь] (http://meta.stackexchange.com/questions/139804/can- вопросы лицензирования, вопросы и ответы), а также [помощь] для получения дополнительной информации. – JasonMArcher

ответ

10

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

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

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

4

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

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

1

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

+1

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

2

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

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

+0

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

+0

Нет проблем :) (но помните, что Open Source - это хорошая идея (tm)) – dsm

+0

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

3

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

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

Я задаю ваши мотивы.

+0

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

+0

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

0

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

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

+0

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

+0

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

+1

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

2

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

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

Это когда вы меняете/извлекаете из чего-то, что вам нужно, чтобы оно открылось!

0

Вообще-то я бы сказал, что вы позволили сделать такую ​​вещь, до тех пор, пока вы предоставляете источник для ядра, но есть один момент, когда я не уверен:

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

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

+0

libc - это LGPL, с которым вы можете связать его и оставаться закрытым источником (http://www.gnu.org/software/libc/manual/html_node/Copying.html#Copying) – dsm

+0

Вот что я сказал. –

+0

HAHA, misread, nevermind :) – dsm

1

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

Это означает, что один из способов юридического интерфейса Linux с GPL-несовместимой файловой системой - через FUSE (файловая система в пользовательском пространстве). Это использовалось, например, для запуска GPL-несовместимой файловой системы ZFS поверх Linux. Тем не менее, при запуске файловой системы в пользовательском пространстве может быть значительно снижена производительность.

0

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

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

0

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