From LQWiki
Firmware is embedded software contained in EPROM or flash memory. It isn't quite hardware, but at least doesn't have to be loaded from a disk like regular software. Hacker usage differs from straight techspeak in that hackers don't normally apply it to stuff that you can't possibly get at, such as the program that runs a pocket calculator. Instead, it implies that the firmware could be changed, even if doing so would mean opening a box and plugging in a new chip. A computer's BIOS is the classic example, although nowadays there is firmware in disk controllers, modems, video cards and even CD-ROM drives.
Firmware is a pun, a state of being between software and hardware.
In the beginning there was hardware - an unalterable (but possibly programmable) collection of logic organised to do something. If the hardware were programmable, then software could be written as a programme for the hardware. Software is highly alterable and could be stored in volatile memory, as long as the hardware was connected to a power supply. Some software, although capable of being rewritten, tended to be written once and required often. One example is the BIOS, the initial programme that gives computing hardware a clue about what to do next. This programme could be fused into particular types of hardware "Programmable Read Only Memory" (PROM) or fabricated into a permanent Read Only Memory (ROM).
However, this permanency is a disadvantage, locking out improvements to the programme. The development of reprogrammable or erasable PROM (EPROM) enabled a state of being more permanent than software but less permanent than hardware.
Firmware is usually developed by engineers and the pun has given rise to a further state of being "vaporware" usually developed by marketing.
This article is based, in whole or in part, on entry or entries in the Jargon File.

This page is available under a