6.4 KiB
You can help bring INAV forward!
INAV is a big project and fully community-driven. This is why we need you, to make INAV better with every release! There are always many new features and fixes ready to go into INAV, contributed by a lot of developers. To ensure that all quality standards are met, all these great additions need to be checked, tested and potentially fixed before we can add them to the code. This is why we always need your help, to keep the standards high and our aircraft safe! If you are a bit tech-savvy and curious to try new things in the hobby you are invited to join us and help with the development. Also, if you are good at writing in English, you are welcome to help with the documentation.
How are changes made in INAV? (Testing and reviewing pull requests)
Most changes done to INAV are done by what’s called a “pull request”, or “PR”. Each month, there are about 30 pull requests - 30 new features or fixes added to INAV. Each is waiting for someone to test them, or update the related documentation, or just look over the code. If you are curious about what's coming, then have a look at the INAV Pull Requests
And the ones for Configurator
Some of the ones ready to be tested are shown here: Testing Required
Some are just documentation updates and we’d like someone to review to see if you think it reads clearly and is accurate, such as these: Documentation PRs
Documentation Updates
Another important part of software development is the documentation. This is something that INAV has struggled with in the past, and we want to get better at it. Check the new features, read the description from the developer, and make sure proper documentation for any new feature is provided. Not enough information in the PR? Feel free to make the developers aware of it. You see potential in better guides or descriptions? You are welcome to add or change things, to make them more accessible for newcomers. It is often better for someone BESIDES the developer to write or at least review the documentation for a feature because we want it to be clear and understandable to someone who doesn't already fully understand it.
The better our documentation is, the higher the chance for people to test and try awesome new features. Also everyone has to spend less time asking and answering questions - asking for help or explaining things to people who struggle to understand. This helps reduce frustration all around.
You can edit the wiki pages directly on Github. Look for the "Edit" button at the top right of any INAV wiki page.
Github “Issues”
Nothing is perfect. Sometimes bugs might still happen or sometimes a misunderstanding causes problems. This is what pops up in the Github "Issues". Every ticket that is opened there has to be checked by someone familiar with the topic. We have to validate if it could be a user error or an actual problem. Maybe it's a wish for a change or a feature that has to be discussed.
Any help with these tickets and their validation is appreciated. Keeping this part of the project organized and clean is essential, in order to not miss important things. If you know what the user can do to fix the problem, you can provide the necessary help and we can close the issue. People tend to expect authoritative, accurate answers on Github, so it is often helpful to point the user to the right place in the docs, or check the documentation yourself if you're unsure, then help them.
If you suspect a potential bug, ask for any additional information that might be relevant and ideally, try to validate and replicate the issue. This makes the life of the developers much easier and allows us to provide a fix faster.
It's all about PEOPLE (socials etc)
INAV is used on quadcopters, on planes, rovers, and boats, but really - INAV is for PEOPLE. It's all about helping people enjoy the hobby. If you're a people person, your activity in the Facebook groups, the Telegram group, and on the Discord are really appreciated. Some of the developers writing the math-heavy code aren't social butterflies, so they aren't active on Facebook. If you see someone posting about a problem and you can direct them how to post in Issue on the Github, that's really helpful. Relaying information between Telegram, Facebook, Discord, and Github is appreciated. If you have a web site or a Youtube channel, or are interested in building one, the resources are really helpful to the people using INAV.
Coders
We also need people who are familiar with either HTML and Javascript to help with new features and fixes in Configurator, or C programmers for INAV features and fixes. Especially reviewing the changes that have already been submitted. If you are an experienced programmer who is willing to spend some time and contribute to the project, even better! Less experienced programmers can also contribute, with small fixes, but especially by reviewing code that is submitted. If you can read code you may spot typos, or things that just don't seem to make sense. This is also a great way to learn.
Keep in mind that we are not a corporation. No one will tell you what to do. You have an idea for a great new feature? Do it! You see something that is broken and you think you can fix? Feel free to fix it! You are unsure if your idea will be accepted? The core-developer team is always there to ask and discuss things and prevent unnecessary work.
How to get started
You are welcome to join the INAV Discord if you would like to chat with other contributors in real time. You can also just go directly to the pull requests, Issues, and Discussions on the INAV Github and start participating in the discussions.
Also, see the Configurator Github
Or, feel free to update the wiki
To make your own pull requests to update the code or the documentation in the docs/ folder, the Development.md page will walk you through how to do that.
Let's all come together and make the best INAV possible!