GitHub organization

This page explains how the RITlug GitHub organization is organized and how to manage it.

Purpose

The GitHub organization is a central place to manage club projects, membership, and infrastructure. Most data is static and does not change often. Setting up club projects or adding a new member is when you usually need to interact with the GitHub organization.

Repositories

There are no restrictions on repositories allowed. Repository creation permission is granted only to eboard members as a precaution. This approach was decided to ensure that the current eboard has a chance to review a project before officially endorsing it underneath our GitHub organization.

Generally, repository creation should be encouraged rather than discouraged.

Adding new members

There is no criteria for adding new members to the RITlug GitHub organization. There are no requirements to add new members to the RITlug GitHub organization other than being an active community member. In the future, if a membership criteria is developed, this section should be updated.

Active community members of RITlug should be added to the GitHub organization. Adding a new person to the GitHub organization validates their contributions and activity in the club and helps others be included with projects. Past eboards intentionally chose a loose definition of membership in GitHub for this reason.

These steps should be followed to add a new member:

  1. Add them to organization via GitHub
  2. File new issue in RITlug/tasks to welcome them
  3. Add them to an appropriate GitHub Team (detailed below)
Add a new member to the GitHub organization from the People page

Add a new member to the GitHub organization from the People page

Welcome message

Welcome new members to GitHub and notify them of why they were added. To do this, file a new issue in RITlug/tasks to explain why they were added and how to set their membership status to public. Past examples can be used as references ([1] [2] [3]).

Telling the person how to set their membership as public is important. This instruction should always be included in the welcome message.

GitHub Teams

GitHub Teams are a tool to organize members inside of a GitHub organization. This also allows for permission matrices for different repositories and projects.

GitHub Teams in our organization

GitHub Teams in our organization

There are four teams:

  1. Eboard: Club leadership (grants admin access to all repositories)
  2. Friends of RITlug: Active participants with the club from outside RIT or other friends of the club (does not include permissions)
  3. Members: RIT students, faculty, and staff participating in RITlug (does not include permissions)
  4. TigerOS Team: TigerOS project team (grants write access to TigerOS repositories)

Anyone added to the GitHub organization should belong to at least one team.

[1]https://github.com/RITlug/history/issues/12
[2]https://github.com/RITlug/history/issues/13
[3]https://github.com/RITlug/history/issues/18