Тивоизация
Тивоизация — это практика производителей аппаратного обеспечения, заключающаяся в использовании технических средств для ограничения возможностей пользователя по модификации программного обеспечения, установленного на устройстве, даже если это программное обеспечение распространяется под свободными лицензиями. Термин происходит от названия компании TiVo, которая первой применила подобный подход в своих цифровых видеорекордерах. Тивоизация рассматривается как способ обхода принципов свободного программного обеспечения и является предметом острых дискуссий в сообществе разработчиков и пользователей открытого ПО.
История возникновения термина
Термин «тивоизация» (англ. tivoization) был введён Ричардом Столлманом, основателем движения за свободное программное обеспечение и проекта GNU. Впервые он публично употребил это слово в 2006 году в контексте обсуждения лицензии GNU General Public License версии 3 (GPLv3). Столлман критиковал компанию TiVo за то, что, используя свободное программное обеспечение (в частности, ядро Linux) в своих устройствах, она блокировала возможность пользователей устанавливать модифицированные версии этого ПО на купленное оборудование.
Устройства TiVo работали под управлением Linux, который распространялся под лицензией GPLv2. Эта версия лицензии требовала от производителя предоставлять исходный код используемых компонентов, но не обязывала его обеспечивать возможность установки модифицированной версии на само устройство. TiVo выполняла требования GPLv2, публикуя исходные коды, но одновременно применяла криптографическую подпись ядра, что делало невозможным загрузку любой другой версии Linux, кроме той, что была одобрена производителем.
Техническая суть тивоизации
Тивоизация реализуется через механизмы, которые проверяют целостность и подлинность программного обеспечения перед его загрузкой и выполнением. Основные технические приёмы включают:
- Криптографическая подпись загрузчика и ядра: Устройство проверяет цифровую подпись каждого компонента на этапе загрузки. Если подпись не соответствует ключу производителя, загрузка блокируется.
- Аппаратная блокировка записи: Некоторые устройства имеют перемычки или предохранители, которые физически отключают возможность перезаписи загрузочной области памяти.
- Загрузка только из доверенного источника: Устройство может быть настроено на загрузку операционной системы только из определённого раздела памяти, доступ к которому для записи заблокирован на аппаратном уровне.
В результате пользователь, даже имея полный исходный код и возможность собрать собственную версию программы, не может запустить её на своём устройстве. Это противоречит одному из ключевых положений свободного программного обеспечения — свободе изучать, изменять и распространять модифицированные версии (свободы 1 и 3 по определению Free Software Foundation).
Тивоизация и лицензии GNU GPL
GPLv2 и её ограничения
Лицензия GNU GPL версии 2 (1991 год) не содержала явных положений, запрещающих тивоизацию. Она требовала от распространителя предоставлять исходный код в той форме, в которой он используется для создания исполняемого файла, но не оговаривала, что этот исполняемый файл должен быть функционально взаимозаменяемым. Это позволило TiVo и другим компаниям формально соблюдать лицензию, но лишать пользователей реальных прав на модификацию.
GPLv3 и запрет тивоизации
В ответ на практику TiVo, при разработке GNU GPL версии 3 (2007 год) было введено понятие «User Product» (потребительский товар) и добавлены явные ограничения, направленные против тивоизации. Раздел 6 GPLv3 («Conveying Non-Source Forms») содержит требование, чтобы для устройств, которые являются «потребительскими товарами», распространитель предоставлял не только исходный код, но и «Installation Information» — информацию и методы, необходимые для установки модифицированной версии программы на устройство. Если устройство проверяет цифровую подпись, распространитель обязан предоставить ключи или средства для создания подписанных модифицированных версий.
Таким образом, GPLv3 прямо запрещает тивоизацию для программ, распространяемых под этой лицензией. Однако многие проекты, включая ядро Linux, остаются под GPLv2, что делает их уязвимыми для данной практики.
Критика и контраргументы
Аргументы противников тивоизации
Противники тивоизации, в первую очередь представители движения за свободное ПО, утверждают, что она:
- Нарушает дух свободного программного обеспечения: Сводя на нет свободу пользователя, которая является фундаментальной ценностью.
- Создаёт зависимость от производителя: Пользователь не может самостоятельно исправить ошибку, добавить новую функцию или удалить нежелательный компонент, что лишает его контроля над собственным устройством.
- Препятствует инновациям: Сообщество разработчиков не может вносить улучшения в программное обеспечение, которое работает на массовых устройствах.
- Создаёт угрозу безопасности: Пользователи не могут устанавливать обновления безопасности, если производитель прекратил поддержку устройства.
Аргументы сторонников тивоизации
Производители, использующие тивоизацию, обычно приводят следующие доводы:
- Защита авторских прав: Тивоизация предотвращает пиратство и несанкционированное копирование контента, особенно в устройствах, работающих с медиа (например, телеприставки, игровые консоли).
- Безопасность и стабильность: Ограничение на установку непроверенного ПО снижает риск выхода устройства из строя, заражения вредоносным кодом или нарушения работы сертифицированных сервисов.
- Соблюдение лицензионных соглашений: Производители могут быть обязаны по контракту с правообладателями контента (например, киностудиями) гарантировать, что устройство не будет модифицировано для обхода DRM (управления цифровыми правами).
- Снижение затрат на поддержку: Модифицированные пользователями устройства требуют дополнительной технической поддержки, что увеличивает издержки производителя.
Примеры тивоизации
Помимо классического примера с TiVo, тивоизация встречается в различных категориях устройств:
- Цифровые видеорекордеры и телеприставки: Многие модели используют подписанные загрузчики для предотвращения установки альтернативных прошивок.
- Игровые консоли: Sony PlayStation, Microsoft Xbox и Nintendo Switch используют сложные системы проверки подписей для предотвращения запуска неподписанного кода.
- Смартфоны: Некоторые производители блокируют возможность разблокировки загрузчика (bootloader), что является формой тивоизации. Хотя многие производители (например, Google с линейкой Pixel) предоставляют официальную возможность разблокировки, другие (например, некоторые модели Huawei, Xiaomi) могут её ограничивать.
- Маршрутизаторы и сетевое оборудование: Многие потребительские роутеры имеют заблокированную загрузочную область, что не позволяет установить альтернативные прошивки вроде OpenWrt или DD-WRT.
- Умные колонки и устройства «Интернета вещей» (IoT): Большинство таких устройств имеют закрытые загрузчики и не предусматривают возможности модификации ПО пользователем.
Тивоизация в контексте российского законодательства
В Российской Федерации вопросы, связанные с тивоизацией, напрямую не регулируются специальными законами. Однако, существуют нормативные акты, которые могут косвенно влиять на эту практику. Например, требования к сертификации и лицензированию средств криптографической защиты информации (СКЗИ) могут ограничивать возможность установки модифицированного ПО на устройства, используемые в государственных и коммерческих организациях. Кроме того, закон «О защите прав потребителей» может быть интерпретирован как требование к производителю обеспечивать работоспособность устройства в течение гарантийного срока, что может быть нарушено при установке неофициальной прошивки. В то же время, отсутствие прямого запрета на тивоизацию позволяет производителям свободно использовать технические средства защиты от модификации, что вызывает критику со стороны российского сообщества пользователей свободного ПО.
Источники
- Stallman, R. (2006). «TiVo: The GPL and the GNU Project». Free Software Foundation.
- Free Software Foundation. (2007). «GNU General Public License, version 3».
- Moglen, E. (2006). «Why the GPLv3 Process Matters». Software Freedom Law Center.
- Stallman, R. (2007). «Why Upgrade to GPLv3». GNU Project.
- Rosen, L. (2004). «Open Source Licensing: Software Freedom and Intellectual Property Law». Prentice Hall.
- Документация проекта OpenWrt. «OpenWrt and the GPL».
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →