Contributing to KWSys
Patches
KWSys is kept in its own Git repository and shared by several projects via copies in their source trees. Changes to KWSys should not be made directly in a host project, except perhaps in maintenance branches.
KWSys uses Kitware's GitLab Instance to manage development and code review. To contribute patches:
- Fork the upstream KWSys Repository into a personal account.
- Base all new work on the upstream
master
branch. - Run
./SetupForDevelopment.sh
in new local work trees. - Create commits making incremental, distinct, logically complete changes.
- Push a topic branch to a personal repository fork on GitLab.
- Create a GitLab Merge Request targeting the upstream
master
branch.
Once changes are reviewed, tested, and integrated to KWSys upstream then copies of KWSys within dependent projects can be updated to get the changes.
Code Style
We use clang-format to define our style for C++ code in the KWSys source
tree. See the .clang-format configuration file for our style settings.
Use clang-format
version 3.8 or higher to format source files.
See also the clang-format.bash script.
License
We do not require any formal copyright assignment or contributor license agreement. Any contributions intentionally sent upstream are presumed to be offered under terms of the OSI-approved BSD 3-clause License. See Copyright.txt for details.