For info on compatibility, see here: http://en.reddit.com/r/RTLSDR/wiki/compatibility
, and the source for the driver, which you can read in the oscocom git repository, (linked from http://sdr.osmocom.org/trac/wiki/rtl-sdr
If you stick with dongles which use the RTL2832U and Rafael Micro R820T they all should work.
Now that the e4000 tuners are basically almost impossible to find, the best approach is to just buy sticks using the RTL2832U and R820T.
There must be at least two dozen DVB-T sticks that are compatible for use as SDRs.
There is another list of TV sticks here: http://palosaari.fi/linux/
and here is a search for RTL2832 on the Linux TV wiki: http://www.linuxtv.org/wiki/index.php?title=Special%3ASearch&search=RTL2832&fulltext=Search
Also, there is also a lot of info here (in Japanese, you might need Google Translate) http://blog.livedoor.jp/bh5ea20tb-index/archives/19627815.html