This seemingly simple requirement has attracted much attention recently, which surprises many software engineers because to them the essentials have long seemed obvious. One may question whether they have failed to understand complexities and issues that fuel the discussion. We argue that what has seemed simple is in fact truly simple.
Object identifiers figure in kernel software, which takes several years to write, test, and refine.
If something important is written about a digital object or a real-world thing, readers should reliably know which thing is intended. Unambiguous, enduring object identification is essential to safeguarding intellectual property. In careful computer science usage, each valid identifier denotes exactly one object within some context. In contrast, a name might denote more than one entity. In addition, names are intended to be convenient for human use, a feature often not shared by identifiers, which we want primarily for use in machines.