LINUX.ORG.RU

Почему дрова закрыты?

 , ,


0

2

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

И тут возник вопрос: а почему дрова делают закрытыми? Я бы понял, если бы за дрова брали деньги, или открытие кода создало бы риск, что какие-то платные функции взломают, или ещё что. Но нет, абсолютное большинство дров можно абсолютно бесплатно получить под шинду (в закрытом виде) и компания-производитель ничего не выигрывает и не проигрывает от распространения дров.

Даже напротив, чем более доступны дрова, тем больше систем сможет использовать их оборудование, тем большему количеству пользователей они смогут продать своё железо. Какой смысл закрывать драйвера и ограничивать их распространение?

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

То есть если ты изначально не писал открытый код открывать его дорого.

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

Когда-то в университетские годы изучал схемотехнику и разработку новых логических устройств. Скажу так, если вкратце: если всё, что знаешь об устройстве — это протокол общения с внешними устройствами, то чтобы понять принцип и создать полноценный аналог, нужно быть настолько умным, что не проблема и всё сделать с нуля и написать собственные дрова, что часто проще, чем подстраиваться под чужой протокол. Либо, если уж подстраиваться, то лучше использовать какой-то базовый открытый драйвер, вроде тех, что обычно добавляют в ядро Linux.

ShkiperDesna
() автор топика
Ответ на: комментарий от alysnix

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

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

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

Это один из важнейших пунктов бизнес плана - насколько быстро твоя технология может быть скопированна конкурентами.

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

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

Вот неполный список основных причин:

  • Боятся публично показать говнокод.
  • Украли чей-то код и также боятся что станет известно.
  • Боятся что кто-то возьмет их код, чуть подправят и будут использовать для своей железки. Получается одни потратили деньги на написание драйвера а другие используют его бесплатно.
  • Заказали часть кода у сторонней компании которая не разрешает публиковать исходники по первым трем причинам. Так один и тот-же код можно продавать много раз, если исходники откроют то конкурент может глянув написать похожее за короткое время.
V1KT0P ★★
()

Потому что корпоративный мир - это винда, MS Office, AutoCAD, 3D Studio, Photoshop и т. п. И это ещё терпимо, потому что однажды мне прислали файл из какого-то креативного офиса не то от Apple, не то от Adobe, который не открывался вообще ничем сторонним. Пока на том конце вникали в суть проблемы, успел найти какой-то онлайн-ковертер.

Дают нам хоть какие-то дрова - и то хорошо. Ситуация меняется, но очень медленно. Все, кто позарился на free speech, уже пришли на онтопик. Осталось перетянуть тех, кому подавай free beer.

Vidrele ★★★★
()

И тут возник вопрос: а почему дрова делают закрытыми? Я бы понял, если бы за дрова брали деньги, или открытие кода создало бы риск, что какие-то платные функции взломают, или ещё что. Но нет, абсолютное большинство дров можно абсолютно бесплатно получить под шинду (в закрытом виде) и компания-производитель ничего не выигрывает и не проигрывает от распространения дров.

Их не то чтобы «делают закрытыми». Зачастую их просто не делают открытыми. Закрытость — это состояние по умолчанию, и производитель просто не удосуживается его изменить путём выкладывания исходников куда-то. Потому что это ему не нужно, но это дополнительный шаг. Простой, да, не затратный, но всё равно, к нему нет никаких причин у производителя. Вот и не открывают. Это, вероятно, основная причина.

Ну и есть, конечно, особые случаи, вроде Nvidia — когда там множество ценных® уникальных© инноваций™, которыми они не хотят делиться с теми, кто может их девайсы реверсинженирнуть. Такое тоже есть. Но большинство просто не озаботилось открытием, только и всего.

CrX ★★★★★
()

Какие причины не верить самим авторам проприетарного софта?

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

Говнокод нередко называют причиной небольшие компании и индивидуальные разработчики. Часто код приводят в порядок и открывают под нормальной лицензией.

Секреты закрытым кодом никто всерьёз не защищает. Реверсится всё довольно быстро, так что закрытый код это просто неудобство для специалистов, но не более. Для защиты алгоритмов от чужих глаз существует SaaS.

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

Секреты закрытым кодом никто всерьёз не защищает. Реверсится всё довольно быстро, так что закрытый код это просто неудобство для специалистов, но не более.

Этого анонимуса - да в разработчики ReactOS.

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

Этого анонимуса - да в разработчики ReactOS.

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

V1KT0P ★★
()
  1. Вирусы.

Закрытость и блобность драйверов к устройствам способствует распространению государственных вирусов.

Пример: stuxnet.

И такие компании как Realtek и Jmicron подписали, государственный, вирус написанный в третей стране!

А если весь код будет открыт и всем будет доступна технология воспроизводимых сборок, то государствам сложнее будет распространять вирусы.

  1. Злоупотребления.

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

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

За деньги на фуллтайме?

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

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

В свободное время на энтузиазме и за скудные донаты

Ну вот. У них хобби такое — сделать свободный клон NT. Не пересборку из утёкших кодов или результатов декомпиляции, которую нельзя будет где-то показать без риска получить иск от Microsoft. Могу предположить, что основная проблема там — написать новый код, а не расковырять ядро NT, благо этим и так многие занимаются. Плюс API драйверов, по идее, должны быть доступны, так что остаётся «всего лишь» написать совместимую реализацию.

активный пиар, направленный на потенциальных инвесторов

Сложно представить, что такой проект может быть кому-то настолько сильно нужен.

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

Ничего ты не сделаешь. Исходный код - это фейк. Невозможно собрать ни одну программу. Проверено лично. Мало того, главнокомандующий Рассеии так сказал - всё в сети дезинформация. Золотые слова!

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

Ничего ты не сделаешь. Исходный код - это фейк. Невозможно собрать ни одну программу. Проверено лично.

Тут иногда с опенсорсными проектами с документацией но с кучей зависимостей хрен соберешь.

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

Иногда в часть функционала реализована программно в драйвере

Когда-то небольшим патчем видеокарта от ATI превращалась в карту подороже. Сам так делал.

Psilocybe ★★★★★
()

Ну например в драйвере имплементация DRM, HDCP тот же у видеокарт.

А вообще нормальные производители железа драйвера не закрывают, а nvidia просто не надо покупать и использовать.

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

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

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

Скажи это про фирму 1С

Застрявшие в девяностых придурки. При этом все в курсе, что их даже ломать не надо — эмуляторы ключей есть. И их часто используют даже те, у кого всё куплено, потому что так надёжнее. На самом деле, наверно, не совсем застрявшие, потому как SaaS они продвигают достаточно активно.

anonymous
()

Какой смысл закрывать драйвера и ограничивать их распространение?

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

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

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

самые передовые микросхемоделы не только исходный код драйверов не обнародуют

Драйверы AMD и Intel в ядре, ты о чём вообще?

В микроэлектронике денежные вложения в проекты исчисляются миллиардами рублей

А, ну тогда это не передовые, соррян.

anonymous
()

Драйверы делают закрытыми чтобы не разглашать спецификации

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

Все остальное надумано. Хочешь понять причину - иди по следу денег.

no-dashi-v2 ★★★
()
Последнее исправление: no-dashi-v2 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Драйверы AMD и Intel в ядре, ты о чём вообще?

Вместе с исходными текстами микрокода, да? Между прочим, в этом микрокоде/прощивке может быть заложено что угодно.

Enthusiast ★★★
()