From 787feb1bf9a79ac031d07d3f4e49832ea820e4ac Mon Sep 17 00:00:00 2001 From: "Konstantin (DigitalEntity) Sharlaimov" Date: Sat, 16 May 2020 21:20:58 +0200 Subject: [PATCH 1/4] Amend the hardware policy --- docs/policies/NEW_HARDWARE_POLICY.md | 46 +++++++++++++++++++--------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/docs/policies/NEW_HARDWARE_POLICY.md b/docs/policies/NEW_HARDWARE_POLICY.md index 2d8794be3d1..21ea93933f1 100644 --- a/docs/policies/NEW_HARDWARE_POLICY.md +++ b/docs/policies/NEW_HARDWARE_POLICY.md @@ -1,4 +1,4 @@ -# INAV New Hardware policies +# INAV Hardware Policy ## General @@ -10,33 +10,41 @@ To prevent explosive growth of different target and feature count and ensure rea "Hardware" - physical hardware requiring support from firmware side. +"Requestor" - manufacturer or community member seeking addition of new hardware or target + ## New target additions New targets are accepted into INAV code if any of the following conditions is satisfied: -1. Board manufacturer provides specs, schematics and production samples are provided to at least two core developers. In this case the new target becomes part of official INAV release. +1. Requestor is a manufacturer of the hardware or an affiliated community member. Requestor provides specs, schematics and production samples are provided to at least two core developers. In this case the new target becomes part of official INAV release. + +2. Requestor is a community member not affiliated with a manufacturer of the hardware. Requestor provides board samples to at least one core developer and the target is already supported in official Cleanflight or Betaflight firmware. In this case the new target may or may not become part of official release based on the decision made by core developers. -2. Community member or board manufacturer provides board samples to at least one core developer and the target already exists in official Cleanflight or Betaflight firmware. In this case the new target may or may not become part of official release based on the decision made by core developers. +3. The new target must meet the following minimal requirements: -# New hardware support + * Onboard sensors include at least the IMU (gyroscope + accelerometer) and barometer + * At least 2 hardware serial ports are available with both TX and RX pins + * At least 512K of firmware flash memory and at least of 64K of RAM available + +## New hardware support For the hardware which does not require a new target, but still require support from the firmware side the following rules apply: -1. Hardware manufacturer provides specs and production samples for the unsupported hardware to at least two core developers. +1. Requestor is a manufacturer of the hardware or an affiliated community member. Requestor provides specs and production samples for the unsupported hardware to at least two core developers. -2. Community member or hardware manufacturer provides hardware samples to at least one core developer and the firmware support already exists in official Cleanflight or Betaflight firmware. +2. Requestor is a community member not affiliated with a manufacturer of the hardware. Requestor provides hardware samples to at least one core developer and the firmware support already exists in official Cleanflight or Betaflight firmware. -# Using own hardware exception +## Using own hardware exception -If one of the core developers has the hardware in possession they may opt in and submit support for it anyway. In this case the support is not official and is generally not included in official releases. +If one of the core developers has the hardware in possession they may opt in and submit support for it anyway. In this case the support is not official and may not be included in official releases. -# Providing samples to developers +## Providing samples to developers -1. Hardware provided to the developers would be considered a donation to the INAV project. Under no circumstances developer will be obliged to return the hardware. +1. Hardware provided to the developers would be considered a donation to the INAV project. Under no circumstances developer will be obliged to return the hardware or pay for it. -2. Manufacturer or community member providing the hardware bears all the costs of the hardware, delivery and VAT/customs duties. Hardware manufacturer also assumes the responsibility to provide up to date specs, documentation and firmware (if applicable). +2. Requestor bears all the costs of the hardware, delivery and VAT/customs duties. Hardware manufacturer also assumes the responsibility to provide up to date specs, documentation and firmware (if applicable). -3. Before sending samples the providing party should reach out to developers and agree on specific terms of implementing support for the unsupported hardware. Developers may place additional requirements on a case by case basis and at their sole discretion. +3. Before sending samples the Requstor should reach out to developers and agree on specific terms of implementing support for the unsupported hardware. Developers may place additional requirements on a case by case basis and at their sole discretion. 4. The new target and new hardware policies do not apply in the following cases. Developers may still chose to apply the "own hardware exception" at their own discretion. @@ -46,8 +54,16 @@ If one of the core developers has the hardware in possession they may opt in and 5. It's advised to provide more than one sample to avoid issues with damaged or dead on arrival hardware. -# Guidelines on contacting the team +## Implementing support for the new target or hardware + +1. Pull request to add the new target or hardware may be authored by a contributor outside INAV team or by one of the core developers. + +2. There is no obligation to accept a pull request made by an outside contributor. INAV team reserves the right to reject that pull request and re-implement the support or take that pull request as a baseline and amend it. + +3. INAV team reserves the right to reject the new target or hardware or remove the support for an unforseen reason including, but not limited to violation of [INAV Code of Conduct](CODE_OF_CONDUCT.md) by the manufacturer or an affiliated outside contributor. + +## Guidelines on contacting the team -1. Manufacturers are advised to open a feature request to add support for certain hardware to INAV by following [this link](https://github.com/iNavFlight/inav/issues/new/choose) +1. Requstor is advised to open a feature request to add support for certain hardware to INAV by following [this link](https://github.com/iNavFlight/inav/issues/new/choose) -2. After opening a feature request, author of the feature request is advised to contact the core development team by [email](mailto:coredev@inavflight.com) mentioning the open feature request and communicate with developer team via email to arrange hardware and specsifications delivery. \ No newline at end of file +2. After opening a feature request, Requestor is advised to contact the core development team by [email](mailto:coredev@inavflight.com) mentioning the open feature request and communicate with developer team via email to arrange hardware and specsifications delivery. \ No newline at end of file From 1bd4364ec1f1bab670335ee4514600850159b44b Mon Sep 17 00:00:00 2001 From: "Pawel Spychalski (DzikuVx)" Date: Sat, 16 May 2020 22:15:33 +0200 Subject: [PATCH 2/4] Add I2C requirement --- docs/policies/NEW_HARDWARE_POLICY.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/policies/NEW_HARDWARE_POLICY.md b/docs/policies/NEW_HARDWARE_POLICY.md index 21ea93933f1..05d17394547 100644 --- a/docs/policies/NEW_HARDWARE_POLICY.md +++ b/docs/policies/NEW_HARDWARE_POLICY.md @@ -22,9 +22,10 @@ New targets are accepted into INAV code if any of the following conditions is sa 3. The new target must meet the following minimal requirements: - * Onboard sensors include at least the IMU (gyroscope + accelerometer) and barometer + * Onboard sensors include at least the IMU (gyroscope + accelerometer) * At least 2 hardware serial ports are available with both TX and RX pins * At least 512K of firmware flash memory and at least of 64K of RAM available + * At least one I2C bus broken out (SCL and SDA pins) and not shared with other functions ## New hardware support From d3d20fd8cdf8ae4655ad09069ab17ba8b5364e37 Mon Sep 17 00:00:00 2001 From: "Konstantin (DigitalEntity) Sharlaimov" Date: Sun, 24 May 2020 14:22:22 +0200 Subject: [PATCH 3/4] Update CoC to version 2.0 and adapt some wording --- docs/policies/CODE_OF_CONDUCT.md | 35 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/docs/policies/CODE_OF_CONDUCT.md b/docs/policies/CODE_OF_CONDUCT.md index 9da50525b6b..60c654f66a4 100644 --- a/docs/policies/CODE_OF_CONDUCT.md +++ b/docs/policies/CODE_OF_CONDUCT.md @@ -2,35 +2,38 @@ ## Our Pledge -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. ## Our Standards -Examples of behavior that contributes to creating a positive environment include: +Examples of behavior that contributes to creating a positive environment include but are not limited to: -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall community -Examples of unacceptable behavior by participants include: +Examples of unacceptable behavior include but are not limited to: -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks +* The use of sexualized language or imagery, and sexual attention or advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks * Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Publishing others’ private information, such as a physical or email address, without their explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting +* Acts of unacceptable behavior on other public resources outside of but in relation to this project ## Our Responsibilities -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. +Project maintainers and community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. +Project maintainers and community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. ## Scope -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. +This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. ## Enforcement @@ -40,7 +43,7 @@ Project maintainers who do not follow or enforce the Code of Conduct in good fai ## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. [homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ \ No newline at end of file From 333760f4f22b7ca2aef5bdc1c9d191ef8d7b032c Mon Sep 17 00:00:00 2001 From: "Konstantin (DigitalEntity) Sharlaimov" Date: Sun, 24 May 2020 14:46:46 +0200 Subject: [PATCH 4/4] Fix typos --- docs/policies/NEW_HARDWARE_POLICY.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/policies/NEW_HARDWARE_POLICY.md b/docs/policies/NEW_HARDWARE_POLICY.md index 05d17394547..1e974134808 100644 --- a/docs/policies/NEW_HARDWARE_POLICY.md +++ b/docs/policies/NEW_HARDWARE_POLICY.md @@ -10,19 +10,19 @@ To prevent explosive growth of different target and feature count and ensure rea "Hardware" - physical hardware requiring support from firmware side. -"Requestor" - manufacturer or community member seeking addition of new hardware or target +"Requester" - manufacturer or community member seeking addition of new hardware or target ## New target additions New targets are accepted into INAV code if any of the following conditions is satisfied: -1. Requestor is a manufacturer of the hardware or an affiliated community member. Requestor provides specs, schematics and production samples are provided to at least two core developers. In this case the new target becomes part of official INAV release. +1. Requester is a manufacturer of the hardware or an affiliated community member. Requester provides specs, schematics and production samples are provided to at least two core developers. In this case the new target becomes part of official INAV release. -2. Requestor is a community member not affiliated with a manufacturer of the hardware. Requestor provides board samples to at least one core developer and the target is already supported in official Cleanflight or Betaflight firmware. In this case the new target may or may not become part of official release based on the decision made by core developers. +2. Requester is a community member not affiliated with a manufacturer of the hardware. Requester provides board samples to at least one core developer and the target is already supported in official Cleanflight or Betaflight firmware. In this case the new target may or may not become part of official release based on the decision made by core developers. 3. The new target must meet the following minimal requirements: - * Onboard sensors include at least the IMU (gyroscope + accelerometer) + * On-board sensors include at least the IMU (gyroscope + accelerometer) * At least 2 hardware serial ports are available with both TX and RX pins * At least 512K of firmware flash memory and at least of 64K of RAM available * At least one I2C bus broken out (SCL and SDA pins) and not shared with other functions @@ -31,9 +31,9 @@ New targets are accepted into INAV code if any of the following conditions is sa For the hardware which does not require a new target, but still require support from the firmware side the following rules apply: -1. Requestor is a manufacturer of the hardware or an affiliated community member. Requestor provides specs and production samples for the unsupported hardware to at least two core developers. +1. Requester is a manufacturer of the hardware or an affiliated community member. Requester provides specs and production samples for the unsupported hardware to at least two core developers. -2. Requestor is a community member not affiliated with a manufacturer of the hardware. Requestor provides hardware samples to at least one core developer and the firmware support already exists in official Cleanflight or Betaflight firmware. +2. Requester is a community member not affiliated with a manufacturer of the hardware. Requester provides hardware samples to at least one core developer and the firmware support already exists in official Cleanflight or Betaflight firmware. ## Using own hardware exception @@ -43,9 +43,9 @@ If one of the core developers has the hardware in possession they may opt in and 1. Hardware provided to the developers would be considered a donation to the INAV project. Under no circumstances developer will be obliged to return the hardware or pay for it. -2. Requestor bears all the costs of the hardware, delivery and VAT/customs duties. Hardware manufacturer also assumes the responsibility to provide up to date specs, documentation and firmware (if applicable). +2. Requester bears all the costs of the hardware, delivery and VAT/customs duties. Hardware manufacturer also assumes the responsibility to provide up to date specs, documentation and firmware (if applicable). -3. Before sending samples the Requstor should reach out to developers and agree on specific terms of implementing support for the unsupported hardware. Developers may place additional requirements on a case by case basis and at their sole discretion. +3. Before sending samples the Requester should reach out to developers and agree on specific terms of implementing support for the unsupported hardware. Developers may place additional requirements on a case by case basis and at their sole discretion. 4. The new target and new hardware policies do not apply in the following cases. Developers may still chose to apply the "own hardware exception" at their own discretion. @@ -61,10 +61,10 @@ If one of the core developers has the hardware in possession they may opt in and 2. There is no obligation to accept a pull request made by an outside contributor. INAV team reserves the right to reject that pull request and re-implement the support or take that pull request as a baseline and amend it. -3. INAV team reserves the right to reject the new target or hardware or remove the support for an unforseen reason including, but not limited to violation of [INAV Code of Conduct](CODE_OF_CONDUCT.md) by the manufacturer or an affiliated outside contributor. +3. INAV team reserves the right to reject the new target or hardware or remove the support for an unforeseen reason including, but not limited to violation of [INAV Code of Conduct](CODE_OF_CONDUCT.md) by the manufacturer or an affiliated outside contributor. ## Guidelines on contacting the team -1. Requstor is advised to open a feature request to add support for certain hardware to INAV by following [this link](https://github.com/iNavFlight/inav/issues/new/choose) +1. Requester is advised to open a feature request to add support for certain hardware to INAV by following [this link](https://github.com/iNavFlight/inav/issues/new/choose) -2. After opening a feature request, Requestor is advised to contact the core development team by [email](mailto:coredev@inavflight.com) mentioning the open feature request and communicate with developer team via email to arrange hardware and specsifications delivery. \ No newline at end of file +2. After opening a feature request, Requester is advised to contact the core development team by [email](mailto:coredev@inavflight.com) mentioning the open feature request and communicate with developer team via email to arrange hardware and specifications delivery.