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

Yocto на Cyclone V SoC - что можно пользовать, если не GPL/Open Source

Добрый день,

 

есть самопально разведенная платка с Cyclone V SoC под Yocto которую я планировал в ближайшее время барыжить.

 

На плате имеется несколько выполнялок, которые я скомпиллил у себя с использованием только BSD библиотек. Из системного эти выполнялки используют только системные функции и загрузку прошивки плиски.

 

Еще пользуется wget для загрузки прошивки с использованием OpenSSL, но тут вроде нет нарушения GPL лицензии.

 

Общение с внешним сервером производится через сокеты на самопально написанном минималистическом веб сервере.

 

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

 

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

 

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

 

Спасибо!

 

ИИВ

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


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

Добрый день,

 

есть самопально разведенная платка с Cyclone V SoC под Yocto которую я планировал в ближайшее время барыжить.

 

На плате имеется несколько выполнялок, которые я скомпиллил у себя с использованием только BSD библиотек. Из системного эти выполнялки используют только системные функции и загрузку прошивки плиски.

 

Еще пользуется wget для загрузки прошивки с использованием OpenSSL, но тут вроде нет нарушения GPL лицензии.

 

Общение с внешним сервером производится через сокеты на самопально написанном минималистическом веб сервере.

 

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

 

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

 

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

 

Спасибо!

 

ИИВ

Есть одни парни, которые лучше Вас умеют делать магниты. А вот делать исходники они очень не любят, зато очень любят их воровать. Так что мое имхо, я бы на Вашем месте постарался все в open НЕ выкладывать, если Вам хочется долго и счастливо пользоваться плодами своего большого труда.

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


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

Есть одни парни, которые лучше Вас умеют делать магниты. А вот делать исходники они очень не любят...

Эххх, золотые слова, спасибо! Да и парней-то две группы, одна сидит в 100км, другая - в 200км от меня, с пол-лярдным оборотом.

 

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

 

Я уже думал, на RTOS перейти, но никогда с ними не имел дело.

 

Вдруг знаете, скажите, пожалуйста, какая RTOS по возможности не с дико дорогой лицензией поддерживала бы этот Cyclone V SoC с обоими процессорными ядрами, простой и удобной загрузкой плисовой прошивке во время работы, поддержкой LPDDR2, SDCARD, RGMII на гигабит?

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


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

.. какая RTOS..

В принципе если важна цена то можно посомтреть на FreeRTOS

А так попробуйте обратиться к локальными дистрибьюторам QNX

и Nucleus RTOS (последнюю сам лично не запускал, но знакомые говорят что работает)

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


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

Спасибо большое, Kuzmi4,

 

скажите, пожалуйста, вдруг можете посоветовать где взять понятный пример как запустить две программы, по одной на процессор на Cyclone V SoC, чтоб хотя бы с одного можно было бы коммуницироваться с плиской, а оба процесса имели бы доступ в общую память и минимальную функциональность семафоров. В РТОСах совсем профан, и как-то погуглив совсем ничего не смог понять.

 

Спасибо!

 

ИИВ

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


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

Нужно решать задачи по мере их возниконвения, а не в превентивном порядке. Есть функционал стандартной поставки, прокрывающий, исходя из ваших исследований рынка, потребности 90-95% пользователей. Остальное - по взаимной любви и согласию.

 

И никаких открытых архитектур. Иначе вы на поддержку "самоделкиных" будете все ресурсы тратить. А они про вас будут гадости писать на каждом углу.

 

Юзер может захотеть подставить свою функцию (написанную на С), которую мне надо скомпилировать на этой борде и прилинковать к одному из своих модулей.

 

И, да, ваша основная защита - патент на изобретение, если в вашем изделии есть изобретение.

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


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

Нужно решать задачи по мере их возниконвения, а не в превентивном порядке.

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

 

Да полно Вам, уважаемый Fat Robot, открытые системы хаять. Мне одного процессорного ядра не хватает, да и, как я понимаю, ртосы очень ограничены, а мой софт влочит за собой пять миллионов строк C и фортрана с двухядерностью, и, честно говоря, я не сильно представляю как это все сделать на РТОСах или бареметалле. То есть если это можно конечно, то я всеми конечностями - за, но есть большущее подозрение, что это невозможно, по крайней мере, на Cyclone V SoCe.

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


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

