`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Open Hardware – да, нет, или ..

Статья опубликована в №44 (612) от 20 ноября

+44
голоса

Это, безусловно, существует. Но в проявлениях столь широкого диапазона, что очень трудно ответить на простой вопрос – «а что именно „это"?». Удивительно, но факт – мы сталкиваемся с настоящей субкультурой, чья история измеряется чуть ли не тысячелетиями (без преувеличений), субкультурой, сообщества которой буквально расцвели за последние 70–80 лет, и при этом говорим о ней как о совершенно неизученном феномене.

Open Hardware – да, нет, или ..
Полная открытость всех разработок – неотъемлемая черта академической культуры. Эта конструкция – USB-подключаемое устройство позиционирования, использующее магнитное «перо» и датчики Холла, – как и многие другие, доступно на сайте Корнеллского университета

Мы будем говорить об «открытых аппаратных средствах», Open (Source) Hardware, – явлении, которое одновременно как бы и существует, и не существует, явлении, для которого, по большому счету, нет ни одного внятного общепризнанного определения. И все-таки, о явлении, которое сплачивает множество людей вокруг реальных проектов, пусть не масштабных и зачастую или овеществляемых из принципа «а почему бы нет?», или вообще представляющих собой скорее произведение искусства, чем что-то инженерно-техническое, несмотря на используемые техники и технологии.

Начнем традиционно – с поиска определения. Увы, мы находимся в той области, где пока нет ничего «общепринятого», поэтому будем довольствоваться малым. То есть имеющимся.

Одно из наиболее (на первый взгляд) проработанных определений Open Hardware содержится в лицензии, автором которой является Джон Эйкерман (John Ackermann), один из членов совета директоров радиолюбительской организации TAPR (Tucson Amateur Pocket Radio), объединяющей разработчиков аппаратуры для пакетной цифровой связи и ее сторонников, а также пропагандирующей эту идею. Сразу следует отметить, что лицензия TAPR Open Hardware Licence (OHL) – документ довольно «свежий», он датирован 25 мая нынешнего года. Согласно ему «открытое аппаратное обеспечение – это предмет, физический артефакт, электрический или механический, проектная информация которого публично доступна и достаточна для ее использования, т. е. для изготовления по ней предмета, для модифицирования его, для его распространения и использования» (перевод не дословный, к сожалению, лаконичный английский трудно переносить на русский под копирку, один к одному; желающие могут ознакомиться с оригиналом лицензии. Это первая фраза вступления, и уже она далеко не бесспорна, но о вопросах позднее. По сути же, OHL вводит два фундаментальных объекта, подлежащих лицензированию: спецификации и документацию, а также созданный по ним материальный предмет. Ключевое слово «материальный» означает, что, например, программное обеспечение микроконтроллера, без которого OHL-лицензированная документация будет неполной, не подлежит OHL-лицензированию – для «мягкой» (soft- в приставке к ware) составляющей проекта уже есть другие лицензии. Здесь также, даже на первый взгляд, есть серьезные подводные камни, но мы просто обозначим место, где можно потерпеть крушение, номером 2 и будем двигаться дальше. Так как область действенности OHL – материальные предметы (артефакты), автору лицензии Джону Эйкерману приходится «играть в игры», правила которых формировались веками. Отсюда и одна крайне специфическая черта OHL-лицензирования, способная буквально свалить с ног пуриста из смежного мира Open Source: лицензия OHL «...не запрещает кому угодно патентовать изобретения, воплощенные в Open Hardware разработках...». И в то же время в том же предложении лицензии содержится не менее шокирующий посыл для представителей, так сказать, противоположной стороны – «...те, кто с выгодой использовал OHL-лицензированные разработки, не должны инициировать судебные разбирательства по поводу нарушения своих патентных прав или иных прав интеллектуальной собственности». Здесь настало время сделать одно маленькое отступление – если в этот момент вы решили, что автор статьи отыскал какой-то сумбурный документ и теперь просто «отписывается на тему», расходуя ваше время, вы не правы. Указанному документу уделено весьма пристальное внимание в ряде статей, посвященных феномену всевозможных открытостей спецификаций и реализаций, он неоднократно упоминался на тематических конференциях и форумах. Так что теперь можно смело продолжать в деталях. Согласно версии Джона Эйкермана, OHL-лицензирование дает согласившемуся с лицензией право использовать, копировать, модифицировать и распространять оба фундаментальных объекта OHL-лицензирования (документацию и созданный на ее основе материальный предмет). Под распространением понимается что угодно – от любительской «репродукции» (копирования «на коленке») для персональных нужд до продажи (лизинга etc) промышленных серийных изделий. Документация включает фактически все, что необходимо для изготовления на ее основе полностью работоспособного изделия, ну а само изделие в пояснении не нуждается, разве что с учетом одного нюанса – лицензия объявляет «изделием» как артефакты полностью собранные, «товарные», так и «полуфабрикаты» и все необходимое для окончательной сборки изделия. В отдельный второй раздел текста вынесен вопрос патентования. И первый его пункт – «пакт о ненападении» со стороны согласившегося с OHL-лицензией. В соответствии с ним лицензиар обязуется в масштабах всего мира не предъявлять иски к прочим лицензиарам в защиту своих патентов и прочей интеллектуальной собственности, являющейся частью OHL-лицензированных объектов. Соответственно, каждый, кто самостоятельно модифицировал эти объекты, непременно должен согласиться с OHL-лицензией и «пактом о ненападении». И так как под действие лицензии попадают и документация, и изделия, как единое целое, получается почти идиллическая картина – в ходе жизненного цикла это единое целое непрерывно совершенствуется, сохраняя и накапливая знания разработчиков в документации и пополняя товарный предметный мир все улучшающимися изделиями, которые те, кто побогаче и занятее, могут купить, а те, кто победнее (или полюбопытнее) и у кого свободного времени больше, сделать самостоятельно. Об этой модели идеального мира мы еще поговорим, пока же продолжим знакомиться с определениями Open Hardware.

Известный (во всяких смыслах, в том числе и в скандальном) ресурс Wikipedia определяет Open Hardware, не мудрствуя лукаво, как «...компьютерные или электронные аппаратные средства, разработанные тем же способом (in the same fashion), что и свободное программное обеспечение с открытыми исходными текстами. Open Hardware является частью культуры Open Source, которая переносит идеи открытого ПО в другие области деятельности». Это определение приводится в статье с целью исключительно иллюстративной, чтобы показать, насколько определение OHL Джона Эйкермана совершеннее прочих, если же мы попытаемся в нем разобраться, то окончательно и безнадежно увязнем хотя бы в «культуре Open Source».

Итак, к этому моменты понятно только то, что... почти ничего не понятно. Почему открытыми аппаратными средствами могут быть только электрические и механические «железяки» компьютерно-электронного характера? Если Open Hardware – это вовсе не Open Software, то как быть, например, с процессором BabyRisc, который вы можете свободно загрузить и «овеществить» в микросхеме программируемой логики, достаточной для решения этой задачи. Иными словами, как быть в таком случае с программами на языках описания «железа» (HDL, Hardware Definition Language), которые одновременно являются и документацией, и, по сути, самими устройствами, потому что без HDL-программ (или любых их аналогов, что не важно) микросхемы логики – никому не нужные игрушки? Каким образом можно переносить до сих пор не бесспорные правила, только формируемые в такой совершенно новой (по сравнению с механикой, например) области деятельности, как разработка программного обеспечения, на области с богатейшей предысторией, в ходе которых была выработана достаточно эффективная система правил, и ее эффективность подтверждается не абстрактными теоретизированиями, а ежеминутной работой сотен тысяч предприятий? Эти вопросы, напрашивающиеся после беглого ознакомления с приведенными определениями, трудно назвать неочевидными. Но самым очевидным (и в приведенных определениях безответным) все-таки остается, как обычно, самый главный вопрос. А именно, «Кому и зачем это нужно?».

Что и кому открывать?

Open Hardware – да, нет, или ..
Создатели Open Hardware – далеко не всегда типовые «гики», а процесс создания – не посиделки на кухне. Так в Массачусетском технологическом создавался открытый аналог балансирующего самоката Segway

Банальность – страшное оружие, которое легко разрушает (но не обязательно разрешает) любые проблемы. Вот поэтому с банальности мы и начнем. Ричард Столлман, отец идеологии Open Source, в давнишней статье «К вопросу о свободном „железе"» (On «Free Hardware») определил один из жизненно важных аспектов «открытости»: «...независимо от того, свободно доступны ли описания внутреннего устройства аппаратных средств, жизненно важно, чтобы спецификации их интерфейсов были свободно доступны...». Вообще-то, в мире «железа» это условие – самая что ни на есть банальность. Потому что открытость интерфейсов – это всего лишь один из аспектов стандартизации, обеспечивающей в первую очередь живучесть производителю (и только потом – прямые и косвенные удобства потребителям). Именно поэтому при замене колес на станциях технического обслуживания мастера не бегают в истерике «дайте ключ на ситроен модели XM 1996 года выпуска», а обходятся одним ключом. Но теперь давайте вспомним об удобстве потребителя. Оказаться в неисправной машине под дождем далеко за городом – это очень неприятно и неудобно. Особенно же это неприятно, если поломка серьезная и произошла потому, что вопреки рекомендациям производителя использовать оригинальные запчасти народные умельцы «воткнули» в двигатель «ну почти то же самое», подходящее по «интерфейсам». Но и это еще не все. Доведем ситуацию до абсурда (хотя не такого уж и абсурда) – еще хуже оказаться на сломанной машине невесть где и узнать, что к вашей машине больше нет запчастей, потому что производитель ее давеча разорился – по его открытым спецификациям собрался клепать автомобили какой-то албанский концерн, но пока еще не начал, а только собрался, но акции все равно полетели вниз, начались забастовки и в результате – компания закрылась. Это абсурд? Почти, потому что в истории были ситуации намного абсурднее. Значит, что-то в требовании открытости интерфейсов не совсем так. И это что-то заключается в том, кому открываются спецификации интерфейсов. Вы не найдете ни одного производителя, например, цифровых микросхем высокой степени интеграции, не открывающего самых детальных спецификаций интерфейсов своей продукции. С другой стороны, вы не найдете ни одного производителя MP3-плеера, который сопровождает свое изделие увесистой пачкой документации на все комплектующие (хотя эта документация распространяется свободно). И дело здесь вовсе не в том, что производитель микросхем – хороший и добрый, а MP3-плееров – плохой и жадный. Просто потребителям микросхем – инженерам-конструкторам – документация на микросхемы нужна, а производителю микросхем нужны потребители. Производителям MP3-плееров тоже нужны потребители своей продукции, вот только потребителям совершенно не интересны спецификации интерфейсов микросхем. И это правило, что характерно, справедливо как для «просто потребителей», так и (особенно) для потребителей MP3-плееров, которые по совместительству являются инженерами-конструкторами – ведь они и без того знают про эти микросхемы более чем достаточно.

Давайте рассмотрим несколько очень интересных «железно-открытых» проектов и попробуем понять – кому и что в них открыто? Вот, например, прекрасная разработка интеллектуального сервомеханизма с цифровым управлением OpenServo. По уровню проработки этот проект можно считать образцовым (программисты, учитесь!) – здесь есть все, начиная от обязательных обоснования и математической модели до детальных спецификаций, принципиальных и монтажных схем, перечня используемых элементов и т. п., что позволяет при желании с легкостью повторить сервомеханизм «на коленке». При этом OpenServo, как и любая междисциплинарная разработка (а все системы автоматического управления характеризуются ярко выраженной междисциплинарностью), очень «наукоемка» – для самостоятельного проектирования с нуля подобного устройства придется изучать несколько дисциплин на разных факультетах. Форумы OpenServo дают возможность оценить, так сказать, потребительскую аудиторию проекта. А в ней наблюдается практически пятнадцатикратный разрыв между низкоуровневыми и высокоуровневыми «реализаторами» – 1500 сообщений в обсуждениях в разделе «железо» (Hardware) против 100 в разделе «теория и алгоритмы». Обратимся к еще одной блестящей разработке – открытой системе технического зрения CMUcam. И без особых пояснений ясно, что система зрения несоизмеримо сложнее, чем сравнительно простая система автоматического регулирования. Что объясняет, например, разницу в элементной базе – если с задачами OpenServo справлялся копеечный распространенный 8-битовый микроконтроллер семейства AVR (Atmel), то для CMUcam уже нужен 32-битовый ARM. Рост сложности означает, что у желающих самостоятельно повторить этот проект, несмотря на наличие всей необходимой документации, могут возникнуть самые разные проблемы. Что и подтверждается пассивностью пользователей на форуме (меньше ста сообщений почти за год) и одновременной активностью ряда производителей, предлагающих уже собранные CMUcam. И для контраста приведем совсем «простой» (на уровне физической реализации) проект, требующий буквально пары деталей – открытый генератор случайных битов ORB. В данном случае, если учесть простоту ее повторения, специфику и великолепный уровень документации, вообще нет признаков формирования вокруг нее хоть какого-либо «сообщества».

Вы можете самостоятельно повторить такое «исследование», но неизбежно придете к следующему очевидному и не очень радостному для энтузиаста (в худшем смысле слова) Open Source выводу – с одновременным ростом сложности изделия и его «потребительской завершенности» (что значит – готовое изделие не нужно «обрабатывать напильником») резко сокращается сообщество заинтересованных в самостоятельном повторении этого изделия, и резко возрастает число просто потребителей. Иными словами, это было сказано Робертом Лаки в статье в знаменитом инженерном журнале «IEEE Spectrum»: «Должен General Motors волноваться о добровольцах, создающих «открытые, свободные» автомобили? Я могу представить себе таких добровольцев, собравшихся вместе, спроектировавших и создавших автомобиль. Какой это акт искусства, какая слава! Но, в конце концов, у них будет всего один автомобиль в океане из миллионов, поэтому GM не о чем беспокоиться». Кстати, проект «открытого автомобиля» существует – Oscar но он фактически не выходит из стадии определения требований к будущему автомобилю.

Открытость, которой ждут

Open Hardware – да, нет, или ..
Open Hardware – да, нет, или ..
Arduino и Bug Labs – очень разные и в то же время очень схожие по назначению проекты. Убрать ПК «со стола» и максимально «придвинуть» его к объектам реального мира – задача, которую они пытаются решить

Есть один очень успешный проект на грани open hardware – open software, который своим успехом показывает весьма перспективную область для авторов «открытого железа». Персональный компьютер постепенно превращается в предмет повседневного обихода. И разумеется, в какой-то момент возникает потребность «интеграции» этого предмета в привычный предметный мир. Интеграции чуть большей, чем цепочка перемещений пользователя «кофемолка – кофеварка – ноутбук, онлайн-новости». То, что потребность возникает, подтверждает популярность проекта Arduino. Причем этот проект указывает не только, так сказать, «направление движения», а и во многом подтверждает сказанное выше. Скажем так: аналог Arduino мог бы быть гораздо совершеннее, если бы в нем, например, использовались доступные разработки из не совсем «персонально-компьютерных» областей, например сеть CAN (Controller Area Network), для контроллеров которой существует огромное количество самых разнообразных реализаций вплоть до стоящих центы не требующих программирования дистанционно управляемых «переключателей». Но грамотное применение CAN в подобном проекте потребовало бы создания сравнительно сложных протоколов (использование которых окупилось бы сторицей), больших затрат на изучение аппаратно-программных средств, наличия сравнительно малораспространенной техники для отладки и т.д.

Если Arduino предназначен для облегчения интеграции в физический мир персональных компьютеров в «традиционном исполнении» (что бы это ни значило), то в проекте Bug Labs практически с той же целью реализована целая конфигурируемая пользователем «на лету» и по желанию как бы специализированная аппаратно-программная платформа. Характеристика «специализированная» использована с оговоркой не случайно – фактически речь идет о вполне традиционном модульном Linux-компьютере, но в весьма необычном (для мира персональных компьютеров) конструктиве, напоминающем крупноузловой конструктор. То, что предлагает (точнее, пока только собирается предложить) Bug Labs, согласно приведенным выше критериям не совсем является Open Hardware – например, отыскать принципиальные схемы отдельных модулей разрабатываемого компьютера пока невозможно. И даже если говорить об открытости интерфейсов, Bug Labs пока (на концептуальном уровне) предлагает только более чем неплохой их набор, заимствованный из мира, которым правит традиционное диктуемое стандартизацией стремление к выживанию.

На самом деле ценность идей Bug Labs и Arduino – вовсе не схемотехника или программное обеспечение, а демонстрация потребности в создании принципиально новой платформы, ведь раз такие проекты живы и популярны, значит, и потребность в них есть.

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+44
голоса

Напечатать Отправить другу

Читайте также

И для контраста приведем совсем «простой» (на уровне физической реализации) проект, требующий буквально пары деталей – открытый генератор случайных битов ORB.

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

--DawnON

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT