19bd392adSmrgContributing to libdrm
29bd392adSmrg======================
39bd392adSmrg
49bd392adSmrgSubmitting Patches
59bd392adSmrg------------------
69bd392adSmrg
79bd392adSmrgPatches should be sent to dri-devel@lists.freedesktop.org, using git
89bd392adSmrgsend-email. For patches only touching driver specific code one of the driver
99bd392adSmrgmailing lists (like amd-gfx@lists.freedesktop.org) is also appropriate. See git
109bd392adSmrgdocumentation for help:
119bd392adSmrg
129bd392adSmrghttp://git-scm.com/documentation
139bd392adSmrg
149bd392adSmrgSince dri-devel is a very busy mailing list please use --subject-prefix="PATCH
159bd392adSmrglibdrm" to make it easier to find libdrm patches. This is best done by running
169bd392adSmrg
179bd392adSmrg    git config --local format.subjectprefix "PATCH libdrm"
189bd392adSmrg
199bd392adSmrgThe first line of a commit message should contain a prefix indicating what part
209bd392adSmrgis affected by the patch followed by one sentence that describes the change. For
219bd392adSmrgexamples:
229bd392adSmrg
239bd392adSmrg    amdgpu: Use uint32_t i in amdgpu_find_bo_by_cpu_mapping
249bd392adSmrg
259bd392adSmrgThe body of the commit message should describe what the patch changes and why,
269bd392adSmrgand also note any particular side effects. For a recommended reading on
279bd392adSmrgwriting commit messages, see:
289bd392adSmrg
299bd392adSmrghttp://who-t.blogspot.de/2009/12/on-commit-messages.html
309bd392adSmrg
319bd392adSmrgYour patches should also include a Signed-off-by line with your name and email
329bd392adSmrgaddress. If you're not the patch's original author, you should also gather
339bd392adSmrgS-o-b's by them (and/or whomever gave the patch to you.) The significance of
349bd392adSmrgthis is that it certifies that you created the patch, that it was created under
359bd392adSmrgan appropriate open source license, or provided to you under those terms.  This
369bd392adSmrglets us indicate a chain of responsibility for the copyright status of the code.
379bd392adSmrgFor more details:
389bd392adSmrg
399bd392adSmrghttps://developercertificate.org/
409bd392adSmrg
419bd392adSmrgWe won't reject patches that lack S-o-b, but it is strongly recommended.
429bd392adSmrg
439bd392adSmrgReview and Merging
449bd392adSmrg------------------
459bd392adSmrg
469bd392adSmrgPatches should have at least one positive review (Reviewed-by: tag) or
479bd392adSmrgindication of approval (Acked-by: tag) before merging. For any code shared
489bd392adSmrgbetween drivers this is mandatory.
499bd392adSmrg
509bd392adSmrgPlease note that kernel/userspace API header files have special rules, see
519bd392adSmrginclude/drm/README.
529bd392adSmrg
539bd392adSmrgCoding style in the project loosely follows the CodingStyle of the linux kernel:
549bd392adSmrg
559bd392adSmrghttps://www.kernel.org/doc/html/latest/process/coding-style.html?highlight=coding%20style
569bd392adSmrg
579bd392adSmrgCommit Rights
589bd392adSmrg-------------
599bd392adSmrg
609bd392adSmrgCommit rights will be granted to anyone who requests them and fulfills the
619bd392adSmrgbelow criteria:
629bd392adSmrg
639bd392adSmrg- Submitted a few (5-10 as a rule of thumb) non-trivial (not just simple
649bd392adSmrg  spelling fixes and whitespace adjustment) patches that have been merged
659bd392adSmrg  already. Since libdrm is just a glue library between the kernel and userspace
669bd392adSmrg  drivers, merged patches to those components also count towards the commit
679bd392adSmrg  criteria.
689bd392adSmrg
699bd392adSmrg- Are actively participating on discussions about their work (on the mailing
709bd392adSmrg  list or IRC). This should not be interpreted as a requirement to review other
719bd392adSmrg  peoples patches but just make sure that patch submission isn't one-way
729bd392adSmrg  communication. Cross-review is still highly encouraged.
739bd392adSmrg
749bd392adSmrg- Will be regularly contributing further patches. This includes regular
759bd392adSmrg  contributors to other parts of the open source graphics stack who only
769bd392adSmrg  do the oddball rare patch within libdrm itself.
779bd392adSmrg
789bd392adSmrg- Agrees to use their commit rights in accordance with the documented merge
799bd392adSmrg  criteria, tools, and processes.
809bd392adSmrg
819bd392adSmrgTo apply for commit rights ("Developer" role in gitlab) send a mail to
829bd392adSmrgdri-devel@lists.freedesktop.org and please ping the maintainers if your request
839bd392adSmrgis stuck.
849bd392adSmrg
859bd392adSmrgCommitters are encouraged to request their commit rights get removed when they
869bd392adSmrgno longer contribute to the project. Commit rights will be reinstated when they
879bd392adSmrgcome back to the project.
889bd392adSmrg
899bd392adSmrgMaintainers and committers should encourage contributors to request commit
909bd392adSmrgrights, as especially junior contributors tend to underestimate their skills.
919bd392adSmrg
929bd392adSmrgCode of Conduct
939bd392adSmrg---------------
949bd392adSmrg
959bd392adSmrgPlease be aware the fd.o Code of Conduct also applies to libdrm:
969bd392adSmrg
979bd392adSmrghttps://www.freedesktop.org/wiki/CodeOfConduct/
989bd392adSmrg
999bd392adSmrgSee the gitlab project owners for contact details of the libdrm maintainers.
1009bd392adSmrg
1019bd392adSmrgAbuse of commit rights, like engaging in commit fights or willfully pushing
1029bd392adSmrgpatches that violate the documented merge criteria, will also be handled through
1039bd392adSmrgthe Code of Conduct enforcement process.
1049bd392adSmrg
1059bd392adSmrgHappy hacking!
106