You can contribute to libcoap in several ways:
Mailing Lists
You are welcome to subscribe to the libcoap developers' mailing list and ask questions, discuss the latest features or report bugs.
Report Bugs
If you have encountered bugs or want to request a new feature, you can open a new ticket at the libcoap bug tracking tool.
Fix Bugs
If you encounter bugs in the main tree please include a patch or a link to your fork with your bug tracker ticket. You can also start a discussion on the mailing list.
Write Documentation
Howtos, more API documentation
platform-specific documentation
User Guides
User guides and howtos are collected here.
API Reference
A doxygen-generated API reference is available here
Cleanup Code
As the library has evolved while no explicit coding style was published, the code style has become inconsistent and cluttered with whitespace here and there. You can help by cleaning it up!
Develop Code
New features are developed in topic branches and will be merged into the develop branch once they are tested and agreed to. Please make sure that your contribution adheres to the libcoap coding style and that you have read and understood the rules given in the CONTRIBUTE document of the library.
Write Tests
libcoap comes with a set of unit tests to check the core functionality. As always, more tests are needed, including a port of the ETSI CoAP plugtest specs to the CUnit test framework used my libcoap.
Moreover, libcoap is part of the Continuous Fuzzing for Open Source Software activity. More fuzzing tests are needed (see tests/oss-fuzz in the libcoap repository).
Branching Model
libcoap follows a branching model presented in
this post
by Vincent Driessen. The main branches are the main
where stable releases go. A release being in preparation
lives in branch release
, while the current development
branch is develop
.