Opensource и качество

Материал из YourcmcWiki
Версия от 00:00, 3 декабря 2011; VitaliyFilippov (обсуждение | вклад) (Заказная модель бизнеса)

Перейти к: навигация, поиск
Автор

Виталий Филиппов
Дополнительный нижний колонтитул

Opensource и качество, или не плодите софт в неволе

Варианты названия:

  • Opensource и качество, или почему проприетарщина уныла
  • Opensource и качество, или «я в неволе не размножаюсь»
  • Opensource и качество, или софт в неволе не плодится!
  • Opensource Свободное ПО и качество, или не плодите софт в неволе.

Содержание

Тезисы

Почему так часто оказывается, что закрытое ПО имеет различные проблемы, и их так сложно, или вовсе невозможно, исправить? Причина кроется в изначальной модели бизнеса и цели разработки, которой является не создание качественного продукта, а продажи и зарабатывание денег на потребителях. Потребителю ни в коем случае не доверяют, исходники закрываются (а то сопрут!!!), не дай бог, навешивается реклама, DRM и руткиты, публичный багтрекер, конечно же, отсутствует, служба техподдержки инструктируется отвечать по шаблону, а в блогах тусуются позитивные заряженные веществами евангелисты, от которых ничего не добьёшься. Результат — ни решить проблемы, ни повлиять на дальнейшую жизнь проекта.

А теперь призыв — посмотрите в сторону OpenSource! Это же бесплатное решение многих проблем с качеством вашего продукта, а заодно, например, и многих ваших же проблем с качеством инструментов! Конечно, OpenSource тоже не должен пониматься как в карго-культе — «открыли исходники и качество резко возросло» — открытость должна быть в головах, а не на бумаге.

Именно о том, как производство и использование свободного ПО может помочь повысить качество, и будет доклад.

Информация о докладчике

Виталий Филиппов, ведущий веб-разработчик в компании CUSTIS. Также выступал на конференциях Highload-2009 (блиц-доклад), SECR-2009, РИТ-2010 (два блица: раз, два), ADD-2010, ADD-2011, DevConf-2011, WhaleRider-2011.

OpenSource
и качество, или не плодите софт в неволе %% ⌘⌘

Виталий Филиппов, CUSTIS

ПО? Качество? О чём это мы? ⌘⌘

  • О ПО, какое оно? Особенности, закрытое, открытое.
  • Типичное представление об OpenSource СПО.
  • Зоопарк свободных лицензий Elephant-red.svg
  • Свободное ПО и бизнес. Handshake icon.svg
  • Проблемы закрытого ПО
  • Свободное ПО и качество ↑↑↑

ПО - продукт особенный ⌘⌘

  • Бинарники и исходники
  • Постоянная работа с личными данными
  • Сильная завязка на платформы, форматы, протоколы
McSource.png Binaries.jpg

А также ПО... ⌘⌘

Bug-feature.jpg
  • Часто — является уникальным IDA Logo.jpg
  • Сложность продукта ⇒ обязательное наличие БАГОВ!
  • Умирание без поддержки
  • Но в то же время простота сборки
  • …и нулевая стоимость копирования.

ПО, сцуко, везде! ⌘⌘

AEM ECU.jpg

Даже если вы не работаете за компьютером :-)

  • Мобильные устройства
  • Вся бытовая техника
  • Самолёты, поезда
  • Автомобили (ECU, сигналки)
  • Продолжите список сами :)

Закрытое ПО ⌘⌘

  • Модель «производитель-потребитель»
  • «Лицензирование», закрытые лицензии: Вам Запрещено Всё
  • Недоверие к пользователю, как начало порчи отношений
  • Изощрённые способы защиты и монетизации
  • Частая монополия и бесплатная «первая доза»
  • СЕРВИСЫ: худший (но честный) вид закрытого ПО

Некоторые разъяснения

Закрытое (собственническое, proprietary) ПО — прямой перенос стандартной, капиталистической, собственнической модели ведения бизнеса — «производитель-потребитель» на программное обеспечение. Достаточно неприятно то, что многие воспринимают это как норму, а многие не знают, что бывает иначе.

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

Отсюда — закрытые лицензии. Ограниченные до безумия, обычно они накладывают ограничения только на пользователя, а производитель не имеет никаких обязательств, либо имеет, но очень ограниченные. Может быть и хуже — могут быть явно прописаны пункты, разрешающие сбор данных о пользователе. Лицензия длинная, её никто не читает. Такой тип софта называется Spyware.

Ближайшая аналогия — гарантийные обязательства. В гарантийке обязательно окажется какой-нибудь хитрый пункт и продукт у вас не примут :-) если не окажется сразу, продукт сначала отправится на экспертизу, которая будет длится ровно максимальный срок, установленный законами; если не окажется и после этого, продукт, наверное, всё-таки примут, но будут ремонтировать несколько месяцев (а в случае с устройством вы ещё и потеряете все данные, которые на нём были). Это к тому, что на свои обязательства очень легко «кладут» не только производители ПО.

После этого внезапно оказывается, что программу, копии которой как бы нужно покупать, очень легко скопировать, что вообще-то немудрено — копирование является естественной функцией. Выдумываются изощрённые способы защиты, но в конечном итоге ясно, что либо вы контролируете компьютер и можете делать всё что угодно с любыми данными и программами, хранящимися на нём, либо появляется что-то, что имеет контроль над вами. О таких попытках контроля наших с вами компьютеров всегда рассказывает главный идеолог и создатель движения за свободное ПО — Ричард Столлман. Идеи DRM’а, для которых требуется такой контроль — угрожают свободному ПО.

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

Отсюда и недоверие к потребителю. Мало того, что он «пиратит», так он ещё и создаёт проблемы своего тупостью — звонит в поддержку, задаёт идиотские вопросы, ничего не понимает… А то, что вы сами делаете его таким — это ничего? Ведь в нашем общества мечта продажника — человек, который зашёл, увидел и купил что-то, не думая. Это недоверие — лишний стимул «избушке» повернуться к пользователю сами знаете каким местом.

Одним из последних трендов, кроме того, является SaaS — Software as a Service. Любопытно, но если рассматривать это именно как ПО — это худший вид закрытого ПО, когда вы не контролируете вообще ничего — ПО вам никто даже не даёт потрогать. Вы только отправляете входные данные и получаете результат. Все данные попадают в руки другой компании; а например, если она американская, она их может выдать ФБР даже без судебного постановления.

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

Ещё про DRM

Вот за что «пиратам» точно нельзя сказать спасибо — так за то, что они популяризовали Шиндовш в Этой Стране (c). Это не единственный пример «бесплатной первой дозы», официальный вариант — это бесплатные копии для школ и университетов. Если человек вырастет и ничего не увидит, кроме несчастной винды, он на ней так и останется.

Попытки выдумать новые варианты защиты (DRM — Digital Rights Management) не прекращаются, но всё больше становится понятно, что защита эффективна, только если компьютер властвует над пользователем, а не наоборот. Например, из последнего — новое творение мелкомягких включает программу наклейки «Шиндовш 8 компатибле», в которую почему-то, во-первых, попал стандарт UEFI (идиотская мини-операционка вместо BIOS’а), а во-вторых, попало требование возможности UEFI Secure Boot без дополнительных разъяснений о возможности его отключения или замены ключей загрузки. Ну вы уже поняли, Secure Boot — это та же тивоизация, только перенесённая на компьютер :-) попытка превратить твой, анонимус, компьютер в быдло-игровую-консоль.

Все эти разработки подкрепляются попытками подмены морали, в которые могут поверить непосвещённые. Пользователю говорят:

  • «Вы стали жертвой нелицензионного программного обеспечения». Три ха-ха. Не мы стали, а вы :)
  • «Это для вашей защиты». В такой реализации защищённости пользователю это не прибавит, так как он не решает, что запускать, а что не запускать — за него решает Большой Брат. Зато, например, прибавится защита от тех, кто не поделился с M$ баблом на сертификат для драйвера (500$ в год).

Типичное представление %% ⌘⌘

Halyava2.jpg

По возрастанию знания: ⌘⌘

  • Linux, Android
  • «Не для простых смертных»
  • Исходники, копилефт
  • RMS, FSF, вирус — не вирус

Но многое малоизвестно: ⌘⌘

  • OpenSource Свободное ПО
  • Свободное Некоммерческое
  • Как появилось свободное ПО?
  • Зоопарк свободных лицензий
  • Связь открытости и качества (???)

НЕсвободные лицензии ⌘⌘

"Эта змея была выращена в неволе"

BredInCaptivity.jpg

