-
Notifications
You must be signed in to change notification settings - Fork 2k
Contributing to RIOT
Welcome to RIOT OS! We're excited to have you on board as a future contributor. This guide is designed to get you started and give you some pointers on where you could dive into the RIOT OS project.
We use the following tools to organize ourselves:
- Mailing Lists: riot-devel and riot-users
- Code hosting: http://www.github.com
- Bug tracking: GitHub's issue tracker
- Reviewing and integrating code: GitHub's pull request system
- Live chat: IRC channel #RIOT-OS on freenode.net
- F2f meetings: We meet every Monday at 11:30am for updates on current development, urgent issues, and maintenance topics. Additionally, we organize bigger meetings to discuss the general direction of RIOT development, goals for the next release, and organizational topics. Scheduling these meetings and invitations are always published on the mailing lists. The meetings usually take place at the Computer Science department of the Freie Universität Berlin. For remote participation we use Skype. Newcomers are always very welcome to participate.
The RIOT OS wiki provides you with a few documents to help you understand how RIOT OS works.
The Introduction aims at providing an overview over the design principles and main modules of RIOT OS.
Creating your first RIOT project explains how to write and build applications for RIOT OS.
If you have any questions, please don't hesitate to ask them on the mailing list or in the IRC channel.
In case you're not really sure where to start, we've created a list of suggestions.
As you will notice, RIOT OS is in dire need of better and more documentation. If you've found yourself struggling to understand a particular aspect, chances are you're not the first and won't be the last. Writing down what you've learned is a great way to recap your new knowledge and share it with others. You can also start to learn about RIOT by combing through existing documentation and fixing errors and typos. Any help with improving the documentation is greatly appreciated and makes a big difference to the RIOT OS project.
After you've finished writing, please publish your documentation in one of the following ways, depending on its type.
Articles that focus on design aspects or how to use a particular module should be contributed to the RIOT OS wiki. After you've added your entry, please share it on the riot-dev mailing list so everyone is aware of its existence (and can thank you).
If you'd like to document a solution to minor annoyances or common pitfalls, please do not hesitate to extend the Troubleshooting wiki page. Again, please share your additions with the riot-dev mailing list.
Documentation that releates directly to the code at hand like the HOWTO files that can be found in some of the directories in RIOT/examples/
or comments in the code itself should be submitted through a pull request.
If you're not sure about the correct way to submit your writing, please ask on the mailing list or open an issue saying which documentation is missing. The other RIOTers will help you find the right format.
If RIOT OS behaves oddly, please do not hesitate to open an issue. Other RIOT developers will be happy to help figure out what the problem is and fix possible bugs.
If you think your work should be integrated in the main RIOT repository (short version, a more detailed version is available here)
- Fork RIOT OS (if you haven't done this already)
- Create a branch
- Make commits
- Push this branch to your fork on GitHub
- Do a pull request
- Other RIOT members will provide feedback
- Address this feedback
- Your code is merged in RIOT master branch