This note outlines the process by which a contributed device service may be adopted into EdgeX. Consideration will generally be given to services which provide access to classes of devices previously unavailable in EdgeX, or which have substantial advantages over an existing implementation.

Initial proposal

In the first instance, the contributor should contact the working group chair to arrange a date on which consideration of the new service may be added to the WG agenda. At the arranged meeting, the contributor should give a short presentation on the new service and take questions. The working group will likely be interested in:

A brief demonstration of the device service in operation may be helpful.

If the WG approves, a repository in the edgexfoundry-holding project will be created, for the new service to be imported into.

Service Review

When the service has been imported into the -holding repository, and the contributor feels that it is ready to be reviewed, these steps are to be followed:

1. PR Created

2. Assign reviewers

Based on priorities set by the working group chair and/or TSC, the device services WG should ask for volunteers to review the service. A minimum of two reviewers is required. The reviewers should not be from the same group within the company that submitted the contribution. The WG chair should add both reviewers to the PR.

3. Due Date

The reviewers and the WG group chair should decide on a mutually agreeable due date for the initial reviews to be submitted, this should be recorded in the PR description (or comment) and the WG meeting notes. A baseline of two weeks from assignment should be a good starting point for discussion.

4. PR updates

If the reviewers submit "request changes" reviews, then the authors should address these and push new commits to address the feedback (i.e. no force pushes should be used). While it may not always be possible, ideally reviewers should re-review the PR within (3) days of an update to the PR.

5. WG Approval

Once a minimum of two "approved" reviews have been submitted, the WG shall vote on accepting the service. If this vote passes, then it should be recorded in the WG meeting minutes, and TSC should be notified. Meanwhile the PR should be squashed and merged.

6. TSC Approval

Once approved by the TSC, the LF should be notified that the repository can now be moved into the edgexfoundry organization on GitHub. At this point the review branch should be re-named to main.

Review Criteria

Other than general code quality, the review should consider:

Further actions following adoption