LINUX.ORG.RU

Проприетарный драйвер

 , ,


0

1

Есть дистрибутив, который необходимо выкладывать в открытый доступ, и который включает драйвер, скачанный из интернета (считай сворованный). Необходимо чтобы все компилировалось, но исходники проприетарного драйвера светить нельзя. Очевидный выход - завернуть исходники в блобы (предкомпилированный бинарник). Это нарушит лицензию? Что если автору проприетарного драйвера это не понравится, что он может от меня потребовать? Как обойти эти заморочки с лицензиями?

Хммм...

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

Понятно что это говённый ход, конечно (потому как воровство, если по большому счёту), но как вариант?

Moisha_Liberman ()

Это нарушит лицензию? Что если автору проприетарного драйвера это не понравится, что он может от меня потребовать?

Нарушит. Потребовать может от прекращения распространения дистрибутива до компенсации материальных и моральных потерь.

Как обойти эти заморочки с лицензиями?

Переписать заново по мотивам. Лицензионно-чистый метод один: clean room. Один человек (или группа) пишет спецификацию железа глядя на код драйвера. Другой по спецификации пишет драйвер.

monk ★★★★★ ()
Ответ на: комментарий от monk

переписывать не вариант - более 700 файлов исходного кода и сроки не те.

Если завернуть драйвер в блоб и распространять с дистрибутивом уже в предкомпилированном виде? это нарушит gpl? как владелец драйвера может понять что именно внутри бинарника и предъявить мне?

k000858 ()
Ответ на: комментарий от k000858

Если завернуть драйвер в блоб и распространять с дистрибутивом уже в предкомпилированном виде? это нарушит gpl?

Насколько я помню, ядро линукса позволяет линковать блобы. Если драйвер не использует символы с EXPORT_SYMBOL_GPL.

как владелец драйвера может понять что именно внутри бинарника и предъявить мне?

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

Весь вопрос в цене. Если автор продаёт этот драйвер за килобаксы, то может заморочиться и отсудить цену драйвера за каждый незаконный экземпляр и чуть-чуть морального ущерба. Если дохода именно от драйвера не имеет, то будет судиться только от большого правдолюбия. И если именно выкладывать, а не продавать (и не иметь какой-либо косвенной выгоды типа рекламы на сайте) и владелец дистрибутива в РФ, то реально только запретить распространение и запретить использование всем, кто уже скачал.

monk ★★★★★ ()

считай сворованный

Это нарушит лицензию

Не вижу какого-либо противоречия.

Как обойти эти заморочки с лицензиями?

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

Либо опакетить драйвер и сделать инструкцию по его установке. Скачивание драйвера в ряде таких случаев возлагается на пользователя.

grem ★★★★★ ()
Ответ на: комментарий от monk

И если именно выкладывать, а не продавать (и не иметь какой-либо косвенной выгоды типа рекламы на сайте) и владелец дистрибутива в РФ, то реально только запретить распространение и запретить использование всем, кто уже скачал.

Как посылка связана со следствием?


ГК РФ
Статья 1301. Ответственность за нарушение исключительного права на произведение

В случаях нарушения исключительного права на произведение автор или иной правообладатель наряду с использованием других применимых способов защиты и мер ответственности, установленных настоящим Кодексом (статьи 1250, 1252 и 1253), вправе в соответствии с пунктом 3 статьи 1252 настоящего Кодекса требовать по своему выбору от нарушителя вместо возмещения убытков выплаты компенсации:
1) в размере от десяти тысяч рублей до пяти миллионов рублей, определяемом по усмотрению суда исходя из характера нарушения;
2) в двукратном размере стоимости контрафактных экземпляров произведения;
3) в двукратном размере стоимости права использования произведения, определяемой исходя из цены, которая при сравнимых обстоятельствах обычно взимается за правомерное использование произведения тем способом, который использовал нарушитель.



УК РФ
Статья 146. Нарушение авторских и смежных прав

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

2. Незаконное использование объектов авторского права или смежных прав, а равно приобретение, хранение, перевозка контрафактных экземпляров произведений или фонограмм в целях сбыта, совершенные в крупном размере, -
наказываются штрафом в размере до двухсот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев, либо обязательными работами на срок до четырехсот восьмидесяти часов, либо исправительными работами на срок до двух лет, либо принудительными работами на срок до двух лет, либо лишением свободы на тот же срок.
3. Деяния, предусмотренные частью второй настоящей статьи, если они совершены:
б) группой лиц по предварительному сговору или организованной группой;
в) в особо крупном размере;
г) лицом с использованием своего служебного положения, -
наказываются принудительными работами на срок до пяти лет либо лишением свободы на срок до шести лет со штрафом в размере до пятисот тысяч рублей или в размере заработной платы или иного дохода осужденного за период до трех лет или без такового.

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


