Another note if you're going to allow accounts to be public is that not requiring a username means you have to allow for a "Display Name" (you certainly wouldn't show an email address), but if your users want to use their real names there's potential for duplicate names which could cause confusion (think two SO commenters with no pictures and the same name, the assumption is that it's the same person unless you clicked through to a full profile). In that case you'd either have to force a unique Display Name (which could keep someone from using a real name) or just accept that you may have two Bob Johnson's hanging around confusing people.