Skip to content

EdgeTX Project By-Laws

Name

The name of this open source project is EdgeTX.

Purpose

The purpose of EdgeTX is to provide an open source software that allows users to choose freely from a number of compatible vendors and run their Radio Control (RC) models freely, without being bound to closed source systems. EdgeTX allows users to experiment and develop new features without limitations and restrictions by vendors and their commercial interests.

The EdgeTX Project Steering Committee does not condone use of EdgeTX for military purposes of any type, and will not provide assistance to any parties wishing to do so.

Code

The source code for EdgeTX is maintained in GitHub Project EdgeTX. The primary GitHub repository is the edgetx repository.

Project Steering Committee

The EdgeTX Project Steering Committee (PSC) is the official governing body of the EdgeTX open source project and is responsible for all management aspects. The PSC is responsible for setting the overall direction of the project and its releases, determining what features go in, managing the documentation, assigning and revoking commit rights, etc.

The section that follows describes how the (PSC) is formed and operates to make decisions on all aspects (both technical and non-technical) of the EdgeTX project.

Current Project Steering Committee

The current committee members (and their Discord usernames) are:

  • Raphael Coeffic (pafleraf) - Committee Chair
  • Robert Janiszewski (JimB40)
  • Peter Feerick (pfeerick)
  • Risto Kõiva (Risto)
  • Richard Li (Richard Li)
  • Phil Eville (EZRipFPV)
  • Malte Langermann (Malte)

Structure

The PSC is made up of individuals who are either developers, users, or other stakeholders. Members are elected to participate in the PSC based on merit irrespective of their organizational ties. It is desirable but not strictly required of the PSC to be made up of an odd number of members to prevent ties in the voting process. The PSC should consist of at least 3 members, but no more than 7 to prevent too much bureaucracy.

One member of the PSC is appointed the Chair, who has additional responsibilities to organize regular meetings and to resolve tie votes should they occur. The Chair may also appoint one member to act as Secretary. In the case where the Chair's position is vacated, the committee will elect a new Chair.

Terms

Positions in the PSC have a term of 1 year. Terms will expire at the beginning of the calendar year, although committee members should continue to serve until a replacement has been officially voted in. The PSC third term will expire on 31 Dec 2024.

Committee Member Elections

When a vacancy in the PSC is created, any member of the PSC may nominate someone for the PSC. Nominees must indicate acceptance of the nomination to be eligible for election. A self-nomination is treated as already being accepted by the nominee.

Once all nominations for a PSC position have been made, a vote will be taken from the current PSC. The nominee with the most votes from the majority of the voting PSC members will be added to the PSC.

PSC Voting Process

For actions that require a PSC vote (ie. new PSC members, removal of members, the appointment of PSC Chair, project administrative decisions or disputed technical decisions) a vote will be called during a PSC meeting.
Votes regarding PSC members must be announced prior to the PSC meeting so that all PCS members have the opportunity to vote during the meeting or via proxy. Additionally, all votes regarding PSC members must achieve a 2/3s quorum of the active PSC members to be valid.

Once a vote has been completed, the results of the election will be posted publically on the announcements Discord channel.

Stepping Down and Removal

If for any reason a PSC member is not able to fully participate then they may step down. If a PSC member is not active in the project (e.g. attending PSC meetings, not participating in discussions, not contributing to the project, etc.) for a period of two months then the PSC reserves the right to remove that individual on the PSC and seek nominations to fill that position. Should that person become active again, they would need to be re-elected to participate on the PSC again. Removing members for any reason (inactivity, a person that counteracts the goals of the project, etc.) requires a majority vote from the PSC. Any vacancy created through resignation or removal must be filled as soon as possible as described previously.

Responsibilities

The PSC is responsible for all aspects of managing the EdgeTX open source project including setting the overall direction of the project and releases. The PSC should meet at least quarterly. This section outlines the responsibilities of the PSC as a whole and the responsibilities of its members.

Feature Development and Release Management

The PSC is responsible for defining the project roadmap, deciding which new features and significant code changes are accepted into the project, and into which release the change will appear. Refer to the # Versioning, Branch and Release Strategy for further information on versioning, branch and release management.

Project Policies and Procedures

The PSC is responsible for defining the policies and procedures, including:

  • Code reviews
  • Documentation requirements
  • Granting and revoking commit access
  • Testing requirements
  • Branch practice
  • Release schedule (frequency and timing)
  • Version numbering
  • Reviewing the issues and bugs on GitHub and making assignments to address them
  • Amending the PSC guiding document as needed
  • Deciding on project and expenditures

Chair Responsibilities

The chair has the extra responsibility to set up development and PSC meetings regarding future work, whenever he deems it necessary. The chair must schedule at least one PSC meeting every quarter. PSC meetings are for members of the PSC committee to discuss issues related to the project roadmap and governance.

The chair is responsible for closing votes and summarizing PSC member votes or appointing another PSC member to do so. The chair is responsible for adjudicating should there be a voting dispute.

The chair may appoint one member of the PSC committee as secretary to take minutes during the meetings or any other administrative tasks as agreed.

EdgeTX Development Team

The EdgeTX Development Team consists of most active developers participating in the project. PSC members, who are also active developers themselves, are automatically seen as members of the EdgeTX Development Team. For the addition and removal of EdgeTX Development Team members a majority PSC vote is required. The affiliation as an EdgeTX Development Team member can be presented only to users abiding to the NDA.

The EdgeTX Development Team consists currently of all PSC members and following developers (with their Discord usernames):

  • Jean-Christophe Dreyfus (3djc)
  • Neil Horne (elecpower)
  • Phil Mitchell (philmoz)

Code of Conduct

All members of the community are expected to adhere to the Community Guildlines in all activities related to EdgeTX. PSC members help maintain user adherence to the community guidelines and can recommend the "time out" or removal of offenders, to be decided by the PSC.

Amendments

Changes to this governing document can be proposed on during the regular planned PSC meeting. If no meeting is planned, then a special PSC meeting will be held to review the proposal. In order for a proposal to be considered for voting, a quorum of 2/3 of the PSC members must be present.

Adapted from Tethys Platform - Project By-Laws.