Linux firmware và câu hỏi hệ điều hành Linux có phải là mã nguồn mở 100% không?

Linux là hệ điều hành mã nguồn mở, miễn phí cho mọi người là câu nói bạn hay được nghe.

Hệ điều hành Linux có mã nguồn mở (open source code) và mọi người có thể xài miễn phí cũng là câu nói phổ biến về nó.

Hệ điều hành Linux được cấu tạo từ 2 thành phần chủ yếu là Linux kernel và các phần mềm của dự án GNU, cả hai đều miễn phí và có mã nguồn mở.

Linux kernel cung cấp toàn bộ mã nguồn (source code) cho mọi người ở trang kernel.org.

Trong dự án Linux kernel có 1 phần riêng là Linux firmware có mã nguồn đóng (closed source, proprietary software).

Linux firmware cung cấp các chương trình chạy được ở dạng nhị phân gọi là binary blob hay blob.

Binary blob là chương trình đã được biên dịch (compile) thành dạng nhị phân và chạy được để điều khiển các thiết bị phần cứng của hãng nào đó chạy trên Linux.

Linux firmware trên AlmaLinux 9.

yum info linux-firmware -q
Installed Packages
Name         : linux-firmware
Version      : 20230814
Release      : 140.el9_3
Architecture : noarch
Size         : 321 M
Source       : linux-firmware-20230814-140.el9_3.src.rpm
Repository   : @System
From repo    : anaconda
Summary      : Firmware files used by the Linux kernel
URL          : http://www.kernel.org/
License      : GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted
Description  : This package includes firmware files required for some devices to
             : operate.

Linux firmware trên Ubuntu Server và cả Ubuntu Desktop.

apt info linux-firmware
Package: linux-firmware
Version: 20240202.git36777504-0ubuntu1
Priority: optional
Section: misc
Origin: Ubuntu
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Original-Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 479 MB
Provides: atmel-firmware
Recommends: firmware-sof-signed
Conflicts: atmel-firmware
Breaks: amd64-microcode (<= 3.20220411.1ubuntu1), initramfs-tools (<< 0.142ubuntu8~), linux-firmware-raspi2 (<= 1.20190819-0ubuntu2), linux-firmware-snapdragon (<= 1.2-0ubuntu1)
Replaces: atmel-firmware, linux-firmware-snapdragon (<= 1.2-0ubuntu1), linux-restricted-common
Task: server-live
Download-Size: 470 MB
APT-Manual-Installed: no
APT-Sources: http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
Description: Firmware for Linux kernel drivers
 This package provides firmware used by Linux kernel drivers.

Các binary blob file của các hãng phần cứng chạy trên Linux là đây

Kết luận hệ điều hành Linux không phải mã nguồn mở 100% như bạn vẫn nghĩ vì nó có chứa firmware là các chương trình chạy ở dạng nhị phân (binary) của các hãng phần cứng, không phải hãng phần cứng nào cũng cung cấp mã nguồn cho mọi người xem vì đó là bí mật công nghệ của họ.

Cơm thêm về firmware.

Firmware là phần mềm cấp thấp được viết để điều khiển trực tiếp phần cứng.

Firmware là cách dùng từ ngữ của Tây để chỉ nó dạng phần mềm mềm dẻo, trung gian khi so sánh với từ phần cứng (hardware) và từ phần mềm (software).

Firmware có người dịch là phần sụn hay vi chương trình do chữ firm có nghĩa là mềm dẻo.