PROPOSED - this content is pending review and approval of the TSC and EdgeX Governing Board

This page will eventually replace contents from here:  Technical Work in the EdgeX Foundry Project

Project Team Roles

Projects are driven by the people - people contributing code, documentation, tests, etc. (some product artifact) as well as volunteers that serve to oversee and manage the incoming contributions. 

There are three defined roles associated with artifact contributions.

Contributor: anyone, whether a member of EdgeX or not, can make a pull request on one of the GitHub repositories and make a contribution.  Any contribution must be have an appropriate DCO sign off and the author is required to follow the laws and policies with regard to copyright law, Apache 2 license agreements, and Linux Foundation policies, but all contributions that follow these rules and policies are greatly appreciated, subject to project review and possible incorporation into the project.  A person making a contribution is deemed a contributor.

Maintainer:  Maintainers own one or several components in the projects source tree. A maintainer reviews and approves changes that affect their components. It is a maintainer's prime responsibility to review, comment on, co-ordinate and accept patches from contributors and to maintain the design cohesion of their components. Maintainers are listed in a MAINTAINERS list on this page for each code repository.

Larger projects may have special maintainer roles such as a release manager and stable branch maintainers. In addition, larger projects may award different maintainers different levels of influence. Any specializations and implications are documented in the respective MAINTAINERS file.

Committer:  Committers are Maintainers that are allowed to commit changes into the source code repository. The committer acts on the wishes of the maintainers and applies changes that have been approved by the respective maintainer(s) to the source tree. Due to their status in the community, committers can also act as referees should disagreements amongst maintainers arise.  Committers are listed on this page for each code repository.

Nomination and Approval of Maintainers and Committers

The TSC chair and vice chair are automatic committers for all repositories.

By default, project working group leads are automatically committers for repositories assigned to their working group.  Working group leads can nominate additional committers for repositories assigned to their working group.  Approval of new committers requires the approval of 3 members of the TSC with at least two approvals coming from TSC members from different companies.

The TSC may appoint (with a majority vote) other committers and maintainers as it sees fit based on architectural purview of the project, knowledge of the project, volume of contributions, etc.

The TSC can, by majority vote, revoke the committer or maintainer privilege.

WG Leads are requested to update the lists below on the approval of any new committer or maintainer at their request.  The TSC Vice Chair will update this list when a TSC committer or maintainer is added/removed on a decision taken outside of a request from a WG lead.

Current Committers List

Last Updated:  12/9/18

edgex-go (mutliple WG lead responsibility)

device-sdk-go (device service WG responsibility)

device-sdk-c (device service WG responsibility)

device-mqtt-go (device service WG responsibility)

device-modbus-go (device service WG responsibility)

device-random (device service WG responsibility)

device-grove-c (device service WG responsibility)

device-opcua-c (device service WG responsibility)

edgex-ui-go (general TSC responsibility)

edgex-ui-clojure (general TSC responsibility)

developer-scripts (general TSC responsibility)

blackbox-testing (test/QA WG responsibility)

ci-managment (DevOps WG responsibility)


Note:  For additional smaller and less used EdgeX Foundry Repository and committers lists, see https://github.com/orgs/edgexfoundry/teams, click on the repository of interest, select on the members for that repository, and then selecting the Role (Committer, Maintainer, Member) from the Role drop down.

Current Maintainers List

Last Updated:  12/9/18

edgex-go

device-sdk-go

device-sdk-c (device service WG responsibility)

device-mqtt-go (device service WG responsibility)

device-modbus-go (device service WG responsibility)

device-random (device service WG responsibility)

device-grove-c (device service WG responsibility)

device-opcua-c (device service WG responsibility)

edgex-ui-go (general TSC responsibility)

edgex-ui-clojure (general TSC responsibility)

developer-scripts (general TSC responsibility)

blackbox-testing (test/QA WG responsibility)

ci-managment (DevOps WG responsibility)