А извлечение дохода имеет значение только для:


Статья 7.12. Нарушение авторских и смежных прав, изобретательских и патентных прав

1. Ввоз, продажа, сдача в прокат или иное незаконное использование экземпляров произведений или фонограмм в целях извлечения дохода в случаях, если экземпляры произведений или фонограмм являются контрафактными в соответствии с законодательством Российской Федерации об авторском праве и смежных правах либо на экземплярах произведений или фонограмм указана ложная информация об их изготовителях, о местах их производства, а также об обладателях авторских и смежных прав, а равно иное нарушение авторских и смежных прав в целях извлечения дохода, за исключением случаев, предусмотренных частью 2 статьи 14.33 настоящего Кодекса, -
влечет наложение административного штрафа на граждан в размере от одной тысячи пятисот до двух тысяч рублей с конфискацией контрафактных экземпляров произведений и фонограмм, а также материалов и оборудования, используемых для их воспроизведения, и иных орудий совершения административного правонарушения; на должностных лиц - от десяти тысяч до двадцати тысяч рублей с конфискацией контрафактных экземпляров произведений и фонограмм, а также материалов и оборудования, используемых для их воспроизведения, и иных орудий совершения административного правонарушения; на юридических лиц - от тридцати тысяч до сорока тысяч рублей с конфискацией контрафактных экземпляров произведений и фонограмм, а также материалов и оборудования, используемых для их воспроизведения, и иных орудий совершения административного правонарушения.

bormant ★★★★★ ()
Ответ на: Re: Ясно... от anonymous

Да! Точно!

Правда, видимо в отличие от Вас я знаю что такое этот медиатековский sdk, который упомянул ТС. Я, когда прочёл исходное сообщение, про него почему-то и подумал. Про медиатек...

Но не забивайте себе голову. Вам это лишнее.

Moisha_Liberman ()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Это он про...

Медиатековский (ралинковский) SDK. Всё правильно. Там... Примерно так и есть. Да и остальные «условия», кроме объёма кода тоже вымораживают.

Зато этот класс оборудования очень любят манагеры. Цены уж больно вкусные китайцы дают. Но потом наступает черёд sdk... И вечер перестаёт быть томным.

Moisha_Liberman ()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от bormant

По ГК надо найти ответственного самостоятельно, чтобы подать на него в суд. Подать в суд на сайт нельзя.

По УК для п.1 нужен плагиат, для п.2 нужен «в целях сбыта» (по крайней мере за торрент в деле фигурировало, что обвиняемый получал за раздаваемый софт очки на сайте). И для обоих крупный размер.

А вот если есть доход (в том числе в виде рекламы), то 7.12 никаких других условий не требует.

P.S. IANAL

monk ★★★★★ ()
Ответ на: Re: Это он про... от Iron_Bug

Ну да.

Но там, короче, всё довольно печально может быть. Одно связано с другим и, короче, не разберёшь. Зависит от того, что именно там за драйвер. Так что, отдельно «драйвер» конечно навряд ли 700 файлов занимает, но вот всё и в куче...

Ну его на фиг, если честно.

Moisha_Liberman ()
Ответ на: Ну да. от Moisha_Liberman

еще раз говорю, драйвер вай-фай чипа 700 файлов посмотрите, на гитхабах есть слитые, mt7603, mt7615. и не путайте их с sdk: sdk это ядро, тулчейн, юбут и тд - 213к объектов, 3.1 гбайта

давайте по теме: как сделать так, что бы можно было выложить исходники ядра с скомпилированным драйвером, так что бы ничего не нарушить

k000858 ()
Ответ на: комментарий от k000858

давайте по теме: как сделать так, что бы можно было выложить исходники ядра с скомпилированным драйвером, так что бы ничего не нарушить

По теме: никак.

считай сворованный

Ну вот, ты же сам всё понимаешь. Хочешь чтобы тебя тут утешили-успокоили?

Как обойти эти заморочки с лицензиями

Вариант 1 - купить лицензию. Вариант 2 - забить на лицензию и быть морально готовым к штрафам.

no-such-file ★★★★★ ()
Ответ на: комментарий от k000858

