Blame CONTRIBUTING.rst

Packit Service 103f6b
Contributing to libdrm
Packit Service 103f6b
======================
Packit Service 103f6b
Packit Service 103f6b
Submitting Patches
Packit Service 103f6b
------------------
Packit Service 103f6b
Packit Service 103f6b
Patches should be sent to dri-devel@lists.freedesktop.org, using git
Packit Service 103f6b
send-email. For patches only touching driver specific code one of the driver
Packit Service 103f6b
mailing lists (like amd-gfx@lists.freedesktop.org) is also appropriate. See git
Packit Service 103f6b
documentation for help:
Packit Service 103f6b
Packit Service 103f6b
http://git-scm.com/documentation
Packit Service 103f6b
Packit Service 103f6b
Since dri-devel is a very busy mailing list please use --subject-prefix="PATCH
Packit Service 103f6b
libdrm" to make it easier to find libdrm patches. This is best done by running
Packit Service 103f6b
Packit Service 103f6b
    git config --local format.subjectprefix "PATCH libdrm"
Packit Service 103f6b
Packit Service 103f6b
The first line of a commit message should contain a prefix indicating what part
Packit Service 103f6b
is affected by the patch followed by one sentence that describes the change. For
Packit Service 103f6b
examples:
Packit Service 103f6b
Packit Service 103f6b
    amdgpu: Use uint32_t i in amdgpu_find_bo_by_cpu_mapping
Packit Service 103f6b
Packit Service 103f6b
The body of the commit message should describe what the patch changes and why,
Packit Service 103f6b
and also note any particular side effects. For a recommended reading on
Packit Service 103f6b
writing commit messages, see:
Packit Service 103f6b
Packit Service 103f6b
http://who-t.blogspot.de/2009/12/on-commit-messages.html
Packit Service 103f6b
Packit Service 103f6b
Your patches should also include a Signed-off-by line with your name and email
Packit Service 103f6b
address. If you're not the patch's original author, you should also gather
Packit Service 103f6b
S-o-b's by them (and/or whomever gave the patch to you.) The significance of
Packit Service 103f6b
this is that it certifies that you created the patch, that it was created under
Packit Service 103f6b
an appropriate open source license, or provided to you under those terms.  This
Packit Service 103f6b
lets us indicate a chain of responsibility for the copyright status of the code.
Packit Service 103f6b
For more details:
Packit Service 103f6b
Packit Service 103f6b
https://developercertificate.org/
Packit Service 103f6b
Packit Service 103f6b
We won't reject patches that lack S-o-b, but it is strongly recommended.
Packit Service 103f6b
Packit Service 103f6b
Review and Merging
Packit Service 103f6b
------------------
Packit Service 103f6b
Packit Service 103f6b
Patches should have at least one positive review (Reviewed-by: tag) or
Packit Service 103f6b
indication of approval (Acked-by: tag) before merging. For any code shared
Packit Service 103f6b
between drivers this is mandatory.
Packit Service 103f6b
Packit Service 103f6b
Please note that kernel/userspace API header files have special rules, see
Packit Service 103f6b
include/drm/README.
Packit Service 103f6b
Packit Service 103f6b
Coding style in the project loosely follows the CodingStyle of the linux kernel:
Packit Service 103f6b
Packit Service 103f6b
https://www.kernel.org/doc/html/latest/process/coding-style.html?highlight=coding%20style
Packit Service 103f6b
Packit Service 103f6b
Commit Rights
Packit Service 103f6b
-------------
Packit Service 103f6b
Packit Service 103f6b
Commit rights will be granted to anyone who requests them and fulfills the
Packit Service 103f6b
below criteria:
Packit Service 103f6b
Packit Service 103f6b
- Submitted a few (5-10 as a rule of thumb) non-trivial (not just simple
Packit Service 103f6b
  spelling fixes and whitespace adjustment) patches that have been merged
Packit Service 103f6b
  already. Since libdrm is just a glue library between the kernel and userspace
Packit Service 103f6b
  drivers, merged patches to those components also count towards the commit
Packit Service 103f6b
  criteria.
Packit Service 103f6b
Packit Service 103f6b
- Are actively participating on discussions about their work (on the mailing
Packit Service 103f6b
  list or IRC). This should not be interpreted as a requirement to review other
Packit Service 103f6b
  peoples patches but just make sure that patch submission isn't one-way
Packit Service 103f6b
  communication. Cross-review is still highly encouraged.
Packit Service 103f6b
Packit Service 103f6b
- Will be regularly contributing further patches. This includes regular
Packit Service 103f6b
  contributors to other parts of the open source graphics stack who only
Packit Service 103f6b
  do the oddball rare patch within libdrm itself.
Packit Service 103f6b
Packit Service 103f6b
- Agrees to use their commit rights in accordance with the documented merge
Packit Service 103f6b
  criteria, tools, and processes.
Packit Service 103f6b
Packit Service 103f6b
To apply for commit rights ("Developer" role in gitlab) send a mail to
Packit Service 103f6b
dri-devel@lists.freedesktop.org and please ping the maintainers if your request
Packit Service 103f6b
is stuck.
Packit Service 103f6b
Packit Service 103f6b
Committers are encouraged to request their commit rights get removed when they
Packit Service 103f6b
no longer contribute to the project. Commit rights will be reinstated when they
Packit Service 103f6b
come back to the project.
Packit Service 103f6b
Packit Service 103f6b
Maintainers and committers should encourage contributors to request commit
Packit Service 103f6b
rights, as especially junior contributors tend to underestimate their skills.
Packit Service 103f6b
Packit Service 103f6b
Code of Conduct
Packit Service 103f6b
---------------
Packit Service 103f6b
Packit Service 103f6b
Please be aware the fd.o Code of Conduct also applies to libdrm:
Packit Service 103f6b
Packit Service 103f6b
https://www.freedesktop.org/wiki/CodeOfConduct/
Packit Service 103f6b
Packit Service 103f6b
See the gitlab project owners for contact details of the libdrm maintainers.
Packit Service 103f6b
Packit Service 103f6b
Abuse of commit rights, like engaging in commit fights or willfully pushing
Packit Service 103f6b
patches that violate the documented merge criteria, will also be handled through
Packit Service 103f6b
the Code of Conduct enforcement process.
Packit Service 103f6b
Packit Service 103f6b
Happy hacking!