This is a policy proposal under consideration which has not yet been formally approved by the EdgeX TSC.
Github Organizations
EdgeX Foundry is an open project with all of its code, documentation and other artifacts stored primarily in Github. Specifically, there are two Github organizations that hold EdgeX related artifacts:
- https://github.com/edgexfoundry: contains the code, documentation, and other artifact repositories that are or were (now archived) part of the EdgeX Foundry platform. In particular, this organization holds artifacts that EdgeX continues to manage, maintain and support per its release and support strategy (see https://wiki.edgexfoundry.org/pages/viewpage.action?pageId=21823969 and https://wiki.edgexfoundry.org/display/FA/Long+Term+Support).
- https://github.com/edgexfoundry-holding: holds repositories containing proposed additions to EdgeX, experiments, demonstrations, and other code, documentation and artifacts that have not officially been brought into EdgeX but are available for evaluation and exploration. The holding organization was established to support the large code contribution process defined here: https://wiki.edgexfoundry.org/display/FA/Contributor%27s+Process. In other words, this the “playground” staging area for code that is not yet officially a part of EdgeX and is not under any active management, release, or support strategy and in fact may never be a part of EdgeX in the future. Users and community members should apply ample caution when pulling anything out of this organization as the EdgeX community offers no guarantees of support, viability or ownership of any repository herein.
Github Repository Creation and Owners
New EdgeX repositories can be created in either Github organization.
- Repositories created in edgexfoundry require the majority approval of the TSC as these are considered repositories of artifacts that EdgeX must manage, maintain and otherwise actively administer with the support of the Linux Foundation. New repositories in this organization are created with a request sent through support.linuxfoundation.org (the Linux Foundation’s IT project support system) and must contain the github id of the “owner” and a list of github IDs for the original committers (all approved by the TSC). The owner should be a WG chair. The request for a new repository must also include a reference to the TSC approval (example: link to the meeting minutes containing the approval).
- Repositories created in edgexfoundry-holding require the approval of any single TSC member. Repositories in this organization are also created with a request sent through support.linuxfoundation.org and must contain the github id of the “owner” and a list of github IDs for the original committers. The owner is the TSC member requesting the holding repository. The request for a new repository should contain a link to this policy for approval.
Github Repository Ownership Changes
The owner of a repository in edgexfoundry or edgexfoundry-holding occurs with WG Chair transfer. As a new chairperson is voted in or named by the TSC, the repositories formerly owned by the previous chair automatically transfer to the new chair unless the TSC votes by majority to transfer the ownership to an alternate chairperson.
Repository Access Rights
WG Chairs (and owners of the repositories) may request committer or maintainer rights by nominating and getting approval of at least two TSC members per the https://wiki.edgexfoundry.org/pages/viewpage.action?pageId=21823860#Contributors,Committers&Maintainers-NominationandApprovalofMaintainersandCommitters policy.
With the approval of two TSC members, a request to access rights must be submitted by the repository owner through support.linuxfoundation.org and must provide the github IDs for the new committers/maintainers and a reference to the TSC vote approving their access.