hardware. If you want to run more, you will need to use the Jack sound server (or a similar solution, but Jack is best.)
says you...i say unless you need esoteric interapp routing capabilities and are on i686 and want to patch your kernel and run everything as root its not worth fighting with this userlayer util to get it to run as smoothly (in terms of eliminating audio dropouts) as ALSA's dmix or hardware mix..
In windows xp I was able to get sound from multiple softwares simultaneously. Shouldn't I be able to do so in linux as well?
yep, you can do this directly via alsa, by adding 'dsnoop' or 'dmix' entries to your /etc/asound.conf, or via jack, or via your card's hardware mixing (if its good enough)