|[p2-dev] who should declare dependencies on ds?|
We currently use ds in p2 to declare most of our services.
Yet we don't have any particular bundle that declares a dependency on ds.
I can justify this in some respects - theoretically there could be clients that consume the p2 bundles, declare their own services (using ds or dynamically) and thus don't care about getting the default service registrations. However this is not typical usage. Most people would expect to get the ds-declared services, and right now they only get cryptic errors or failed launches if they aren't using our features or product files and don't know to include ds.
For example, in a recent bug  , someone was getting a confusing error because we forgot to include ds in the .product file for an example. We fixed it by including ds in the product file.
My question is - is this the right fix?
It feels a little strange that a consumer that doesn't declare any services with ds still has to know that the bundles it is using declare their services this way.
Is it intentionally left up to the configurer of the system to ensure ds is included in the running target? Or should the bundles that declare services with ds be requiring the ds bundle?