Linux-libre — пакет GNU, являющийся модифицированной версией ядра Linux. Цель проекта заключается в удалении любого программного кода, которое поставляется в закрытом виде, либо имеет явно обфусцированный исходный код или код, выпущенный под проприетарной лицензией. Те части, которые не имеют открытого исходного кода, называют блобами. Чаще всего в оригинальном ядре распространяются бинарные прошивки популярного сетевого оборудования. Как правило, эти прошивки нельзя как-либо модифицировать либо просто получить исходный код для его дальнейшего изучения.
Первые блобы, которые начали поставляться вместе с ядром, появились в 1996 году[5]. Первые работы по чистке кода от блобов в ядре начали проводиться в 2006 году. Проект получил одобрение, и в дальнейшем началась активная работа над модификацией ядра. Таким образом, в 2007 году появился окончательный проект Linux-Libre[6][7]. Linux-Libre был впервые выпущен Латиноамериканским фондом свободного программного обеспечения (FSFLA), а затем одобрен Фондом свободного программного обеспечения в качестве ценного компонента для совершенно свободных дистрибутивов Linux[8]. Linux-Libre стал полноценным пакетом GNU в марте 2012 года[9]. Александр Олива является ведущим мейнтейнером проекта.
Способы очистки от проприетарного ПО
Для чистки кода используется сценарий под названием deblob-main[10]. Сценарий похож на тот, который используется в gNewSense. Джефф Мо сделал последующие изменения, которые должны отвечать определённым требованиям для его использования с Blag Linux и GNU дистрибутивов. Существует ещё один сценарий под названием deblob-check[11], который используется для проверки файлов исходного кода ядра, патчей или сжатых файлов на наличие блобов.
Плюсы и минусы чистки кода
Помимо основной задачи — запускать в системе только свободное программное обеспечение, практические последствия удаления блобов могут быть как положительными, так и отрицательными.
Преимуществом является удаление драйверов устройства, которые не могут быть проверены на наличие ошибок и/или проблемы безопасности, либо установленные в Linux-ядре прошивки могут совершать какие-либо действия без уведомления пользователя. В этом случае может быть скомпрометировано всё ядро в плане защиты системы от взломов и прочего[12].
Минусом удаления блобов из ядра является то, что это приведёт к потере функциональности определённых аппаратных средств, для которых нет свободной замены программного обеспечения. Это может повлиять на некоторые звуковые карты, видеокарты, ТВ-тюнеры и сетевые карты, а также некоторые другие устройства. Если есть возможность, разработчики предоставляют свободную замену удалённым драйверам[13].
Доступность
Распространяется в виде исходного кода и всегда доступен на официальном ресурсе. Бинарные пакеты из очищенного от блобов ядра Linux доступны непосредственно внутри дистрибутивов, которые используют Linux-Libre. Freed-ORA — подпроект, занимающийся подготовкой RPM пакетов, доступных для Fedora[14]. Существуют бинарные версии ядер для дистрибутивов Debian[15] и Ubuntu[16].
Дистрибутивы, использующие Linux-Libre по умолчанию