Latynoamerykańska Fundacja Wolnego Oprogramowania opóźniła publikację w pełni wolnej wersji jądra Linux 5.16 — Linux-libre 5.16-gnu, oczyszczonego z elementów firmware i sterowników zawierających komponenty lub fragmenty kodu z ograniczonymi prawami autorskimi. Ponadto Linux-libre wyłącza funkcje jądra związane z ładowaniem nieskalowalnych komponentów, które nie są dostarczane z jądrem, oraz usuwa wzmianki o używaniu nieskalowalnych komponentów z dokumentacji.
W celu oczyszczenia jądra z nieskalowalnych części w ramach projektu Linux-libre stworzono uniwersalny skrypt shell, który zawiera tysiące wzorców do określania obecności binarnych wstawek oraz eliminowania fałszywych alarmów. Dostępne są również gotowe łaty do pobrania, stworzone na podstawie użycia wyżej wymienionego skryptu. Jądro Linux-libre jest zalecane do użycia w dystrybucjach spełniających kryteria Fundacji FSF dotyczące tworzenia w pełni wolnych dystrybucji GNU/Linux. Na przykład jądro Linux-libre jest wykorzystywane w takich dystrybucjach jak Dragora Linux, Trisquel, Dyne:Bolic, gNewSense, Parabola, Musix i Kongoni.
W wydaniu Linux-libre 5.16-gnu wyłączono ładowanie blobów w nowych sterownikach dla chipów bezprzewodowych (mt7921s i rtw89/8852a), ekranów dotykowych (ili210x), chipów dźwiękowych (qdsp6) oraz DSP i.MX, a także w plikach device tree dla chipów aarch64 firmy Qualcomm. Oprócz proponowanej w jądrze funkcji systemowej 'firmware_request_builtin', w Linux-libre zaproponowano funkcję odwrotną 'firmware_reject_builtin'. W skryptach do oczyszczania kodu zharmonizowano funkcje do wyłączania request_firmware oraz wariantów _nowarn/_builtin.
Źródło: opennet.ru
