Перейти к содержанию
    

Операционные системы, встроенное ПО и GNU GPL

Описанный ниже вопрос возник у меня после недавнего появления новой версии ОСРВ scmRTOS. Наверное, многие заметили, что scmRTOS v3 не только прописалась на sourceforge'е, обзавелаcь новыми фичами и т.д., но и сменила условия лицензирования - теперь scmRTOS распространяется по лицензии GNU GPL.

До этого я не использовал "свободный" софт в своем встроенном ПО, поэтому особо-то и не интересовался что за собой влечет GNU GPL, а теперь вот пришлось.

Правильно ли я понимаю, что если встроенный софт некоторого устройства построен на основе операционной системы, распространяемой по GPL, (например, scmRTOS или какого-нибудь embedded linux), то я должен пользователям устройства предоставить исходные тексты не только самой ОС, но и своей программы? То есть фактически дать исходные тексты всей прошивки устройства.

Из текста GNU GPL следует, что если программа является независимым продуктом и не основана на лицензируемом коде, то может поставляться в виде отдельного продукта по любой лицензии. Например, для linux'а под обычные ПК я могу писать прикладные программы и продавать их за деньги без всяких исходников, потому что можно разделить непосредственно ОС и дистрибутив прикладной программы.

Для встроенного ПО, в большинстве случаев, такое разделение невозможно - прошивка представляет собой единый файл. Тогда получается, что вся прошивка подпадает под действие GNU GPL. То есть, например, если я буду использовать scmRTOS в своих проектах на MSP430, то должен буду всем желающим предоставлять исходники своего проекта. Что-то как-то это не радует.

 

Полагаю, что многие участники форума используют в своих проектах различные варианты GNU GPL операционных систем, поэтому мне интересно как вы поступаете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Правильно ли я понимаю, что если встроенный софт некоторого устройства построен на основе операционной системы, распространяемой по GPL, (например, scmRTOS или какого-нибудь embedded linux), то я должен пользователям устройства предоставить исходные тексты не только самой ОС, но и своей программы?

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

 

То есть фактически дать исходные тексты всей прошивки устройства.

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

 

Да, но при этом ваш продукт становится "коммерческим", а GNU платформа для него - перестаёт быть free и вы обязаны производить отчисления от распространения коммерческого продукта сообществу разработчиков GNU платформы, на которой он базируется.

 

Например, для linux'а под обычные ПК я могу писать прикладные программы и продавать их за деньги без всяких исходников, потому что можно разделить непосредственно ОС и дистрибутив прикладной программы.

... но здесь вступает в игру пред. п.

 

Для встроенного ПО, в большинстве случаев, такое разделение невозможно - прошивка представляет собой единый файл. Тогда получается, что вся прошивка подпадает под действие GNU GPL. То есть, например, если я буду использовать scmRTOS в своих проектах на MSP430, то должен буду всем желающим предоставлять исходники своего проекта. Что-то как-то это не радует.

GNU GPL не оперирует такими понятиями как "прощивка", но вот исходный код вы обязаны предоставлять. Более того - любой волен его использовать от своего имени внося туда любые изменения, если только он сам распространяет его под лицензией GNU (с оязательным указанием авторства оригинала).

 

Многие (юристы) говорят, что лицензия GNU - неполная и противоречивая.

GNU GPL - это только одна из достаточно многих free лицензий, многие, например, считают, что BSD-лицензия много совершеннее... Может что-то из них вам больше подойдёт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

В соотв с GPL исходный код программ предоставляется только the recipients, т/е пользователям программы:

------------- GPL snip-----------------------------------------------------

For example, if you distribute copies of such a program, whether

gratis or for a fee, you must give the recipients all the rights that

you have. You must make sure that they, too, receive or can get the

source code. And you must show them these terms so they know their

rights.

------------- GPL snip-----------------------------------------------------

 

Таким образом никаких "заинтересованных" тут быть не может, а именно только "пользователи вашего устройства"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть фактически дать исходные тексты всей прошивки устройства.

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

 

Да, но при этом ваш продукт становится "коммерческим", а GNU платформа для него - перестаёт быть free и вы обязаны производить отчисления от распространения коммерческого продукта сообществу разработчиков GNU платформы, на которой он базируется.

 

Например, для linux'а под обычные ПК я могу писать прикладные программы и продавать их за деньги без всяких исходников, потому что можно разделить непосредственно ОС и дистрибутив прикладной программы.

... но здесь вступает в игру пред. п.

