I never understood this 'immune to viruses' thing with Linux / Unix. Surely if everything is open source it is even more vulnerable. 
That's easy. Unix has been a multi-user system from the very start; the universities had those big networked servers back in the days, and the students were allowed access to them, but (rightfully

) distrusted at every corner. So security has been built it right from the start. Being students, hacking the system, i.e. gaining "root" access to the system, was (and is) a sport, so there was (and is) a constant battle between highly intelligent and knowledgeable attackers and defenders (i.e., the programmers and administrators of the system software, firewalls etc. embedded in Unix systems).
Windows traces back to un-networked DOS, which was single user and had no security features at all at the beginning - nobody except yourself could access the machine, so why bother. Of course, it's gone a far way from that, today, but many of the concepts in Windows still are such that they are just fundamentally more open to attack than Unix. So in Windows there's a constant patching of holes, while in Unix the system is basically more or less sound from the beginning - security holes occasionally appear due to bugs (or lazy users

), but it stands on a much more secure base.
Having public access to the source code makes a software inherently *more* secure, because of peer review. There are many people who pride themselves in finding security holes first, and publish them on special web sites for everyone to see. If it's a glaring hole, then the developer of the software is usually informed up front so they can close it before really bad stuff happens. So open-source software is under much more scrutiny.