DRAFT work in progress

Akraino Best Practice for Upstream Dependencies

Akraino community consists of three types of projects, Feature, Integration (aka Blueprint) and Validation. 

For Blueprints, the corresponding project is typically based on one or more upstream open source projects outside of Akraino. Akraino community (see the community document) adopts a "Upstream First" philosophy and encourages bug fixes or feature additions be contributed back to upstream first in order to reduce technical debt and avoid forking. Exceptions are allowed but must have clearly identified reason with TSC approval.

For Validation projects, we may utilize software tools, testing frameworks or test suites from upstream open source projects. In these cases, the best practice should also follow the same principle as in the Integration projects.

Akraino Feature projects develop original source code that is not adopted from upstream directly. These projects may also base their foundation on other open source projects or utilize upstream tools or frameworks. In all these cases, the same principles apply.

The Coordinators

For all three types of projects in Akraino community :

The Best Practice

The Upstream Sub-committee should develop a current best practice policy that all projects can follow.

This policy can be evolved and improved over time. We will start with a draft, e.g.

Documentation

Single Point of Liaison

The other role that TSC assigns to the Upstream Sub-committee is to be the single point of liaison to other communities and organizations. These may include upstream projects who want to know more about Akraino overall (rather than a specific project within Akraino), or larger open source communities and other industry or standard organizations interested in interactions with Akraino beyond a single project and in more stable long term arrangement.

Initially, the Sub-committee plan to initiate a series of talks by relevant organizations that overlap with Akraino's mission. For example, Openstack Edge working group, Kubernetes edge working group, ONF, ONAP edge working group, EdgeX (and other LF Edge projects), TIP, and ...

The Ambassador

We recommend that the Upstream Sub-committee act as an ambassador (See community technical document description of this role), but meetings can take place in any community meeting slots as appropriate, e.g. in the community meetings, in TSC meetings, but can also be hold during this Sub-committee meetings. All such meetings material should be consolidated into one place in the Upstream Sub-committee wiki and documentation for easy search and access.

Similarly, the Upstream Sub-committee will also represent Akraino community in the reverse direction to these and other organizations on behalf of Akraino.