И, да, ваша основная защита - патент на изобретение, если в вашем изделии есть изобретение.

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

 

Кроме ситуации с кристальным циклом, описанной yes, которая к данному случаю не относится.

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


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

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

Если вопрос в том как запустить 2 таска по 1му на процессор - на столько глубоко FreeRTOS я не знаю :(

В принципе, могу посоветовать вам глянуть на OpenAMP, у Xilinx можно было найти нормально информацию про этого зверя для ZYNQ платформы - возможно вы там найдёте что то.

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


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

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

тут самое любопытное даже в том, что чтоб патентовать в Китае и более-менее во всей Азии, надо везде иметь там фирмы, и эти фирмы после этого должны будут выискивать нарушения патентов и бодаться. Реально - это десятки лямов в год, так как тем, кто в этих фирмах будут работать надо платить хорошую зарплату, чтоб они мотивированно работали и не смотрели по сторонам. Либо вести производство в Азии и давать серьезную долю азиатам, чтоб они были сами заинтересованы в том, что патенты не нарушаются.

 

Кроме ситуации с кристальным циклом, описанной yes, которая к данному случаю не относится.

пожалуйста, поделитесь ссылкой, я как-то не нашел!

 

Если вопрос в том как запустить 2 таска по 1му на процессор - на столько глубоко FreeRTOS я не знаю :(

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

 

Исходя из ссылок

 

https://softwareengineering.stackexchange.c...th-gpl-software

https://www.softwarefreedom.org/resources/2...ance-guide.html

 

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

 

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

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


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

..считаю Вас большим спецов в этой области..

Зря, я не истина в последней инстации - это у меня как сопутствующая активность идёт / кому то постоянно что то надо сделать :smile3046:

Вы можете заглянуть например сюда - возможно там дадут больше информации.

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


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

пожалуйста, поделитесь ссылкой, я как-то не нашел!

https://electronix.ru/forum/index.php?showt...t&p=1341134

тема, где yes впервые говорил об этом,

 

https://electronix.ru/forum/index.php?showt...t&p=1561862

вот второй раз,

 

https://www.semiwiki.com/forum/content/484-...ersus-smic.html

а вот первоисточник

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


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

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

Python? Lua? etc?

 

На плате имеется несколько выполнялок, которые я скомпиллил у себя с использованием только BSD библиотек. Из системного эти выполнялки используют только системные функции и загрузку прошивки плиски.

Основная масса библиотек это LGPL - отличная лицензия для такой задачи.

Достаточно просто упомянуть что такая библиотека используется, не модифицировать ее непосредственно (да и зачем это как правило надо делать???) и всё будет хорошо.

 

LGPL/GPL обросла таким неимоверным количеством страшилок и ужастиков, что люди уже не верят что LGPL создано для их блага и блага "сообщества". И это можно свободно использовать в коммерческих проектах. И ничего не открывать.

 

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

 

Не надо с перепугу бежать на RTOS... К слову, контора, где я сейчас бурно тружусь, преспокойно сует Linux во всё что только можно, без опаски. И лицензию не нарушает никак.

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


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

Python? Lua? etc?

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

 

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

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


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

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

 

Кроме ситуации с кристальным циклом, описанной yes, которая к данному случаю не относится.

 

Если автор пишет про то, что там уважают GPL, значит уважают и патентное право, и всякие шараги с китайскими клонами могут нагнуть на мама не горюй денег... А если продавать в Китае, так и на GPL можно не обращать внимания :biggrin:

 

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

 

А если с ошибкой написана, где юзер об этом узнает?

Любите усложнять себе и юзерам жизнь, когда можно скомпиленную функцию уже подкинуть...

 

и идею перейти на RTOS

Если вышесказанное обязательно для вашей разработки, то про РТОС можете забыть, ибо компилятора, как вы хотите, под ней нет, а портировать под нее сорцы GCC, ИМХО проще на голове на 9й этаж запрыгнуть :wacko:

Изменено пользователем mantech

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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