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