Теоретики свободного софта спорят о допустимой форме «патентной контратаки» (patent retaliation): допустима ли защита от всех патентов, всех софтверных патентов или только от патентов, затрагивающих данную программу; должна ли контратака выражаться в отмене всей лицензии или только патентной ее части. GPL придерживается консервативного подхода — сама не устанавливает никаких санкций, а только позволяет вводить их в качестве дополнительных условий, чтобы обеспечить совместимость с наиболее важными свободными лицензиями, такие санкции практикующими.
Другая угроза свободному софту — DRM/TC. DRM — это, грубо говоря, средство, ограничивающее пользователя в доступе к информации, отключение или обход которого запрещены законом.
Предполагается, что оно служит благой цели, защищает права или что-то в этом роде. Что именно — в закон внести обычно забывают. Нет, не случайно. Я бы сказал, изощренно забывают.
Представьте, что законодатели запретили срывать или взламывать замки. Любые замки, независимо от того, кому принадлежит замок и дверь. Успевший первым навесить на чужое имущество побольше замков — диктует остальным свои условия. Это и есть аналогия DRM. Не аналогия даже — на некоторые настоящие замки DRM распространяется именно таким образом. DRM, очевидно, принципиально несовместим со свободным софтом.
ТС — Treacherous Computing — DRM, встроенный в компьютер на уровне железа так, что запустить на нем можно только софт, подписанный обладателем секретного цифрового ключа. Много шуму вызвало DRM/TC видеоплейера TiVo, где в качестве софта использовалась Linux. Требования GPL2 соблюдались, исходные тексты были предоставлены — но без секретного ключа они совершенно бесполезны, ни изменить, ни перекомпилировать их бинарники невозможно.
Соответственно, в GPL3 появилось уточнение, что полный соответствующий исходный код для бинарника должен включать все необходимое для компиляции и запуска, в том числе и модифицированного.
Кроме того, заявлено, что никакая программа, опубликованная под GPL3, не может считаться реализацией DRM. Иными словами — любую мешающую пользователю функциональность GPL3-программы можно убрать. Или же написать заново программу, осуществляющую доступ к той же самой информации.
Здесь FSF вступил на почву, еще совершенно неизвестную для публичных софтверных лицензий, и неудивительно, что именно эти нормы вызвали наибольшую критику.
Переполох наделало резкое письмо Линуса Торвальдса с заявлением, что ядро Linux никогда не перейдет на GPL3. Его позицию, в целом можно свести к следующим тезисам:
1) Требование о предоставлении всех необходимых для компиляции и запуска программы кодов и шифров — безумно.
2) Не только его, Линуса, собственный код, но и вообще весь код, для которого авторами специально не указана возможность апгрейда лицензии, лицензирован под GPL2 и только под ней.
Второй пункт касается толкования действующей GPL2, и здесь, думаю, прав не Торвальдс, а Кокс. А вот первый, несмотря на резкость его формулировки, действительно затрагивает большую проблему с анти-DRM’ными нормами GPL3.
Дело в том, что возможность выполнения программы — это, вообще говоря, свойства не программы, а компьютера. Над которым автор программы прямого контроля не имеет. Ясно, что код для Pentium IV при вcем желании не может быть исполнен на IBM PC XT c процессором i8086. И копирайт тоже, вопреки популярному заблуждению, не дает автору контроля над выполнением его программы — а только над распространением и копированием.
Обсуждалась, например, анекдотическая возможность вытягивания у автора секретного ключа путем постройки машины, требующей подписанный этим ключом бинарник ядра (зная публичный ключ, это сделать не так трудно).
Надеюсь, к моменту выхода окончательной версии GPL3 этот вопрос, как и многие другие, будет решен.
Наука: Проблемы 2000 года: P=?NP