If you want to become or are a poppler contributor, this is a README for you, keep reading! Licensing --------- Only send patches to poppler if you agree to license (or relicense) them under GPLv2 and later (or something more permissive that can be "upgraded" to GPLv2 and later). If you do not agree to this license, please explain the problem / bug and how you would solve it in words instead of code. By default all patches attached to the gitlab instance or sent to the mailing list will be assumed to agree with the licensing expressed here. Channels of contact ------------------- Poppler has three main channels of contact: * The poppler mailing list http://lists.freedesktop.org/mailman/listinfo/poppler * The poppler gitlab instance https://gitlab.freedesktop.org/poppler/poppler/ * The #poppler channel at the IRC freenode network Do not hesitate to drop by talk to people there. clang-format ------------ We introduced clang-format mandatory usage in July 2020. If you want git blame to ignore the revision in which we did the mass change you can do git config blame.ignoreRevsFile .git-blame-ignore-revs on your clone To get the clang-format warnings locally instead at CI time we recommend you to copy the hooks/pre-commit to your .git cp hooks/pre-commit .git/hooks/ We are using clang-format 10 on CI. Unfortunately clang-format is not totally compatible with older versions of itself. If CI gives you trouble but your local clang-format disagrees, just apply the changes suggested by CI and then commit with the --no-verify flag. If you get stuck, don't hesitate to ask the reviewer to help and they will reformat your commits :) Merge requests -------------- When creating a new merge request on gitlab make sure it has a clear title and the description includes any extra details that might be helpful for the reviewer, such as what the aim of the change is and decisions made during implementation. Also, check "Allow commits from members who can merge to the target branch" as that enables rebase on landing. See the gitlab docs for details: https://docs.gitlab.com/ee/user/project/merge_requests/allow_collaboration.html And keep hacking on poppler!