Should interfaces be namespaced under their respective package?

With messages, services, and actions, everything gets namespaced within the package it is defined within. For instance, trajectory_msgs/JointTrajectory is very clearly different than some my_package/JointTrajectory.

It appears right now that capabilities have no package namespace -- this means that once we define some "Navigation" capability, we can never define another -- and what happens if someone else defines "Navigation" in their own package and releases it. At least with packages, you'll quickly see a namespace collision on the buildfarm/wiki -- with the capability.yaml, you might not.

We also run the risk of really running out of interface names...

I'm imagining that this lets us create a "std_interfaces" package down the road, with the most common things like Navigation, RGBDCamera, 2DCamera....