mirror of
https://github.com/mavlink/mavlink-devguide.git
synced 2026-06-19 07:36:26 +00:00
Add contributing guide and links to if from introduction
This commit is contained in:
@@ -4,8 +4,8 @@ MAVLink is a very lightweight, header-only message marshalling library for micro
|
||||
|
||||
MAVLink follows a modern hybrid publish-subscribe and point-to-point design pattern: Data streams are sent / published as **topics** while configuration sub-protocols such as the [mission protocol](/mission-protocol.md) or [parameter protocol](/parameter-protocol.md) are point-to-point with retransmission.
|
||||
|
||||
Because MAVLink doesn't require any additional framing it is very well suited for applications with very limited communication bandwidth. It's reference implementation in C/C++ is highly optimized for resource-constrained systems with limited RAM and flash memory. It is field-proven and deployed in many products where it serves as interoperability interface between components of different manufacturers.
|
||||
> **Tip** Because MAVLink doesn't require any additional framing it is very well suited for applications with very limited communication bandwidth. It's reference implementation in C is highly optimized for resource-constrained systems with limited RAM and flash memory. It is field-proven and deployed in many products where it serves as interoperability interface between components of different manufacturers.
|
||||
|
||||
MAVLink was first released early 2009 by Lorenz Meier and has now a [significant number of contributors](https://github.com/mavlink/mavlink/graphs/contributors).
|
||||
|
||||
The content of this book is CC-BY 4.0 licensed.
|
||||
The content of this book is CC-BY 4.0 licensed.
|
||||
@@ -43,6 +43,11 @@ If you have any problems using MAVLink first post them on the [support channels
|
||||
If directed by the development team, issues may be raised on [Github here](https://github.com/mavlink/mavlink/issues).
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
The [Contributing Guide](contributing/contributing.md) explains the contribution model and the main areas where you can help.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MAVLink is licensed under the terms of the Lesser General Public License (version 3) of the Free Software Foundation (LGPLv3). The C-language version of MAVLink is a header-only library which is generated as MIT-licensed code. MAVLink can therefore be used without limits in any closed-source application without publishing the source code of the closed-source application. See the [COPYING](https://github.com/mavlink/mavlink/blob/master/COPYING) file for more information.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
We follow the [Github flow](https://guides.github.com/introduction/flow/) development model. Contributions fall into two main categories: Design and micro-service changes include new features that come with a state machine and message specifications for a new type of interface (examples: parameter or mission protocol). These are major contributions requiring a lot of vetting and should come with a RFC pull request in https://github.com/mavlink/rfcs. Protocol specification and documentation changes are usually changes with less impact and can be directly raised as pull requests against this repository.
|
||||
|
||||
How to raise a pull request is documented in the section below.
|
||||
Below we explain the processes for contributing to each category and how to raise a pull request.
|
||||
|
||||
## How to Contribute Design and Micro-service Changes
|
||||
|
||||
@@ -18,37 +18,28 @@ How to raise a pull request is documented in the section below.
|
||||
|
||||
## How to Open a Pull Request
|
||||
|
||||
### Fork the project, then clone your repo
|
||||
1. First [fork and clone](https://help.github.com/articles/fork-a-repo) the project project.
|
||||
1. Create a feature branch off master
|
||||
```
|
||||
git checkout -b mydescriptivebranchname
|
||||
```
|
||||
> **Note** *Always* branch off master for new features.
|
||||
1. Commit your changes with a descriptive commit message.
|
||||
* Include context information, what was fixed, and an [issue number](https://github.com/mavlink/mavlink) (Github will link these then conveniently)
|
||||
* **Example:**
|
||||
|
||||
First [fork and clone](https://help.github.com/articles/fork-a-repo) the project project.
|
||||
```
|
||||
Change the attitude output spec documentation
|
||||
|
||||
### Create a Feature Branch
|
||||
- Fixes a typo
|
||||
- Clarifies that units are radians
|
||||
|
||||
*Always* branch off master for new features.
|
||||
Fixes issue #123
|
||||
```
|
||||
|
||||
```
|
||||
git checkout -b mydescriptivebranchname
|
||||
```
|
||||
|
||||
### Commit Your Changes
|
||||
|
||||
Always write descriptive commit messages and add a fixes or relates note to them with an [issue number](https://github.com/mavlink/mavlink) (Github will link these then conveniently)
|
||||
|
||||
**Example:**
|
||||
|
||||
```
|
||||
Change the attitude output spec documentation
|
||||
|
||||
- Fixes a typo
|
||||
- Clarifies that units are radians
|
||||
|
||||
Fixes issue #123
|
||||
```
|
||||
|
||||
### Test Your Changes
|
||||
|
||||
Since we care about compatibility and safety, we will regularly ask you for test results.
|
||||
|
||||
### Push your changes
|
||||
|
||||
Push changes to your repo and send a [pull request](https://github.com/mavlink/mavlink/compare/).
|
||||
1. Test your changes (we may ask you for test results in your PR).
|
||||
1. Push changes to your repo:
|
||||
```
|
||||
git push origin mydescriptivebranchname
|
||||
```
|
||||
1. Send a [pull request](https://github.com/mavlink/mavlink/compare/) to merge changes in the branch.
|
||||
|
||||
@@ -26,6 +26,11 @@ If you have any problems using MAVLink first post them on the [support channels
|
||||
If directed by the development team, issues may be raised on [Github here](https://github.com/mavlink/mavlink/issues).
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
The [Contributing Guide](contributing/contributing.md) explains the contribution model and the main areas where you can help.
|
||||
|
||||
|
||||
## License
|
||||
|
||||
MAVLink is licensed under the terms of the Lesser General Public License (version 3) of the Free Software Foundation (LGPLv3). The C-language version of MAVLink is a header-only library which is generated as MIT-licensed code. MAVLink can therefore be used without limits in any closed-source application without publishing the source code of the closed-source application. See the [COPYING](https://github.com/mavlink/mavlink/blob/master/COPYING) file for more information.
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@
|
||||
* [test.xml](messages/test.md)
|
||||
* [python_array_test.xml](messages/python_array_test.md)
|
||||
* [slugs.xml](messages/slugs.md)
|
||||
|
||||
* [Contributing](contributing/contributing.md)
|
||||
|
||||
|
||||
----
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
# Contributing to MAVLink
|
||||
|
||||
We follow the [Github flow](https://guides.github.com/introduction/flow/) development model. Contributions fall into two main categories: Design and micro-service changes include new features that come with a state machine and message specifications for a new type of interface (examples: parameter or mission protocol). These are major contributions requiring a lot of vetting and should come with a RFC pull request in https://github.com/mavlink/rfcs. Protocol specification and documentation changes are usually changes with less impact and can be directly raised as pull requests against this repository.
|
||||
|
||||
Below we explain the processes for contributing to each category and how to raise a pull request.
|
||||
|
||||
## How to Contribute Design and Micro-service Changes
|
||||
|
||||
* Open a pull request against the RFC repository containing a new RFC number https://github.com/mavlink/rfcs and use the template in the 0000 RFC.
|
||||
* Reach out to the community on Slack and on http://discuss.dronecode.org to raise awareness
|
||||
* Address concerns by pushing more commits to the pull request
|
||||
|
||||
## How to Contribute Protocol Specification Changes
|
||||
|
||||
* Open a pull request against the specification repository: https://github.com/mavlink/mavlink
|
||||
* Reach out to the community on Slack and on http://discuss.dronecode.org to raise awareness
|
||||
* Address concerns by pushing more commits to the pull request
|
||||
|
||||
## How to Open a Pull Request
|
||||
|
||||
1. First [fork and clone](https://help.github.com/articles/fork-a-repo) the project project.
|
||||
1. Create a feature branch off master
|
||||
```
|
||||
git checkout -b mydescriptivebranchname
|
||||
```
|
||||
> **Note** *Always* branch off master for new features.
|
||||
1. Commit your changes with a descriptive commit message.
|
||||
* Include context information, what was fixed, and an [issue number](https://github.com/mavlink/mavlink) (Github will link these then conveniently)
|
||||
* **Example:**
|
||||
|
||||
```
|
||||
Change the attitude output spec documentation
|
||||
|
||||
- Fixes a typo
|
||||
- Clarifies that units are radians
|
||||
|
||||
Fixes issue #123
|
||||
```
|
||||
|
||||
1. Test your changes (we may ask you for test results in your PR).
|
||||
1. Push changes to your repo:
|
||||
```
|
||||
git push origin mydescriptivebranchname
|
||||
```
|
||||
1. Send a [pull request](https://github.com/mavlink/mavlink/compare/) to merge changes in the branch.
|
||||
Reference in New Issue
Block a user