Add contributing guide and links to if from introduction

This commit is contained in:
Hamish Willee
2018-02-21 10:30:03 +11:00
parent bdea146832
commit b7d4b3dd61
6 changed files with 80 additions and 34 deletions
+2 -2
View File
@@ -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.
+5
View File
@@ -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.
+22 -31
View File
@@ -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.
+5
View File
@@ -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
View File
@@ -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)
----
+45
View File
@@ -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.