DD-WRT is open source in the same sense that the original Linksys firmware was open-source. Clearly, the GPL parts are open source, including all kernel modules and command line tools based on BSD/Linux. And yes, it must be possible to compile a bootable image with minimal shell support (otherwise they wouldn't be complying with the GPL). However, (this was true two years ago--haven't checked sense) DD-WRT has several binary blobs and closed-source components that handle higher-level tasks (for example, at the time I was looking into this, it was not possible to extend the webserver.)
Additionally, DD-WRT was still on the age-old nvram model of configuration, rather than using a read-write overlay filesystem to allow editing any configuration files. This means that some things were a pain in the ass to change once you have flashed the router, and building a custom image requires compiling a 10GB svn checkout. I'm sure you got it to compile, but I'm just saying that compiling isn't as easy as it should be. I (as did many other angry slashdotters) wasted several hours trying to compile DD-WRT. This is why the words "open source" in the description gave such a backlash.
Anyway, I didn't bother to figure out the compilation process, and I just went over to OpenWRT for my Linksys WRTSL54GS (kernel 2.6 broadcom with b43 -- works really well), Airlink AR-430W, and D-Link DIR-615. They all work really well.
That said, DD-WRT is a fine firmware if you want something that works and does more than the default images--I have friends who love it. It does Client Bridging which is the one feature I sorely miss from openwrt. So in my opinion it's a good choice if you are the sort of person who wants things to work and doesn't plan to write scripts or tweak things from source. And because fewer things are configurable and Brainslayer tests it on a ton of routers, you can be sure that an image will work on your hardware without tweaking anything (if it's on the Supported Devices list).