НЕсвободные лицензии ⌘⌘

Shared Source
Приоткрыто «на посмотреть»
Freeware
«Free as beer». Можно распространять вирус :)
Shareware
Можно распространять, но нельзя свободно использовать.
Proprietary
«Bred in captivity»

Что такое свобода? ⌘⌘

4 свободы:

  1. Использовать
  2. Изучать и модифицировать (требует исходники)
  3. Распространять
  4. Распространять модифицированное

Свободные лицензии ++ ⌘⌘

  • Гарантируют пользователю 4 свободы.
  • Public Domain: отказ от прав ** — CC0, Unlicense
  • Permissive: без доп. ограничений — MIT/Apache/BSD и т. п.
  • Weak Copyleft: запрет смены лицензии, кроме компоновки — LGPL, CeCILL-C
  • Strong Copyleft: запрет смены лицензии — GPL, CeCILL
  • Есть ещё сильнее — Affero GPL

Вирус — не вирус %% ⌘⌘

Частое заблуждение:

BadVirusGPL.jpg WhiteFluffyBSD.jpg

...И я уж молчу о том, как боятся AGPL.

Все забыли о появлении FSF (1985) и GPL? ⌘⌘

Burgui.png
СПО было всегда (MIT, PDP-10, 1970-1980)

Потом Буржуи :-) закрыли Lisp-машины

Если GPL-вирус, то закрытые исходники вообще не размножаются (ц)

Семейство Creative Commons ⌘⌘

CC-BY permissive
CC-BY-NC некоммерческая ⇒ несвободная
CC-BY-ND без производных ⇒ несвободная
CC-BY-NC-ND   NC+ND
CC-BY-SA хороший copyleft не для софта
CC-0 хороший Public Domain

И всё бы хорошо… %% ⌘⌘

…Но людская подлость нашла баги в этих свободах!

Баги в свободах ⌘⌘

  • TiVo
    • Коллеги, не покупайте Motorola и Sony Ericsson!
  • Патенты
    • ТРОЛОЛО
    • К счастью, у нас их нет...
  • Законы, запрещающие некоторое ПО

Багфикс: GPLv3.

Патенты %% ⌘⌘

И патентные тролли.

TrollFace.svg

M$ -> Barnes&Noble ⌘⌘

  • 6,339,780 расположение иконки статуса загрузки в зоне браузера, отображающей контент
  • 5,579,517 и 5,758,352 совместимость имён файлов, используемых текущей операционной системой и её устаревшими версиями
  • 5,652,913 хранение факторов доступа ввода/вывода в структуре данных общего пользования
  • 6,791,536 и 6,897,853 симуляция ввода от манипулятора "мышь"
  • 5,778,372 постепенная загрузка браузером изображений, включённых в электронный документ
  • 5,889,522 класс для создания виджетов со вкладками (средствами операционной системы)
  • 6,891,551 использование указателей для изменения размеров области выделения при выделении текста
  • 6,957,233 добавление заметок к нередактируемым документам

TiVo

Фирма TiVo «попала» и теперь чётко ассоциируется не с какими-то непонятными ТВ-приставками, а с несвободой программной обеспечения — блокированием загрузчиков. И хотя на самом деле блокирование придумали не они, применили к Linux’у его они одними из первых. Смысл в том, что исходники свободно распространяются, их разрешено модифицировать и собирать… Но толку от этого никакого нет, потому что в само устройство прошит ключик, которым если не подписать свою сборку, девайс откажется её запускать.

Загрузчики же любили блокировать производители мобильных телефонов и процессоров для мобильных телефонов. У кого был Siemens? Там были процы Qualcomm без аппаратной защиты памяти, и некий ключ, требуемый для разблокировки загрузчика — «S-KEY», который получался через лазанье по флешу (аппаратной защиты памяти-то нет). Также разблокировать можно было через использование Test Point — точки на системной плате телефона, подключённой к ноге конфигурации загрузки процессора. При замыкании её на массу процессор позволял загружаться не с внутренней памяти, а с помощью загрузчика, загружаемого по последовательному интерфейсу. Народные умельцы делали и то, и другое — до сих пор живы Сименс Клуб и база патчей и ELF-приложений http://patches.kibab.com/.

Телефоны Siemens — это вообще отличный пример того, сколько хорошего можно сделать с программным обеспечением даже без свободной лицензии и доступа к исходникам. А что бы было, если бы доступ был? Может быть, производитель столь удобных и популярных в своё время телефонов до сих пор бы не умер?..

