Take a look around Google and you can see that people are seriously peeved by the lack of notification LED in the Samsung Galaxy S line of devices (excluding the Epic 4G). Developer and i9000 owner Michael R. - better known as neldar on the XDA forums - was annoyed enough by the glaring omission that he decided to come up with a solution. The result: BLN (BackLight Notification).
The basic idea behind the app is quite simple: as there's no LED on the devices, the logical decision is to light up the soft-touch keys. Doing so isn't quite so simple as the layman might initially think, requiring a modified kernel to be flashed in conjunction with the BLN app. You'll need to be rooted in order to flash the custom kernel, meaning that BLN may not be for those who aren't willing to void their warranty or aren't comfortable flashing custom code to their device.
One thing Michael mentioned was that many custom kernels already incorporate the modifications required by BLN, and simply don't activate them. It's also worth noting that some custom ROMs have both the kernel modifications and the BLN app built in - a good sign for the rest of us.
In fact, the only real bummer to BLN is that Nexus S support is, at this point, unlikely. Michael had originally contacted us in response to our post pointing out that the NS didn't have a notification LED, and said he was hoping to remedy that with BLN. But after digging into the digital innards of the Nexus S, he realized that it was a fairly different beast than its Galaxy S brethren. He has an alternate method in mind, but to try it out he'd have to score a NS, something that's a bit out of his budget as a student. Thus, we're without a solution in the Nexus S - for now.
Regardless, if you're the owner of an i9000, Vibrant, Fascinate, or Captivate, I'm guessing you're at least mildly interested in the app. Michael himself maintains the kernel for the i9000, while others have modified the code for the other devices.
If you're running a custom ROM or kernel, you should probably check if you already have BLN support. If not, the best place to find the required kernel is in the Development section of the XDA-Developers forums - or do a Search. Once you find the kernel, you can flash it manually or use Michael's SGS Kernel Flasher app. Then, just download and install BLN, and give it a whirl.
Free / Pro (~$1.37)
[Source: XDA-Developers -- thanks for taking the time to explain the details, Michael]