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