Введение

Тивоизация (англ. Tivoization) — это практика создания аппаратного обеспечения, которое включает программное обеспечение, распространяемое под лицензией копилефта, такой как GNU General Public License (GNU GPL), но использует аппаратные ограничения или управление цифровыми правами (DRM) для предотвращения запуска пользователями измененных версий этого программного обеспечения на данном оборудовании. Ричард Столлман из Фонда свободного программного обеспечения (FSF) ввел этот термин, ссылаясь на использование компанией TiVo программного обеспечения, лицензированного по GNU GPL, в своих цифровых видеорегистраторах (DVR), которые намеренно блокируют работу модифицированного программного обеспечения. Столлман полагает, что эта практика лишает пользователей части свободы, которую GNU GPL была призвана защищать. FSF называет тивоизированное оборудование «проприетарными тиранами». Фонд свободного программного обеспечения явно запретил тивоизацию в третьей версии GNU General Public License. Однако, несмотря на то, что третья версия была принята многими программными проектами, разработчики ядра Linux, в частности, отказались переходить с версии 2 на версию 3.

Предыстория

Программное обеспечение TiVo включает в себя ядро Linux и программное обеспечение GNU, оба из которых лицензированы по версии 2 Общей публичной лицензии GNU (GPLv2). GPLv2 требует от распространителей предоставлять соответствующий исходный код каждому, кто получает программное обеспечение. Одной из целей этого требования является предоставление пользователям программного обеспечения, распространяемого по лицензии GPL, возможности модифицировать его для лучшего соответствия своим потребностям. Ричард Столлман из Фонда свободного программного обеспечения утверждает, что TiVo обошел цель GPL, заставляя свои устройства запускать программы только в том случае, если цифровая подпись программы соответствует авторизованным производителем TiVo. Хотя TiVo выполнил требование GPL v2 о публикации исходного кода для модификации, любое измененное программное обеспечение не будет работать на аппаратном обеспечении TiVo. Брэдли Кун из Software Freedom Conservancy оспаривает точку зрения Столлмана. Кун утверждает, что TiVo не запрещал напрямую замену программного обеспечения, но его проприетарное программное обеспечение было намеренно разработано таким образом, чтобы не функционировать при замене каких-либо компонентов с открытым исходным кодом, что, в свою очередь, требовало от пользователя поиска полностью открытых альтернатив проприетарному программному обеспечению. По мнению Куна, TiVo не осуществлял "тивоизацию", GPLv2 уже была достаточна для её предотвращения, а целью GPLv3 было добавление дополнительного и ненужного требования о продолжении работы проприетарного программного обеспечения.

GNU GPLv3

В 2006 году Фонд свободного программного обеспечения (FSF) решил бороться с технической системой TiVo, блокирующей пользователей от запуска модифицированного программного обеспечения. FSF впоследствии разработала третью версию GNU General Public License (GPLv3), которая была разработана для включения положений, запрещающих подобную деятельность. По словам Эбена Моглена, «лицензия должна запрещать технические средства обхода её правил с той же ясностью, с которой она запрещает юридический обход этих правил». Второй проект GPLv3 предпринял попытку уточнить правила, касающиеся «тивоизации». Однако некоторые разработчики ядра Linux по-прежнему опасались, что этот проект может запретить полезное использование цифровых подписей. Столлман и Фонд свободного программного обеспечения попытались ответить на эти опасения, заявив, что GPLv3 разрешает использование частных цифровых подписей в целях безопасности, одновременно предотвращая «тивоизацию». В третьем и четвертом обсудительных проектах GPLv3, выпущенных 28 марта 2007 года и 31 мая 2007 года соответственно, положение о противодействии «тивоизации» было ограничено, чтобы не распространяться на случаи, когда программное обеспечение распространяется среди предприятий. Таким образом, медицинские приборы и машины для голосования не подпадали бы под его действие. Окончательная, официальная версия GPLv3 была опубликована 29 июня 2007 года, без существенных изменений в отношении «тивоизации» по сравнению с четвертым проектом. Линус Торвальдс заявил, что он «вполне доволен» позицией нового проекта в отношении DRM. Однако он по-прежнему не поддерживает перелицензирование ядра Linux под GPLv3, заявив следующее:

Столлман называет это «тивоизацией», но это слово он придумал, и я считаю этот термин оскорбительным, поэтому не использую его. Это оскорбительно, потому что TiVo никогда ничего плохого не делала, и даже FSF это признала. Дело в том, что они разрабатывают собственное оборудование и сталкиваются с проблемами DRM с производителями контента, поэтому хотят защитить целостность этого оборудования. Лицензия на ядро распространяется только на ядро. Она не распространяется на загрузчики и аппаратное обеспечение, и, насколько мне известно, люди, которые создают собственное оборудование, могут проектировать его как угодно. Неважно, означает ли это «загрузку только определенного ядра» или «акул с лазерами» – мне всё равно. Новые положения лицензии GPLv3 были признаны TiVo в отчете SEC за апрель 2007 года: «Если в настоящее время предлагаемая версия GPLv3 будет широко принята, мы можем быть не в состоянии включить будущие улучшения операционной системы GNU/Linux в наше программное обеспечение, что может негативно повлиять на наш бизнес».

Исход

Ядро Linux, которое входит в состав операционной системы аппаратных устройств TiVo, по-прежнему распространяется на условиях лицензии GPLv2. Ядро не было переведено на GPLv3, поскольку разработчики ядра в целом считают GPLv3 излишне ограничительной, хотя некоторые разработчики ядра, такие как Алан Кокс, выразили иную точку зрения. В любом случае, предложить ядро Linux под другой лицензией, вероятно, было бы нереально из-за огромного количества правообладателей. В отличие от большинства программного обеспечения, распространяемого по лицензии GPL, ядро лицензируется исключительно по GPLv2 без фразы "или, по вашему выбору, любая более поздняя версия", поэтому для лицензирования ядра целиком под новой версией потребуется явное согласие всех правообладателей. Некоторые другие проекты, широко используемые во "тивоизированных" встраиваемых системах, такие как BusyBox, также отказались переходить на GPLv3.