Для тех, кто не знает — Siemens, к которому применялись созданные сообществом доработки в виде «патчей» (изменений, вносимых в прошивку телефона) и «эльфов» (программ для телефона в родном формате, а не на Java) превращался в удобный смартфон, в своё время делавший почти всех, ибо смартфоны тогда были либо на убогом Symbian, либо на ещё более убогом Windows Mobile (Symbian хотя бы мог жить без вечных хард-ресетов, а винда — нет). Например, на S75v52 доступно 386 патчей и 111 эльфов. А что было бы, если бы руководство компании смогло поменять свои устаревшие взгляды и платформа была открыта?

Блокирование загрузчиков же продолжается и по сей день, хотя разные компании делают его в разной степени. У большинства даже заблокированные загрузчики всё равно разблокируются программно. Но есть и устройства, защита которых так и не взломана — среди них телефоны Motorola и некоторые Sony Ericsson. Хотя, может быть, моторола, будучи купленной гуглом, изменится к лучшему?

Note.svg Лично призываю всех бойкотировать телефоны и планшеты Motorola и Sony Ericsson! Учитывая, что они и по характеристикам далеко не лучшие, это не будет большой жертвой :)

HTC, например, наконец-то вообще объявила, что больше не будет блокировать загрузчики на Android-устройствах.

Проблемы свободы ПО ⌘⌘

  • SaaS. Фикс: AGPLv3.
  • JavaScript. Фикс: распространять свободно.
  • Скрипты в целом. Фикс: LGPLv3.

Баги в лицензиях ⌘⌘

  • Связанные с конкретным законодательством.
    • Пример - хотя бы мы, Россия :) но и Европа тоже.
    • CeCILL: GPLv2, адаптированный к Европе и Франции.
  • Рекламные баги: BSD, PHP. Fix: FreeBSD, X11, Apache
  • «GPL + разрешение компоновки»
  • MPL, CDDL: «хитрые ограничения»
  • Clear BSD: явно не дают прав на патенты
  • Старые APSL (вообще несвободные)

Баги в лицензиях — разъяснение

  • Рекламные баги: BSD (Berkeley Inc) — в NetBSD 1997 было 75 штук, PHP («php» во всех названиях). Фиксы: FreeBSD, X11, Apache.
  • CeCILL: GPLv2, переписанная французскими юристами и адаптированная к французскому и европейскому вообще праву. Конкретика здесь — в области гарантий, области действия, и неупоминания «соответствующих законов». Есть небольшое подозрение, что и к нашим законам лицензия могла бы быть более применима, но вот незадача, для использования в русских судах лицензию нужно писать на русском :)
  • Есть лицензии «GPL + разрешили линковаться с проприетарщиной» — люди не вкурили LGPL.
  • MPL, CDDL: «хитрые ограничения», из-за которых та же фаерфоксина выпускает под MPL+GPL+LGPL. А именно, если вы поправите, то они могут использовать это в своих проприетарных «Larger Works» (ну нетскейп же); + разрешает перелицензировать бинари.
  • Clear BSD: явно прописано, что не дают прав на патенты.
  • Старые APSL: вообще несвободные. Центральный контроль, возможность отзыва, запрет личного пользования.

«Хорошие» лицензии ⌘⌘

  • ПО: AGPLv3, GPLv3, LGPLv3, Apache v2.
  • Public Domain: CC0.
  • Медиа: CC-BY-SA.
  • Лицензии для мнений/решений/лицензий (for works of opinion and judgment): CC-BY-ND.

Свободное ПО и бизнес %% ⌘⌘

  • Обычно считают врагами

Модели бизнеса ⌘⌘

Примеры моделей бизнеса для получения прибыли на свободном ПО:

  • Заказная
  • Сервисная
  • Гибридная
  • Фонды
  • Пожертвования
  • Придумайте свою! :-)

Заказная модель бизнеса

Каждый проект является специфическим и создаётся под конкретного клиента.

Такая модель вообще никак не страдает от открытости, потому что копии продавать и не нужно, платят за разработку и поддержку. Соответственно, здесь свобода ПО — это весьма неплохой способ попиариться и изобретать поменьше велосипедов.

Заказная разработка — это ни в коем случае не искусственная мера, а жизненная необходимость — крупные компании всегда имеют обширный набор сформировавшихся процессов, плохо ложащихся на универсальный софт. По статистике, даже 50 % ПО, продаваемого из России за рубеж, разрабатывается на заказ.

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

Достаточно почитать про SAP на Lurkmore и посмотреть демотиваторы :-)

Алгоритм внедрения SAP:

  1. Запросите у совета директоров произвольную, но большую сумму денег. (Вариант: $300 миллионов.)
  2. Отдайте половину денег консультантам и попросите их подобрать подходящий для вашей компании пакет ERP. Консультанты проведут шестимесячное обследование вашего бизнеса и в итоге рекомендуют SAP, партнером которого по случайному совпадению они являются.
  3. Сформируйте команду из представителей всех управленческих служб и непрерывно проводите с ними совещания.
  4. Перестройте все бизнес-процессы так, чтобы они соответствовали заложенной в программу модели.
  5. Отдайте консультантам вторую половину денег.
  6. Проинсталлируйте программу.
  7. Непрерывно обучайте пользователей.
  8. Три раза плюньте через левое плечо.
  9. Запустите программу.
  10. Если предприятие все еще держится на плаву, немедленно переходите к шагу 1, потому что вам пора делать апгрейд.
  11.  ????? (сноска: вы никогда не доберетесь до этого пункта!)
  12. PROFIT!!!

Свободное ПО и качество

Цель закрытого ПО — срубить денег. Цель свободного ПО — создать полезный продукт.

Не надо думать, что единственной целью создания закрытого ПО всегда является исключительно получение прибыли на продаже лицензий. Многие закрытые программы точно так же изначально создаются любителями своего дела и тоже с целью создания полезного продукта, на котором кроме того ещё и МОЖНО заработать. Проблема в том, что успешные компании, производящие ПО, с ростом всё более и более бюрократизируются, а неуспешные — просто умирают или продаются и забирают с собой в могилу продукт. (Примеры!! Oracle/Sun, Google/толпа проектов.) А бюрократизация приводит к усложнению огранизации, процессов и обратной связи, росту количества менеджеров и росту издержек, уходу создателей от разработки или вообще из компании, потере интереса разработчиков до среднестатистического, за который платят, а следовательно — падению их производительности, иссяканию новых идей, подмене изначальной цели (создать нечто полезное, на чём можно и заработать) только желанием заработать и постепенному скатыванию в говно. Кстати, всякие Agile-методологии, по сути, частично призваны именно бороться с бюрократизацией.

Нет, всё это, опять-таки не значит, что любая закрытая программа обязательно скатится в говно. Это значит, что удержаться от скатывания в говно закрытому софту труднее, чем свободному. Говно — это «асимптотически равновесное состояние» закрытого софта :)

Отличие от других сфер: сесть и начать творить можно в любой момент. Кон Коливас.

Это всё не значит, что если ПО свободное, то лучшего качества, чем несвободное. Но по крайней мере, если вы вдруг обнаружите недостатки качества свободного ПО, вы хотя бы можете их исправить. А в случае закрытого — у вас даже нет шанса. «Система, которая не может сломаться, плоха тем, что её невозможно починить, если она всё-таки сломается». :)

Проблемы закрытого ПО

  • Монополия, сговор
  • Отсутствие обратной связи
  • Нечестная конкуренция (+ патенты)
  • Продукт держится на инициативе производителя
  • Необходимость переписывания и перелицензирования кучи всякого г***а
  • «Тупые юзеры»
  • Adware, Spyware и прочие закладки
    • Реклама (которую, видимо, уже не осуждают?)
    • Шпионские модули
    • Отрубание совместимости
    • Stuxnet & Иранские Ядерные Центрифуги
  • Security Via Obscurity
  • Программисты пишут не потому что им нравится, а потому, что их заставляют
  • Платность :-)
  • Проблемы обмена опытом

Меня это не касается! %% ⌘⌘

У вас есть машина?

CodeGrabbers.jpg

С сигналками всё плачевно ⌘⌘

Вы думаете, там есть криптография? Заблуждаетесь :)

  • У большинства — статический диалог O_o
  • 2-й уровень — Common PRNG
  • Если и не, то есть «Service Mode»
  • «А у меня Black Bug» (?)

Сигналки — разъяснение

