Problem/Motivation

As Drupal distributions proliferate, interoperability remains elusive. A feature produced for one distribution is seldom usable in the context of a different distribution without triggering conflicts or overlapping components, e.g., user roles with different names that serve roughly the same purpose.

An early effort to promote interoperability, the creation of a Kit feature specification, flagged when its authors moved on from Drupal development, though discussion has picked up, see #1456518: Governance of the Kit Spec. An Open App standard provides standard methods for requesting and providing plugin information but relies on Kit for any deeper specification. Attempts to extend Kit - notably, the Debut specification, have not generated wide attention.

In itself, the Kit specification can provide a necessary but not a sufficient basis for ensuring interoperability between distinct distributions. In many cases, the specifics needed for interoperability will vary by the type of distribution. For example, for a groups type distribution, interoperability may depend on a common solution for the entity type (e.g., node) and bundle name (e.g., 'group', or 'team') that groups are attached to.

Proposed resolution

A key step towards interoparability will be a commitment not only to meet existing specs (the Kit features spec) but - more importantly - to collaboratively enhance such specs wherever needed. A suggested first step is a commitment to be made by Drupal distro maintainers.

Draft Drupal Distribution Experience (#DDX) commitment:

I commit to meeting a high standard of interoperability in my features-based distribution. Minimally, all functional plugins will meet the Kit specification. Beyond that, I and my team will work to identify and extend Kit specifications wherever common needs arise. If my distribution addresses a specific use case, e.g. groups functionality, I will work with the maintainers of other distributions sharing my use case to define and maintain a Kit specification extension setting a high bar for interoperability, such that plugins written for one distribution can be expected to work seamlessly in any other distribution covered by the Kit extension.

Remaining tasks

Draft commitment needs review and editing by multiple distribution maintainers. Please comment and edit away!