The following summarizes the process for contributing changes to the Zserio project.
-
Consider to open a discussion or create an issue.
-
Open a new GitHub pull request.
-
Follow our coding style.
-
For all C++ and Java code we use clang-format to check that the code follows the defined coding style.
Note that you have to run
clang-format
on your own, our pipeline only checks that the code follows the rules.clang-format --style=file -i source.cpp
-
For Python code we use black to check that the code follows the defined coding style, which is basically PEP-8 with line length limited to 112 characters.
Note that you have to run
black
on your own, our pipeline only checks that the code follows the rules.black source.py --line-length 112
-
-
Ensure that all GitHub workflows are passing.
Please try to address only a single problem in you pull request.
-
Ensure that the bug was not already reported in some issue.
-
If there is no open issue addressing the problem, open a new one.
-
Consider to open a discussion or create an issue.
-
Run our benchmarks and provide comparison with the latest zserio release in your Pull Request.
-
Feel free to provide any other measurements.
-
Consider to open a discussion or create an issue.
-
The proposed changes must not break backward compatibility.
-
Consider to open a discussion or create an issue.
-
In case you want to implement a new generator (i.e. zserio extension), you can start with Zserio Extension Sample and keep it as an external extension. We will be happy to add a link to your extension in our README.md!
We do not require any formal copyright assignment or contributor license agreement (CLA). Any contributions intentionally sent upstream are presumed to be offered under terms of BSD 3-Clause License. See LICENSE for details.