Proposal, additions to Policy and changes to dpkg:
(1) Add to policy: all package names must be nongeneric .
(2) Add to policy: all new binary names must be nongeneric.
Historical generic names ("file", &c.) are grandfathered in.
Where possible, upstream packages should be patched to create
nongeneric binaries (e.g., "imagemagick-display",
(3) Add /etc/friendlynames and update-friendlynames to dpkg, which
works similar to /etc/alternatives except applications sharing
names are not expected to provide similar functionality or
accept identical arguments.
(4) Heavily-favor well-established names (e.g, "display" for their
(5) Where possible, patch scripts to refer to the unambigious names.
(6) Where difficult to find all references, do not support bugs arising
from unusual remappings of friendly names. If you want to be wierd,
that's on you.
* Menu launchers could have generic icons to launch "word-processor",
"calculator", "graphics-editor", "contact-manager". Deep integration is
not expected: just launch the app with no arguments.
* All users across multiple systems have a consistent interface for
making sure friendly-names are consistent.
* People depend on the friendlynames in their scripts, users change
them, scripts break. Mitigation: provide recommendations for
friendlynames, identify names which are safe to remap, and don't support
adventurous users whose system break.