Skip to content

Contributing to RIOT

Lotterleben edited this page Feb 4, 2014 · 4 revisions

Welcome to RIOT! 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 project.

community

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.

getting started

The RIOT wiki provides you with a few documents to help you understand how RIOT works.
The Introduction aims at providing an overview over the design principles and main modules of RIOT.
Creating your first RIOT project explains how to write and build applications for RIOT.

If you have any questions, please don't hesitate to ask them on the mailing list or in the IRC channel.

help wanted

In case you're not really sure where to start, we've created a list of suggestions.

documentation

As you will notice, RIOT 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 project.
After you've finished writing, please publish your documentation in one of the following ways, depending on its type.

General knowledge, HOWTOs

Articles that focus on design aspects or how to use a particular module should be contributed to the RIOT 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.

Code comments, HOWTOs for particular projects

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.

issues

If RIOT 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.

contribute code

If you think your work should be integrated in the main RIOT repository, take the following steps: (short version, a more detailed version is available here)

  1. Fork the RIOT git repository (if you haven't done this already)
  2. Create a branch
  3. Make commits
  4. make sure your code is in compliance with RIOTs coding conventions
  5. Push this branch to your fork on GitHub
  6. Do a pull request
  7. Other RIOT members will provide feedback
  8. Address this feedback
  9. Your code is merged in RIOT master branch
Clone this wiki locally