1. When a person registers a name they declare a price they are willing to sell the name for. They can update their price at any time.
2. They pay an annual tax (about 1% to 5%) for the right to keep the name.
3. If someone is willing to buy the name for the declared price they are forced to sell the name to them.
This system has the advantage that the person who values the name the most will get to keep it, and the person who lost the name will be fairly compensated.
[0] https://www.law.nyu.edu/sites/default/files/upload_documents... (See the bottom of page 39 in particular)
economics concerns itself with the best allocation of productive resources. names don't really fall into that category (even if there is some marginal utility in the economic domain for edge cases like celebrities' names).
you can just allow people to choose whatever username they want, that's a system...that nobody seems to allow for whatever reason. people have the same names in real life and we've learned to deal with it. twitter already has a verified system to deal with imposters for high profile accounts where it would matter.
blizzard (battlenet) lets you choose any username but tags on a number for everyone. so there's bob#1234, bob#2342 etc. and then it hides the number for display purposes. that seems a decent compromise.
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.
On Twitter or a forum like this for example, unique usernames are probably essential, because the alternatives are too confusing.
That way there is no overlap, and nobody is slighted when they find out that their name is taken.
ICQ uses a number, but yeah, how many people still use it?
Plus, now that the identifier carries no meaning, you can't type "@realdonaldtrump ..." and expect people to know who it refers to, you'd have to type "@aae0450, Donald Trump ...".
1. A first-come-first-serve system like Twitter. I'd list drawbacks but this comment section is full of them.
2. A lease system like domain names, whose drawbacks are best explained in this tweet by @devonzuegel:
Does anyone know of another way to do meaningful names?