Skip to content

Latest commit

 

History

History
47 lines (34 loc) · 2.27 KB

File metadata and controls

47 lines (34 loc) · 2.27 KB

CONTRIBUTING TO THE OPENVPN PROJECT

Patches should be written against the Git "master" branch. Some patches may get backported to a release branch.

The preferred procedure is to send patches to the "openvpn-devel" mailing list:

Instead of directly sending patches to the list you can also create an account in our instance of the Gerrit review tool: https://gerrit.openvpn.net/ See https://community.openvpn.net/Development/GerritBestPractices.

While we do not merge GitHub pull requests as-is, we do allow their use for code review purposes. After the patch has been ACKed (reviewed and accepted), it must be sent to the mailing list. This last step does not necessarily need to be done by the patch author, although that is definitely recommended.

When sending patches to "openvpn-devel" the subject line should be prefixed with [PATCH]. To avoid merging issues the patches should be generated with git-format-patch or sent using git-send-email. Try to split large patches into small, atomic pieces to make reviews easier.

Please make sure that the source code formatting follows the guidelines at https://community.openvpn.net/Development/CodeStyle. Automated checking can be done with clang-format (https://community.openvpn.net/Development/CodeStyle) and the configuration file which can be found in the git repository at .clang-format.

There is also a git pre-commit hook script, which runs clang-format automatically each time you commit and lets you format your code conveniently, if needed. To install the hook simply run: dev-tools/git-pre-commit-format.sh install

If you want quick feedback on a patch before sending it to openvpn-devel mailing list, you can visit the #openvpn-devel channel on irc.libera.chat. Note that you need to be logged in to Libera to join the channel:

More detailed contribution instructions are available here:

Note that the process for contributing to other OpenVPN projects such as openvpn-build, openvpn-gui, tap-windows6 and easy-rsa may differ from what was described above. Please refer to the contribution instructions of each respective project.