Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The purpose of this document is to describe the GitHub roles used by the FIO protocol and how each role can be obtained by community members.

Assumptions:

Dispute resolution will be performed by airing of grievances first to the organisation owners on the GitHub and the last resort is open discussions with the fio steering committee during its scheduled meetings.

Roles:

GIT Organization

Owner – This role can perform all admin and management of members, repositories, teams and other git information associated with the FIO organization. importantly owners can create and remove repositories within the organization. Owners can invite new members into the GitHub organization.

Member – An organization member is a pre existing git account that has been invited and accepted the invitation into the FIO organization. Members can be assigned to teams within the FIO protocol. Members can be provided permissions/repository roles (see below). Members can be private or public (this is the choice of the member).

Membership on the FIO protocol is held by a small set of individuals in the community (less than 50)fio protocol can be requested of GitHub members by asking an existing member via social media. Membership may be requested directly of any GitHub account by the organisation owners. Membership will be granted based upon the perceived merits of the individual to the fio protocol by the organisation owners. Any disagreement in membership can be brought first to other members to convince them to advocate for the new member.

Team – a team is a group of FIO protocol members. Teams can be provided permissions/repository roles (see below). teams can be secret or visible.

...

Permissions/Repository RolesThese

For more details of permissions in GitHub see https://docs.github.com/en/organizations/managing-user-access-to-your-organizations-repositories/repository-roles-for-an-organization

members may request permissions along with details relating to why they need the desired permissions of the organization owners via DM or any other contact info that is appropriate for organization owners. Owners will evaluate the merits of requests and act according to the best interests of the FIO protocol.

The following permission items apply to teams and individual members within the FIO protocol organization.

...

Read and clone repositories. Open and comment on issues and pull requests.

Read permission is given to all GitHub accounts

Triage

Read permissions plus manage issues and pull requests.

Triage permission will be given to members as needed in their service of the fio protocol by the organisation owners as necessary to facilitate their efforts.

Write

Triage permissions plus read, clone and push to repositories.

Write permission is given to code owners

Maintain

Write permissions plus manage issues, pull requests and some repository settings.

All developers will be given maintain permission

Admin

Full access to one or more repositories including sensitive and destructive actions. Modify Admin RoleBranch

Organisation owners will be given admin permissions

Recommendation for branch names for organization repositories

...

Code Owner – for each repository or groups of associated repositories there will be a set of organization members who are qualified to provide an approving review to enable merge of the PR (it is recommended at least 2 of these be identified per repo). it is recommended that GitHub Teams be used to identify code owners for related repositories on the GitHub. organization owners will manage the teams and members according to the best interests of the FIO protocol.

Merger – once a PR has met approval requirements any organization member with write access to the repository may merge the PR (this requires write access to the repo).

a process of change request will be used within FIO. By convention the FIO protocol owners will decide how many code owner reviewers are required for pull requests to be merged into the above named branches of each repository. it is recommended that for develop this number be at least 1 code owner, and for master it be at least 2 code owners. All FIO organization repositories should be configured in the same manner. Each should enable require review by code owners. a code owners file should be established in each repository.

...

Request to become a code owner by contacting an existing code owner or repository organization owner and providing credentials as a developer.

...

The granting of the code owner role will be performed by approval of the existing set of code owners.

...

Code owners who become inactive on the repositories in question will be removed from the set of code owners. Any code owner or organisation owner can ask of the existing code owners to give thumbs up thumbs Down via social media to remove an existing and inactive member.

Code owners may re-join the necessary team as their participation increases (code owners can be on the team then off then on again as needed by the FIO protocol)

Assumptions:

It is assumed that the GitHub FIO organization owners will act in the best interests of the FIO DAO when interacting with the FIO community. If any community member feels that they are not, then issues can be brought up to the FIO steering committee during the normal steering committee WP review and monthly meeting process.

...