Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Yocto на Cyclone V SoC - что можно пользовать, если не GPL/Open Source
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
iiv
Добрый день,

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

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

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

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

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

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

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

Спасибо!

ИИВ
a123-flex
Цитата(iiv @ Jun 6 2018, 15:31) *
Добрый день,

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

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

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

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

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

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

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

Спасибо!

ИИВ

Есть одни парни, которые лучше Вас умеют делать магниты. А вот делать исходники они очень не любят, зато очень любят их воровать. Так что мое имхо, я бы на Вашем месте постарался все в open НЕ выкладывать, если Вам хочется долго и счастливо пользоваться плодами своего большого труда.
iiv
Цитата(a123-flex @ Jun 7 2018, 09:53) *
Есть одни парни, которые лучше Вас умеют делать магниты. А вот делать исходники они очень не любят...

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

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

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

Вдруг знаете, скажите, пожалуйста, какая RTOS по возможности не с дико дорогой лицензией поддерживала бы этот Cyclone V SoC с обоими процессорными ядрами, простой и удобной загрузкой плисовой прошивке во время работы, поддержкой LPDDR2, SDCARD, RGMII на гигабит?
Kuzmi4
Цитата(iiv @ Jun 7 2018, 12:47) *
.. какая RTOS..

В принципе если важна цена то можно посомтреть на FreeRTOS
А так попробуйте обратиться к локальными дистрибьюторам QNX
и Nucleus RTOS (последнюю сам лично не запускал, но знакомые говорят что работает)
iiv
Спасибо большое, Kuzmi4,

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

Спасибо!

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

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

Цитата(iiv @ Jun 6 2018, 15:31) *
Юзер может захотеть подставить свою функцию (написанную на С), которую мне надо скомпилировать на этой борде и прилинковать к одному из своих модулей.


И, да, ваша основная защита - патент на изобретение, если в вашем изделии есть изобретение.
iiv
Цитата(Fat Robot @ Jun 8 2018, 01:39) *
Нужно решать задачи по мере их возниконвения, а не в превентивном порядке.

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

Да полно Вам, уважаемый Fat Robot, открытые системы хаять. Мне одного процессорного ядра не хватает, да и, как я понимаю, ртосы очень ограничены, а мой софт влочит за собой пять миллионов строк C и фортрана с двухядерностью, и, честно говоря, я не сильно представляю как это все сделать на РТОСах или бареметалле. То есть если это можно конечно, то я всеми конечностями - за, но есть большущее подозрение, что это невозможно, по крайней мере, на Cyclone V SoCe.
a123-flex
Цитата(Fat Robot @ Jun 7 2018, 23:39) *
И, да, ваша основная защита - патент на изобретение, если в вашем изделии есть изобретение.

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

Кроме ситуации с кристальным циклом, описанной yes, которая к данному случаю не относится.
Kuzmi4
Цитата(iiv @ Jun 7 2018, 22:30) *
.. как запустить две программы, по одной на процессор на Cyclone V SoC, чтоб хотя бы с одного можно было бы коммуницироваться с плиской, а оба процесса имели бы доступ в общую память и минимальную функциональность семафоров..

Если вопрос в том как запустить 2 таска по 1му на процессор - на столько глубоко FreeRTOS я не знаю sad.gif
В принципе, могу посоветовать вам глянуть на OpenAMP, у Xilinx можно было найти нормально информацию про этого зверя для ZYNQ платформы - возможно вы там найдёте что то.
iiv
Цитата(a123-flex @ Jun 8 2018, 10:19) *
Любопытно было бы увидеть ситуацию, где наличие патента помешало бы китайцам копировать что либо.

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

Цитата(a123-flex @ Jun 8 2018, 10:19) *
Кроме ситуации с кристальным циклом, описанной yes, которая к данному случаю не относится.

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

Цитата(Kuzmi4 @ Jun 8 2018, 13:46) *
Если вопрос в том как запустить 2 таска по 1му на процессор - на столько глубоко FreeRTOS я не знаю sad.gif

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

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

https://softwareengineering.stackexchange.c...th-gpl-software
https://www.softwarefreedom.org/resources/2...ance-guide.html

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

