Add 'level playing field' requirement

From an upstream perspective, I see us as being in the business
of providing open collaboration playing fields in order to build
projects to reach the OpenStack Mission. We collectively provide
resources (infra, horizontal teams, events...) in order to enable
that open collaboration.

An important characteristic of these open collaboration grounds
is that they need to be a level playing field, where no specific
organization is being given an unfair advantage. I expect the teams
that we bless as "official" project teams to operate in that fair
manner. Otherwise we end up blessing what is essentially a trojan
horse for a given organization, open-washing their project in the
process. Such a project can totally exist as an unofficial project
(and even be developed on OpenStack infrastructure) but I don't
think it should be given free space in our Design Summits or
benefit from "OpenStack community" branding.

So if, in a given project team, developers from one specific
organization benefit from access to specific knowledge or hardware
(think exclusive access to proprietary hardware or software that
the open source code primarily interfaces with), then this project
team should be rejected under the "open community" rule.

This requirement (like all requirements in this document) is meant
to be interpreted by humans on a case-by-case basis. In particular,
there is a grey area around drivers for proprietary solutions that
requires human judgment here. As a rule of thumb, if the open
implementation was unusable open core bait to lure people into
using the one and only proprietary driver, it would be a problem.
If the open implementation was fully functional and nothing
prevented adding additional proprietary drivers to the code base,
there would be no problem.

Change-Id: I0cd689afb8ddb7a269b9ce378e4c6647652f6977
This commit is contained in:
Thierry Carrez 2016-06-14 15:16:06 +02:00
parent 3d9b64eb7c
commit 22aae01d55

@ -30,6 +30,12 @@ When considering new projects for addition, the TC will check that:
* The project has regular public meetings on IRC and those meetings are
logged and published (moving to official OpenStack meeting channels once
the project's application is accepted, if they're not held there already)
* The project shall provide a level and open collaboration playing field
for all contributors. The project shall not benefit a single vendor, or
a single vendors product offerings; nor advantage contributors from a
single vendor organization due to access to source code, hardware,
resources or other proprietary technology available only to those
contributors.
* Open Development: