Linux-libre


Linux-libre — пакет GNU, являющийся модифицированной версией ядра Linux. Цель проекта заключается в удалении любого программного кода, которое поставляется в закрытом виде, либо имеет явно обфусцированный исходный код или код, выпущенный под проприетарной лицензией. Те части, которые не имеют открытого исходного кода, называют блобами. Чаще всего в оригинальном ядре распространяются бинарные прошивки популярного сетевого оборудования. Как правило, эти прошивки нельзя как-либо модифицировать либо просто получить исходный код для его дальнейшего изучения.

Первые блобы, которые начали поставляться вместе с ядром, появились в 1996 году[4]. Первые работы по чистке кода от блобов в ядре начали проводиться в 2006 году. Проект получил одобрение, и в дальнейшем началась активная работа над модификацией ядра. Таким образом, в 2007 году появился окончательный проект Linux-Libre[5][6]. Linux-Libre был впервые выпущен Латиноамериканским фондом свободного программного обеспечения (FSFLA), а затем одобрен Фондом свободного программного обеспечения в качестве ценного компонента для совершенно свободных дистрибутивов Linux[7]. Linux-Libre стал полноценным пакетом GNU в марте 2012 года[8]. Александр Олива является ведущим мейнтейнером проекта.

Для чистки кода используется сценарий под названием deblob-main[9]. Сценарий похож на тот, который используется в gNewSense. Джефф Мо сделал последующие изменения, которые должны отвечать определённым требованиям для его использования с Blag Linux и GNU дистрибутивов. Существует ещё один сценарий под названием deblob-check[10], который используется для проверки файлов исходного кода ядра, патчей или сжатых файлов на наличие блобов.

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

Преимуществом является удаление драйверов устройства, которые не могут быть проверены на наличие ошибок и/или проблемы безопасности, либо установленные в Linux-ядре прошивки могут совершать какие-либо действия без уведомления пользователя. В этом случае может быть скомпрометировано всё ядро в плане защиты системы от взломов и прочего[11].

Минусом удаления блобов из ядра является то, что это приведёт к потере функциональности определённых аппаратных средств, для которых нет свободной замены программного обеспечения. Это может повлиять на некоторые звуковые карты, видеокарты, ТВ-тюнеры и сетевые карты, а также некоторые другие устройства. Если есть возможность, разработчики предоставляют свободную замену удалённым драйверам[12].