Starting with kernel 2.4 (in January 2001), hotplugging became a standard feature of GNU/Linux. It's been backported to kernel 2.2 (for USB), and kernel 2.6 makes it available to all sysfs-adapted busses and driver classes.
Hotplug lets you plug in new devices and use them immediately. That means that users won't need to learn so much system administration; systems will at least partially autoconfigure themselves. Initially, hotplug included support for USB and PCI (Cardbus) devices, and could automatically configure some common network interfaces. Updated versions include IEEE 1394 (Firewire/i.Link) support and can download firmware to USB devices that need it. On mainframes, S/390 channel devices uses hotplugging to report device attach and other state change events. For laptops, newer kernels also include support for reporting docking station activity.
In the Linux 2.6 kernel, hotplugging has been integrated with
the driver model core so that any bus or class can report hotplug events
when devices are added or removed.
Quite a few subsystems now support hotplugging; the list at this
site is not currently exhaustive.
There's work afoot to improve the situations for hotplugging
many kinds of devices, including things like disks,
power supplies (many newer UPSes are usb-programmable),
input devices, and even more.
In particular, udev builds on hotplug, to help make
Basic hotplug support is included in almost all current distributions of GNU/Linux, including RedHat, Debian, and United Linux. A number of separate packages bundle their own add-ons, to automate things like firmware downloading and desktop integration.
There is a linux-hotplug mailing list available for any developers who wish to contribute to this project, including coordinating any Linux-wide changes.
Archives of the old (linux-hotplug-devel on sf.net) list are also available.
Post website comments/suggestions to the linux-hotplug-devel mailing list.