Закрытая разработка программного обеспечения поощряет принцип «Security Through Obscrurity», который известен уже очень давно, но почему-то продолжает создавать всем проблемы. По-русски принцип называется «безопасность через сокрытие» и смысл его состоит в том, что если никто не знает, как оно работает, то никто, вероятно, не сможет это взломать. Короче говоря, «ключ под ковриком» — безопасно, потому что никто не знает, где он лежит. Но при этом достаточно один раз подсмотреть, как вы достаёте ключ, чтобы скомпрометировать безопасность всей двери, не говоря уже о том, что взломщик в первую очередь посмотрит именно под коврик :)

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

На картинке выше изображены примеры устройства под названием «кодграббер» — «мануфактурный алгоритмический кодграббер». Это устройство в корпусе обычного брелка сигнализации может практически мгновенно взламывать большую часть распространённых сигнализаций, продаётся в интернете и стоит от 80 до 150 тысяч рублей. Мануфактурный значит, что для взлома частично используются коды, полученные в результате утечек с завода-изготовителя. Но что там утечки — у большинства сигнализаций статический диалог — перехватил, повторил и дело в шляпе.

Что-что? «А у меня Black Bug»? Да, он относительно продвинутый, с меткой, беспроводными сложнообнаруживаемыми реле «hook-up», «wait-up» и динамическим диалогом («система посылает случайное число, которое метка должна преобразовать в соответствии с определенным нелинейным алгоритмом и отправить обратно»). Но, во-первых, у старых релюх тот же статический диалог, во-вторых, неизвестно, насколько криптостоек динамический...

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

Пример способа взлома Black Bug — прочитано на просторах интернета.

Отходим от машины, метка выходит из зоны приёма, ББ смотрит, что все дверки закрыты и ставит машину в охрану.

Автовладелец идёт спать, снимает пиджак с меткой, вешает его в шкаф….

Угонщиков двое. Один около двери квартиры, второй около машины. У обоих в руках чемоданы (из комплекса 608 и 702 грабберов). Чемоданы включаются. Чемодан угонщика у квартиры начинает принимать посылки присутствия метки и транслировать их на расстояние до 4-х км на второй чемодан (если радиус действия ключа НЕ исчисляется сантиметрами. Так что если хотите прочитать его код, сначала дерните ключ у владельца). Чемодан угонщика у машины воспринимает сигнал и воспроизводит его в эфир на частоте работы брелок-Black Bug (433,92 Мг). Black Bug видит, что метка в эфире и снимает машину с охраны.

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

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

Далее в прикуриватель втыкается генератор шума. Генерация, соответственно, производится в штатную проводку. Ретрансляторы выключаются, машина уезжает.

После открытия двери, и нажатии на педаль тормоза карточка опрашивается снова. Не увидев метку, Black Bug посылает код на блокировку в штатную проводку. Hook-Up реле его не поймет из-за шума генератора.

И знаете в чём главная беда? В том, что у вас вообще нет шанса проверить безопасность такой системы. Потому что кто ж вам расскажет, как она сделана? Секрет ведь. Но те, кому надо, всё равно его узнают, а надо в первую очередь злоумышленникам. А тем, кто мог бы оказать помощь в исправлении системы, наоборот никто ничего не говорит. Так-то.

Как таки поднять качество

По сути, все эти проблемы FOSS помогает решить!

  • foss — именно о качестве, а не о том, чтобы что-то быстро разработать и продать
  • Открытые инструменты разработки
  • Открытость нужна в головах, а не на бумаге, и foss ей способствует
  • Количество и качество пользовательской базы
  • Бесплатные тестеры
    • Самое лучшее тестирование — это тестирования для себя
  • Иногда бесплатные программисты
    • Ну или патчеры. Даже если вы патч не примете, его могут найти и зафиксить что-то, на что у вас пока не хватило времени
  • Обучение собственных программистов взаимодействием с внешним сообществом
  • Сообщество поможет выбрать правильные технологии (которые не сдохнут)
  • Независимость от вендоров
  • Меньшая вероятность попадания в продукт ВАШИХ закладок — лучшая репутация продукта
  • Тупо деньги — их лучше заплатить людям, чем «дяде». Даже если понадобятся чуть более умные люди, вы всё равно выиграете (умные люди, это ж хорошо).
  • Проблема форка: технически лучше всегда за ними следить.

Картинки

NewTux.svg

Alan Cox.jpg

Alan Cox Red.jpg