Остается окончательно понять как правильно отгружать - в комплекте с железкой, или таки отгружать юзеру железку с GPLным линуксом и предлагать сгрузить бесплатно проприетарную версию софтвера с сайта. Если кто знает как правильно, посоветуйте, пожалуйста!
Kuzmi4
Цитата(iiv @ Jun 8 2018, 12:08) *
..считаю Вас большим спецов в этой области..

Зря, я не истина в последней инстации - это у меня как сопутствующая активность идёт / кому то постоянно что то надо сделать smile3046.gif
Вы можете заглянуть например сюда - возможно там дадут больше информации.
a123-flex
Цитата(iiv @ Jun 8 2018, 12:08) *
пожалуйста, поделитесь ссылкой, я как-то не нашел!

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
а вот первоисточник
AVR
Цитата(iiv @ Jun 6 2018, 14:31) *
Еще вопрос. Юзер может захотеть подставить свою функцию (написанную на С), которую мне надо скомпилировать на этой борде и прилинковать к одному из своих модулей. Правильно ли я понимаю, что в этом случае я совершенно не смогу отвертеться от GPL и должен буду раскрыть коды или есть какое-то решение это не делать? Если да, то как, скажите, пожалуйста?

Python? Lua? etc?

Цитата(iiv @ Jun 6 2018, 14:31) *
На плате имеется несколько выполнялок, которые я скомпиллил у себя с использованием только BSD библиотек. Из системного эти выполнялки используют только системные функции и загрузку прошивки плиски.

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

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

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

Не надо с перепугу бежать на RTOS... К слову, контора, где я сейчас бурно тружусь, преспокойно сует Linux во всё что только можно, без опаски. И лицензию не нарушает никак.
iiv
Цитата(AVR @ Jun 10 2018, 01:54) *
Python? Lua? etc?

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

Как я уже смог понять - я тут не нарушаю GPL так как вызываю компиллер с командной строки и не имею с компиллером сильных связей. Так как на STDC распространяется исключение от GPL, то все должно нормально катить и идею перейти на RTOS я постепенно забываю как о страшном сне.
mantech
Цитата(a123-flex @ Jun 8 2018, 08:19) *
Любопытно было бы увидеть ситуацию, где наличие патента помешало бы китайцам копировать что либо.

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


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

Цитата(iiv @ Jun 9 2018, 23:32) *
То есть моя программа должна получить юзерскую функцию в исходниках, скомпилить ее до объекника и прилинковать в моей выполнялке.


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

Цитата(iiv @ Jun 9 2018, 23:32) *
и идею перейти на RTOS

Если вышесказанное обязательно для вашей разработки, то про РТОС можете забыть, ибо компилятора, как вы хотите, под ней нет, а портировать под нее сорцы GCC, ИМХО проще на голове на 9й этаж запрыгнуть wacko.gif
iiv
Цитата(mantech @ Jun 12 2018, 01:04) *
Если автор пишет про то, что там уважают GPL, значит уважают и патентное право, и всякие шараги с китайскими клонами могут нагнуть на мама не горюй денег... А если продавать в Китае, так и на GPL можно не обращать внимания biggrin.gif

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

Цитата(mantech @ Jun 12 2018, 01:04) *
Если вышесказанное обязательно для вашей разработки, то про РТОС можете забыть, ибо компилятора, как вы хотите, под ней нет, а портировать под нее сорцы GCC, ИМХО проще на голове на 9й этаж запрыгнуть wacko.gif

ага, я уже понял, спасибо!

Цитата(mantech @ Jun 12 2018, 01:04) *
А если с ошибкой написана, где юзер об этом узнает?
Любите усложнять себе и юзерам жизнь, когда можно скомпиленную функцию уже подкинуть...

я не усложняю. Простой юзер эту функциональность пользовать не будет, но есть куча тех пользователей, кому это нужно. То есть он будет хотеть сам написать эту функцию, (да с ошибкой может быть) и скормить в мой пакет. Понятно, что если ошибка, то я ему отпечатаю выхлоп компилятора, чтоб он исправился. И это не усложнение - а стандарт в нашей области, если его у меня не будет, куча ЯМР центров меня сразу будут хаять.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.