Blame CONTRIBUTING.rst

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