Кхммм... =)

и не путайте их с sdk: sdk это ядро, тулчейн, юбут и тд - 213к объектов, 3.1 гбайта

Я их не путаю. Я с ним работаю и прекрасно знаю что именно выложено на гитхаб. Огрызки.

1 Рабочий код драйвера это десяток, максимум пятнадцать-двадцать файлов исходников. Для конкретной ревизии и конкретного чипсета. Всё остальное это код для других ревизий и всякая служебная шняга. Т.е., на это можно не особо обращать внимание при работе с конкретной ревизией конкретного чипсета.

Нужно просто распедалить Makefile, да посмотреть что идёт из исходников для данной реализации, а что идёт из общих для некоторого семейства файлов.

Поэтому если Вы откроете https://github.com/openwrt/mt76, то увидите там некоторое число файлов, но для mt7603 там отдельный каталог. И смотреть что именно для mt7603 надо и в Makefile в общем дереве исходников и в конкретном (для mt7603) Makefile.

Иначе так и будет... 700 файлов для драйвера.

2 Фирмварь. Если делать по-честному, то надо убедиться что фирмварь у Вас актуальна для данного чипсета и ревизии. Т.е., SDK в зубы и вперёд. И адреса проверять и всё остальное-прочее.

На гитхаб выкладываются только бинарники фирмвари. Остаётся только скрестить пальцы и надеяться что она не протухла и загрузится и будет работать правильно. Иначе будет вон (как уже раньше говорил) — https://github.com/openwrt/mt76/issues/60

ZBT-WG3526 MT7603 - WIFI 2,4Ghz - throughput is very poor #66
ZBT-WG3526 MT7603 - kernel crash on multiple SSID Wifi - mt7603_mac.c:1205 mt7603_mac_work+0x1bc/0x27 #63
ZBT-WG3526 MT7603 - WIFI kernel/driver crash on high usage (mt7603_mac.c:1205 mt7603_mac_work)

Или вот — https://github.com/openwrt/mt76/issues/126 Хреновое управление мощностью.

Да всё потому, что фирмварь кривая. Либо нет управления, либо нет управления обменом. Т.е., вроде чего-то работает, но всё как-то криво.

Если у Вас есть и фирмварь рабочая, то всё проще. Предположим что есть.

Тогда, если по теме, то делаете точно так же как на githab. Просто выкладываете только свой драйвер из модифицированных исходников и блобом к нему фирмварь. Надеюсь, Вы не думаете что чуваки из openwrt/lede или Xaomi или ASUS пилили с нуля дрова для mt7603? Они точно так же взяли исходники MTK, подтесали по месту и запустили. Вам что-то мешает сделать так же? Что именно? Вопли анонимов? Забейте. Они просто не представляют себе сколько времени надо чтобы разобраться в этом во всём «с нуля».

Удачи. Больше мне добавить нечего.

UPD. А, ну разве что только остаётся добавить «не ходите, дети, в Африку гулять» или «не пытайтесь повторить этого дома» по отношению к ралинк/медиатеку. Но мне ни кто не поверит. Так что, будем считать что предупредил.

Moisha_Liberman ()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: Кхммм... =) от Moisha_Liberman

А что скажете на счет такого варианта?

/------------.-\
| Kernel       |
|              |
|   /--------\ |
|   | Module | |     /-------------------\
|   | (LGPL) <========> proprietary code |
|   \--------/ |     \-------------------/
\--------------/

Ядро (GPL) + Module (LGPL) лежат в виде исходников, proprietary code в виде бинарного блоба, внутренности которых никто не видит и не знает что они ворованные.

Module в данном случае это некий врапер - программная прослойка между ядром и блобом, позволяющая блоб выкладывать с любой лицензией (за счет LGPL)

k000858 ()
Ответ на: комментарий от k000858

По сути, я про это и говорю.

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

Без творческой переработки даже существующих исходников Вы рискуете выпустить на рынок кривое говно. Т.е., люди будут покупать Ваше изделие, которое работает через пень колоду и они будут много материться в Ваш адрес. Как минимум. А как максимум могут и продать Вам железо назад. Примеров выше крыши на том же гитхабе.

UPD. И совершенно похрен чё там орут пионеры-герои анонимы-герои. Не те риски учитываются. Если у Вас уже есть чипсеты и софт от МТК, то они свои бабки уже получили. Теперь как-то надо выправлять положение.

Moisha_Liberman ()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)