[OpenStack Foundation] The two types of interoperability

Thierry Carrez thierry at openstack.org
Wed Feb 5 11:21:29 UTC 2014

Hi everyone,

As you all know, the DefCore effort is working on redefining "core" (and
associated permitted usage of the OpenStack trademark), with the end
goal of fostering interoperability.

Interoperability is good, and everyone agrees we need it. However,
"interoperability" is a single word describing two very different
outcomes, and using that word until now prevented having a necessary
discussion on what type of interoperability we are actually after.

There are two types of interoperability. I call the first one "loose
interoperability". The idea is to minimize the set of constraints, and
maximize the ecosystem able to call themselves "openstack" (or

I call the second one "total interoperability". The idea is to maximize
the set of constraints, and have less deployments be able to call
themselves "openstack" (but have that lucky few share more common traits).

Loose interoperability enables differentiation and is business-friendly
(larger ecosystem). Total interoperability enables federation and is
end-user-friendly (easier to move workloads from one openstack to
another, as they share more).

We can continue defining the process, but now we need to choose between
those two types of interoperability, as it affects the implementation
details (how we designate "must-use" parts of the code and determine
"must-pass" tests).

I think it's more than time we look beyond the process and decide what
is our end goal here.

Thierry Carrez (ttx)

More information about the Foundation mailing list