Что-то в тексте GNU GPL я не видел каких-либо ограничений на коммерческое использование. Хотите сказать, что разработчики любой коммерческой программы под linux-платформу делают отчисления в некий фонд? Тогда как понять кому и сколько платить?

 

Для встроенного ПО, в большинстве случаев, такое разделение невозможно - прошивка представляет собой единый файл. Тогда получается, что вся прошивка подпадает под действие GNU GPL. То есть, например, если я буду использовать scmRTOS в своих проектах на MSP430, то должен буду всем желающим предоставлять исходники своего проекта. Что-то как-то это не радует.

GNU GPL не оперирует такими понятиями как "прощивка", но вот исходный код вы обязаны предоставлять. Более того - любой волен его использовать от своего имени внося туда любые изменения, если только он сам распространяет его под лицензией GNU (с оязательным указанием авторства оригинала).

Согласен, что в GPL нет понятия "прошивка", там просто говорится о том можно ли рассматривать новый продукт как отдельную независимую от лицензирумой по GPL программы работу или нет. Для прошивки такое разделение невозможно, поэтому ее надо рассматривать как единое целое с лицензируемой программой, поэтому на всю прошивку действует GNU GPL.

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

Многие (юристы) говорят, что лицензия GNU - неполная и противоречивая.

GNU GPL - это только одна из достаточно многих free лицензий, многие, например, считают, что BSD-лицензия много совершеннее... Может что-то из них вам больше подойдёт?

Просто сейчас хочется разобраться в вопросе с GNU GPL, т.к. по этой лицензии распространяется много разного софта. В частности, нужно решить использовать ли дальше scmRTOS или отказаться от нее из-за лицензии, будет жать это делать, т.к. с технической точки зрения scmRTOS меня устраивает.

Есть вариант использовать предыдущие версии scmRTOS, но, мне кажется, это тупиковый путь.

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

 

Неужели все использующие в своих проектах GNU GPL операционные системы предоставляют исходники своего встроенного ПО? Или все "кладут" на условия лицензии? В общем прошу поделиться опытом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Olej,

 

>Да, но при этом ваш продукт становится "коммерческим", а GNU платформа для него - перестаёт быть free >и вы обязаны производить отчисления от распространения коммерческого продукта сообществу >разработчиков GNU платформы, на которой он базируется.

 

"Обязаны производить отчисления" ???!!! - это что новенькое, наверное имеется ввиду желателен обратный feedback Open Source сообществу в виде патчей или улучшений или же в виде donations.

Слово "Обязаны производить отчисления" по моему некорректно

 

 

Dr.NoA,

 

>Правильно ли я понимаю, что если встроенный софт некоторого устройства построен на основе >операционной системы, распространяемой по GPL, (например, scmRTOS или какого-нибудь embedded >linux), то я должен пользователям устройства предоставить исходные тексты не только самой ОС, но и >своей программы?

 

В embedded linux - только linux kernel под GPL лицензией

Кроме linux kernel есть еще и libc которая под LGPL.

 

А если написать с нуля программу которая динамически линкуется с libc

То ее исходники можно и не открывать и не предоставлять, т/к libc и LGPL

допускает динамическую линковку с коммерческими закрытыми модулями

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

В соотв с GPL исходный код программ предоставляется только the recipients, т/е пользователям программы:

------------- GPL snip-----------------------------------------------------

For example, if you distribute copies of such a program, whether

gratis or for a fee, you must give the recipients all the rights that

you have. You must make sure that they, too, receive or can get the

source code. And you must show them these terms so they know their

rights.

------------- GPL snip-----------------------------------------------------

 

Таким образом никаких "заинтересованных" тут быть не может, а именно только "пользователи вашего устройства"

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

 

В embedded linux - только linux kernel под GPL лицензией

Кроме linux kernel есть еще и libc которая под LGPL.

 

А если написать с нуля программу которая динамически линкуется с libc

То ее исходники можно и не открывать и не предоставлять, т/к libc и LGPL

допускает динамическую линковку с коммерческими закрытыми модулями

Это все понятно. В этом случае ваша программа является как бы независимой от ядра или библиотеки.

Но как написать такую программы для встроенного ПО какого-нибудь микроконтроллера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>Это замечание существенной роли не играет. Пользователи вашей программы могут также свободно >отдавать ее кому угодно вместе с иходниками, поэтому непонятно как вы сможете ограничить >"хождение" ваших исходников только кругом своих непосредственных пользователей. Кроме того, >если меня заинтересует прошивка вашего устройства, я могу просто купить у вас один экземпляр и >получить доступ к исходникам.

 

Все верно.

 

 

