Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DRAFT] PX4 Mainatiner Role Documentation #2313

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
1 change: 1 addition & 0 deletions en/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -657,6 +657,7 @@
* [External Position Estimation (Vision/Motion based)](ros/external_position_estimation.md)
* [DroneKit](robotics/dronekit.md)
* [Contribution (&Dev Call)](contribute/README.md)
* [Maintainers](contribute/maintainers.md)
* [Dev Call](contribute/dev_call.md)
* [Support](contribute/support.md)
* [Source Code Management](contribute/code.md)
Expand Down
1 change: 1 addition & 0 deletions en/contribute/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ This code aims to foster an open and welcoming environment.
:::

This section contains information about contributing to PX4, including the source code, documentation, and translations, and their relevant licenses.
* [Maintainers](./maintainers.md) - Maintainers of PX4 Subsystems and Ecosystem
* [Dev Call](../contribute/dev_call.md) - Discuss architecture, pull requests, impacting issues with the dev team
* [Codeline Management](../contribute/code.md) - Work with PX4 code
* [Documentation](../contribute/docs.md) - Improve the docs
Expand Down
92 changes: 92 additions & 0 deletions en/contribute/maintainers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Maintainer Role

[PX4 maintainers](#role-description) have technical leadership and responsibility for specific areas of PX4, and for other ecosystem components such as MAVSDK, and QGroundControl.

The maintainer role is defined by the community with help and supervision from the [Dronecode Foundation](https://www.dronecode.org/).
A detailed description can be found in the [role description](#role-description) section below.

To find the most up-to-date maintainers list, visit [PX4-Autopilot README](https://github.com/PX4/PX4-Autopilot#maintenance-team).

## Maintainers Call

The weekly maintainers call discusses overall PX4 structure, community and ecosystem.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The weekly maintainers call discusses overall PX4 structure, community and ecosystem.
The weekly maintainer's call discusses the overall health of the ecosystem and community, and open source projects.

You can find the relevant information below:

* Time: Tuesday 17h00 CET ([subscribe to calendar](https://www.dronecode.org/calendar/)).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove details of the call, instead let's link to the docs where we talk about the call, because we will ultimately have too many places to update once those details change

* Place: [Dev-Call-Maintainers channel in Discord](https://discord.gg/RjxYXFSnj3).
* Meeting note is published week before in [Discuss Forum - PX4 Coordination](https://discuss.px4.io/c/weekly-dev-call/px4-dev-call/39).
Attendees are encouraged to add to the agenda as a reply before the meeting starts.
* To nominate Issues and PRs for the call you can use the [maintainers-call](https://github.com/PX4/PX4-Autopilot/labels/maintainers-call) label to flag them

## Recruitment Process

If you would like to join the PX4 maintainers team:

1. Read the [role description](#dronecode-maintainer-role-description), and make sure you understand the responsibilities of the role.
2. To nominate yourself, reach out to one of the maintainers (see the complete list in the [PX4-Autopilot README](https://github.com/PX4/PX4-Autopilot#maintenance-team)), and seek their sponsorship.
3. Express your interest in becoming a maintainer, and specify which area you would like to maintain.
4. Your sponsoring maintainer needs to bring this up for discussion in one of the [weekly maintainers calls](#maintainers-call).
The maintainer team will vote on the call to accept you as a maintainer.

## Onboarding Process

Maintainers go through the following onboarding process:

1. **Discord** server admin will grant you the `dev team` role, which gives you:
1. Permission to speak during maintainers call.
2. Access to the `#maintainers` channel.
3. Access to the user group / dronecode member companies channels.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove the 3rd item please

2. You will be given access to the GitHub team: "[`Dev Team`](https://github.com/orgs/PX4/teams/dev-team)" which grants you:
1. Permission to merge the PR of any of PX4 workspace repositories after it's approved
2. Permission to trigger GitHub actions when a new contributor opens a PR.
3. Permission to edit Issue/PR contents.
3. **Dronecode member** (Junwoo/Ramon) will:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by "Dronecode member"?

also please remove our names

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. **Dronecode member** (Junwoo/Ramon) will:
3. **Add your info to official PX4 channels**:

1. Include your information on the PX4 [README](https://github.com/PX4/PX4-Autopilot/blob/main/README.md) next to the rest of the team
2. Listed on the [Maintainers section](https://px4.io/community/maintainers/) of the PX4 website.
3. Add your information to the internal Dronecode database of maintainers to keep you in sync.
4. Create a social media post about your new maintainers role after a short interview.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we never discussed this, let's remove for now, let's discuss and make it a reality afterwards

Copy link
Contributor

@mrpollo mrpollo Apr 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
4. Create a social media post about your new maintainers role after a short interview.
4. Community introduction to the new maintainer in the form of a forum post, which is promoted through ever growing official channels


## Dronecode Maintainer Role Description

### Summary

Dronecode Maintainer will lead/manage the development of a **specific category (referred as category below)** of the PX4 ecosystem. With this role, you will be at the epicenter of developing the world’s top most popular flight control software system!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Dronecode Maintainer will lead/manage the development of a **specific category (referred as category below)** of the PX4 ecosystem. With this role, you will be at the epicenter of developing the world’s top most popular flight control software system!
A Dronecode Maintainer will lead/manage the development of a **specific category (referred to as category below)** of any Open Source Projects hosted within the Dronecode Foundation, such as the PX4 Autopilot.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maintainer is a description, not a proper noun here.

Suggested change
Dronecode Maintainer will lead/manage the development of a **specific category (referred as category below)** of the PX4 ecosystem. With this role, you will be at the epicenter of developing the world’s top most popular flight control software system!
Maintainers lead/manage the development of a **specific category (referred to as category below)** of any Open Source Projects hosted within the Dronecode Foundation, such as the PX4 Autopilot.


### Responsibilities

1. Take charge of overseeing the development in their category.
2. Provide guidance/advice on community members in their category.
3. Review relevant pull requests and issues from the community on GitHub.
4. Coordinate with the maintainer group.
5. Keep regular attendance at the [maintainers meeting](#maintainers-call).
6. Help create and maintain a roadmap for the project your represent.
7. Uphold the [Code of Conduct](https://github.com/Dronecode/foundation/blob/main/CODE-OF-CONDUCT.md) of our community.

### Qualifications

1. Proven track record of valuable contributions.
2. Domain expertise in the category field.
3. Good overview of the project you are applying to.
4. You need to manage approval from your employer when relevant.

### Perks

1. **Official recognition** as the maintainer in Dronecode/PX4 website, documentation, community and social media.
2. **Github & Discord privileges** (described in the [onboarding process](#onboarding-process)).
3. Priority placement to the yearly **PX4 Developer Summit** scholarship which helps you cover travel.

### Tools we Provide to Assist You

Dronecode will provide the following tools to help you:

1. **Flight testing**: If you need a tester for your feature, we can find them and provide you with feedback/logs.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given how we haven't been able to do this, I would remove it. Please remove line 1.

2. **Release schedule**: Clear timeline of upcoming releases, feature freezes to help you decide on deciding on development process.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are also not doing this yet.

3. **Community survey**: If you need any insight into the community's opinion, we will send out social media posts, mailing lists, announcements in Discord server to get that answer for you.
4. **Workflow automation**: We will provide workflow for PR/Issue review & tagging process to help you.

And as always, don't hesitate to reach out if you need help with anything. We are here for you!

### Point of Contact

Regarding questions about the maintainer role, please contact the maintainer team.
The easiest way to do this is to join a weekly [maintainers meeting](#maintainers-call).