> people have the same names in real life and we've learned to deal with it.
Yes, mostly by having systems that refer to people not by their names, but either by "universal" opaque IDs like social-security numbers, or by attaching to their name a system-specific hierarchical ID like a mailing address (because you're probably the only John Smith living at your address; if you weren't, it'd probably annoy you so much that you'd likely use a nickname.)
The "usernames" that this debate is about aren't "display names" (those can indeed be arbitrary), but rather basically "URL slugs"—things that allow you to target an email to that person, or to make a web request for the right person's content. Those have to be unique, in the same way that an SSN has to be unique. (They're primary/partitioning keys.)
Usernames, as URL slugs, are meant to be a "more readable, if possible" and "shorter, if possible" version of the opaque unique identifier, where you can maybe get something memorable and vaguely-resembling your own name, but where that can't be guaranteed, because a username—as a URL slug—can't sacrifice any of the properties of a unique identifier.
Yes, mostly by having systems that refer to people not by their names, but either by "universal" opaque IDs like social-security numbers, or by attaching to their name a system-specific hierarchical ID like a mailing address (because you're probably the only John Smith living at your address; if you weren't, it'd probably annoy you so much that you'd likely use a nickname.)
The "usernames" that this debate is about aren't "display names" (those can indeed be arbitrary), but rather basically "URL slugs"—things that allow you to target an email to that person, or to make a web request for the right person's content. Those have to be unique, in the same way that an SSN has to be unique. (They're primary/partitioning keys.)
Usernames, as URL slugs, are meant to be a "more readable, if possible" and "shorter, if possible" version of the opaque unique identifier, where you can maybe get something memorable and vaguely-resembling your own name, but where that can't be guaranteed, because a username—as a URL slug—can't sacrifice any of the properties of a unique identifier.