В embedded linux - только linux kernel под GPL лицензией

Кроме linux kernel есть еще и libc которая под LGPL.

 

А если написать с нуля программу которая динамически линкуется с libc

То ее исходники можно и не открывать и не предоставлять, т/к libc и LGPL

допускает динамическую линковку с коммерческими закрытыми модулями

Это все понятно. В этом случае ваша программа является как бы независимой от ядра или библиотеки.

Но как написать такую программы для встроенного ПО какого-нибудь микроконтроллера?

 

Действительно с чистой лицензией GPL это затруднительно, однако FreeRTOS хороший

пример:

 

GPL Exception

If you opt to use this exception you are encouraged to make a donation to the FreeRTOS project. The link in the frame on the left can be used for this purpose. Any such donation is entirely voluntary and does not result in any enhanced support or any warranty rights.

 

EXCEPTION TEXT:

 

Linking FreeRTOS statically or dynamically with other modules is making a combined work based on FreeRTOS. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

 

As a special exception, the copyright holder of FreeRTOS gives you permission to link FreeRTOS with independent modules that communicate with FreeRTOS solely through the FreeRTOS API interface, regardless of the license terms of these independent modules, and to copy and distribute the resulting combined work under terms of your choice, provided that

 

1. Every copy of the combined work is accompanied by a written statement that details to the recipient the version of FreeRTOS used and an offer by yourself to provide the FreeRTOS source code should the recipient request it.

2. The combined work is not itself an RTOS, scheduler, kernel or related product.

3. The combined work is not itself a library intended for linking into other software applications.

 

Any FreeRTOS source code, whether modified or in it's original release form, or whether in whole or in part, can only be distributed by you under the terms of the GNU General Public License plus this exception. An independent module is a module which is not derived from or based on FreeRTOS.

 

Note that people who make modified versions of FreeRTOS are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Действительно с чистой лицензией GPL это затруднительно, однако FreeRTOS хороший

пример:

 

GPL Exception

If you opt to use this exception you are encouraged to make a donation to the FreeRTOS project. The link in the frame on the left can be used for this purpose. Any such donation is entirely voluntary and does not result in any enhanced support or any warranty rights.

 

EXCEPTION TEXT:

 

Linking FreeRTOS statically or dynamically with other modules is making a combined work based on FreeRTOS. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

 

As a special exception, the copyright holder of FreeRTOS gives you permission to link FreeRTOS with independent modules that communicate with FreeRTOS solely through the FreeRTOS API interface, regardless of the license terms of these independent modules, and to copy and distribute the resulting combined work under terms of your choice, provided that

 

1. Every copy of the combined work is accompanied by a written statement that details to the recipient the version of FreeRTOS used and an offer by yourself to provide the FreeRTOS source code should the recipient request it.

2. The combined work is not itself an RTOS, scheduler, kernel or related product.

3. The combined work is not itself a library intended for linking into other software applications.

 

Any FreeRTOS source code, whether modified or in it's original release form, or whether in whole or in part, can only be distributed by you under the terms of the GNU General Public License plus this exception. An independent module is a module which is not derived from or based on FreeRTOS.

 

Note that people who make modified versions of FreeRTOS are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.

Об этом исключении в лицензии FreeRTOS я и говорил до этого. Условия вполне резонные и выполнимые. Грубо говоря, автор просто просит не составлять конкуренции его продукту и сообщать конечным пользователям, что используется его операционка (это можно рассматривать как рекламу). Ну и по желанию можно сделать пожертвование.

Думаю, что подобное исключение в лицензии scmRTOS решило бы проблему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Таким образом никаких "заинтересованных" тут быть не может, а именно только "пользователи вашего устройства"

Вы слишком вольно (расширенно) толкуете пложения лицензии, и толкуете в свою пользу (а кто толкует себе во вред?) - GNU не оперирует термином "устройство", и уж тем более "пользователи вашего устройства" - а только терминами относительно программного обеспечения (пусть и устройства), и согласно философии Free Software Foundation легальным пользователем ПО является всякий, у кого в руках находится это ПО, независимо от способа как оно туда попало - это легальный пользователь. А исходные коды ПО под GPL вы обязаны предоставить всякому легальному пользователю.

 

P.S. а вообще-то, GPL вовсе не такая "простая штучка" :

- я в 2 слова пересказал те особенности, на которые мне указывали юристы, рассматриваюшие GNU;

- ... и более мне добавить нечего, а участвовать в толковании GNU я не хочу, именно потому...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Таким образом никаких "заинтересованных" тут быть не может, а именно только "пользователи вашего устройства"

Вы слишком вольно (расширенно) толкуете пложения лицензии, и толкуете в свою пользу (а кто толкует себе во вред?) - GNU не оперирует термином "устройство", и уж тем более "пользователи вашего устройства" - а только терминами относительно программного обеспечения (пусть и устройства), и согласно философии Free Software Foundation легальным пользователем ПО является всякий, у кого в руках находится это ПО, независимо от способа как оно туда попало - это легальный пользователь. А исходные коды ПО под GPL вы обязаны предоставить всякому легальному пользователю.

 

P.S. а вообще-то, GPL вовсе не такая "простая штучка" :

- я в 2 слова пересказал те особенности, на которые мне указывали юристы, рассматриваюшие GNU;

- ... и более мне добавить нечего, а участвовать в толковании GNU я не хочу, именно потому...

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

Честно говоря, я тоже не хочу заниматься толкованием GNU GPL и философии FSF в целом. Тему эту я поднял сугубо с технической точки зрения. Меня интересует реальная практика применения GNU GPL софта в встроенном ПО, т.е. кто как поступает в своих проектах. И потом мне, как техническому специалисту, необходимо выбрать операционную систему (в данном случае) для применения в своих проектах, а при рассмотрении различных вариантов я должен учитывать не только технические параметры разных ОСей, но и лицензии, по которым они распространяются. Поэтому думаю, что все таки нужно в некотором объеме понимать смысл этих лицензий.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Меня интересует реальная практика применения GNU GPL софта в встроенном ПО, т.е. кто как поступает в своих проектах. И потом мне, как техническому специалисту, необходимо выбрать операционную систему (в данном случае) для применения в своих проектах, а при рассмотрении различных вариантов я должен учитывать не только технические параметры разных ОСей, но и лицензии, по которым они распространяются. Поэтому думаю, что все таки нужно в некотором объеме понимать смысл этих лицензий.

1. в Интернет было (и есть, наверное) много толкований тех подводных камней, которые могут вытекать из лицензии GNU, хорошо бы кто вытащил их URL сюда для предметного разговора ;)...

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

 

P.S. достаточно много есть фирм (и здесь и за рубежом), которые при наличии юридических подразделений, рассматривавших GPL и так и эдак - решили пока занять позицию выжидания "что из этого получится"; причиной называют "не до конца определённость" лицензии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели ни у кого нет прецедентов из своей личной практики? Что-то не верится, что никто не применяет GNU GPL софт в своих разработках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели ни у кого нет прецедентов из своей личной практики? Что-то не верится, что никто не применяет GNU GPL софт в своих разработках.

Здесь же вопрос не а том - кто имеет прецеденты из своей личной практики, а в том - кто уже поимел неприятности от такой практики. ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос с другой стороны.

А кто-нить пробовал воспользоваться вот этим GNU продуктом?

http://www.hightec-rt.com/index.php?option...6&Itemid=28

Мне так и не удалось - тока за большие деньги продают.

У них свой взгляд на свободный софт:

Free Software

By free software frequently free of charge software is understood, since it is available for small money and often as freeware. The fact is ignored that in such a way received software is quite useful and frequently technically also very good, but in contrary to purchased software any guarantee and warranty are no subject.

In order to be able to offer guarantee and warranty to the technically necessary extent, development and capacity for support are to be reproached. Therefore it is absolutely normal and appropriate to trade GPL products to similar conditions as proprietary products. In particular if they were substantially developed further. The guarantee refers if nothing else was arranged to the copy of the software which was acquired. Copies of it can be transmitted according to GPL, nevertheless, are not covered by the guarantee.

The GPL (general Public License) demands not the free passing, but essentially guarantees that the recipient of one the GPL underlying software has the opportunity to use these, to develop furhter and to distribute. Substantial condition for this is the availablity of the source code and all means which are necessary for the subsequent treatment. To offer the software at justifiable costs, is the essential duty of the distributor of free software. Beyond this the software underlying the GPL, can be treated similar as proprietary softwar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Неужели ни у кого нет прецедентов из своей личной практики? Что-то не верится, что никто не применяет GNU GPL софт в своих разработках.

Может материалы с этого ресурса:

http://is.ifmo.ru/foundation/

http://is.ifmo.ru/foundation/_gnu.htm

- будут полезны и внесут хоть часть ясности.

P.S. те, кто хоть как-то сталкивались - узнают :w00t: , что это URL знаменитой школы SWITCH-программирования проф. Шалыто для автоматов с явно определёнными состояниями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...