A great thing about Drupal is that you can extend the functionality of a site without manipulating the core code upon which the software is built.
A situation arose recently where a client wanted to change the behavior of the core comment module. They didn't say as much, but that was what needed to be done in order to achieve the desired outcome.
So the comment module allows anonymous users to leave comments when permissions are set for that. The anonymous user may leave their name in the name field instead of the default value 'anonymous'. This becomes a problem, however, when the name they enter is an exact match of an existing registered user on the site.
So, say the registered user's name is 'sam' and the anonymous user's name is 'sam', the anonymous user cannot leave their name as such because Drupal won't allow it.
So I built a module I'm calling 'comment display name'. This essentially runs a check to determine if the user is anonymous, and if it is, then defaults the required name field to 'anonymous' but hides it. It uses new database tables to store a 'display name', which the user will be entering in place of the original name field (which is now hidden). This new field doesn't show up for registered users, nor does it change any core behavior.
Here is the module for download if you'd like to try it out on Drupal 6.
Use Case:
1) You want anonymous users to comment
2) You have registered users on your site
3) You want to avoid name conflicts between registered users and anonymous users.
