Firmware is a type of software that is required to operate a hardware product on the lowest level. Relevant examples include BIOS and firmware blobs for devices such as wireless cards.
Firmware is a type of software held in non-volatile memory such as ROM, EPROM or flash memory. Because of this it is rarely updated or changed. Examples of firmware on devices that can run Ubuntu include BIOS and firmware for internal network cards. Firmware typically provides low-level services to other software, allowing the hardware it runs on to operate.
Firmware is usually written by manufacturers of hardware products. It is rarely made available as source code. When that is the case, a piece of firmware is referred to as a "blob" because it can't be broken down and edited, but an open standard does exist, and third parties may write replacement firmware with source code available.
Firmware in an Ubuntu system is found in /lib/firmware
. There is a central Linux firmware git repository and blobs from this are included in an Ubuntu installation, but sometimes, particularly with newer devices, it may be necessary to get firmware from other sources.