Teams and Internal Structure
Alpine is organized into various teams. Teams help with delegating work. Delegating work requires people to be available and get the necessary permissions to do their work. Teams also make it easier for people to join specific teams, rather than the entirety of the project and all that entails. Finally, this organizational structure gives more transparency as to how work is divided, and aids collaboration with outside entities. This section describes the status quo of how Alpine is organized.
A group of people with a specific purpose/scope that they tend to.
- Team Member
A registered member of a team, given access to that team’s workspaces.
Any Team Member is considered a fully fledged developer.
- Team Administrators
Team members that are allowed to vote in various organizational meetings and can appoint new team members. Team Admins are marked in bold in official team listings.
There is no distinction between technical and non-technical team members. Both are valued, and any useful distinctions are left to the discretion of individual teams.
The base team is the ultimate authority within Alpine. For day-to-day operations, additional teams are established at the pleasure of the base team and given the authority necessary to conduct themselves.
The Base team consists of 3 elected members, guaranteeing a quorum. Members of this team serve 3 year terms, staggered such that one member steps down per year. Each year, an election is held through a project-wide Vote.
Teams organize themselves internally however they want. However, all teams must have at least 1 admin, and at most 3. This document does contain multiple recommendations, which, if followed, will make external relations easier. Further, team administrators must follow the policies of other teams when working in their domain.
The base team needn’t be involved in establishing every team - the project as a whole is permitted to self-govern in this respect. An existing team member within the project may propose creating a new team. In that scenario, the process will be the same as in Becoming a Team Administrator. If the vote passes, the new team is formed, with the sponsor member as the only administrator.
A team is dissolved if it has no more members. If a team has no more administrators, one must be nominated, as in Becoming a Team Administrator. If the vote does not pass, the team is dissolved as well.
Being in a team grants grants you the things you need to work on whatever the scope of the team is. You should know your fellow team members well, and cooperate with them (and potentially other teams) to achieve tasks. As a team, you may request various workspaces, such as a separate irc channel, git namespace, dedicated host, and more. As a team, it is up to you how you manage yourselves internally, but the contents of this document should serve as guidelines. However, all team members are expected to follow project-wide policies (all of which are in the governance document as well) and the Code of Conduct.
As a team admin, you have more powers, and thus more responsibility. Since you have the power to Vote (e.g in nominating other team admins), you are expected to be present for meetings and voting sessions. In the scenario that you must be absent for significant periods of time (more than a few days), you are expected to inform other team admins of that.
Team admins have the ability to add new members. You should have already contributed to the team in question (whether technically or non-technically), and convinced a admin that you should be in a team (just asking can be enough, sometimes). Technically, any admin may add or remove members, and teams may organize themselves however they wish internally. However, we recommend that all the team admins of a given team perform an internal voting process, similar to that of project-wide voting.
The position of team admin involves a large amount of trust. Team admins can vote on actions that will change the entirety of the project. As such, the only way to become a team admin is by suggesting yourself to an existing admin, and having them call a Vote.
Sometimes, members must be removed. This can happen for a variety of reasons. Teams are free to organize themselves as they see fit, but we recommend leaving purging team members as the last option on the table. In the case that it must come to pass, we recommend that all the team admins of a given team perform an internal voting process, similar to that of project-wide voting.
Team admins are members as well, but there is no higher in-team authority available to remove them. In the scenario that this last resort is considered, this shall be done through a Vote
Removing members (and especially administrators) is an extreme measure. In most cases, it is possible to solve issues through other means. It is highly recommended that the removal of anyone from the project be strongly considered before it is suggested.