"Once upon a time, a Linux distribution would be installed with a /dev directory fully populated with device files. Most of them represented hardware which would never be present on the installed system, but they needed to be there just in case. Toward the end of this era, it was not uncommon to find systems with around 20,000 special files in /dev, and the number continued to grow. This scheme was unwieldy at best, and the growing number of hotpluggable devices (and devices in general) threatened to make the whole structure collapse under its own weight. Something, clearly, needed to be done." The solution came in the form of udev, and udev uses rules to determine how it should handle devices. This allows distributors to tweak how they want devices to be handled. "Or maybe not. Udev maintainer Kay Sievers has recently let it be known that he would like all distributors to be using the set of udev rules shipped with the program itself." ComputerWorld dives into the situation.

I'll leave the developers vs. distributors debate to the relevant people, but what about custom rules used by the end users?

One simple, and I believe rather common example: I have two ipods at home, an 80G classic, and a Rockbox-running first-gen nano. Custom rules allow me to give each one a specific device name, which will stay the same regardless of the order I plug them in, when I do happen to plug them both in (using the serial numbers, no less). How is a set of rules chosen by the developers going to cover the zillion similar real-world uses of udev? Or am I missing something?