mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
docs: Convert 'contribute' page to rST
Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
127b6d1267
commit
87b2ede00b
@ -1,143 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
||||||
<body>
|
|
||||||
<h1>Contributing to libvirt</h1>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
This page provides guidance on how to contribute to the
|
|
||||||
libvirt project.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ul id="toc"></ul>
|
|
||||||
|
|
||||||
<h2><a id="skills">Contributions required</a></h2>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The libvirt project is always looking for new contributors to
|
|
||||||
participate in ongoing activities. While code development is a
|
|
||||||
major part of the project, assistance is needed in many other
|
|
||||||
areas including documentation writing, bug triage, testing,
|
|
||||||
application integration, website / wiki content management,
|
|
||||||
translation, branding, social media and more. The only
|
|
||||||
requirement is an interest in virtualization and desire to
|
|
||||||
help.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The following is a non-exhaustive list of areas in which
|
|
||||||
people can contribute to libvirt. If you have ideas for
|
|
||||||
other contributions feel free to follow them.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><strong>Software development</strong>. The official upstream code are
|
|
||||||
kept in various <a href="https://gitlab.com/libvirt/">Git repositories</a>.
|
|
||||||
The core library / daemon (and thus the bulk of coding) is written in C,
|
|
||||||
but there are language bindings written in Python, Perl, Java, Ruby,
|
|
||||||
Php, OCaml and Go. There are also higher level wrappers
|
|
||||||
mapping libvirt into other object frameworks, such GLib,
|
|
||||||
CIM and SNMP. For those interested in working on the core parts of
|
|
||||||
libvirt, the <a href="hacking.html">contributor guidelines</a> are
|
|
||||||
mandatory reading</li>
|
|
||||||
<li><strong>Translation</strong>. All the libvirt modules aim to support
|
|
||||||
translations where appropriate. All translation is
|
|
||||||
handling outside of the normal libvirt review process,
|
|
||||||
using the <a href="https://translate.fedoraproject.org/projects/libvirt/libvirt">Fedora
|
|
||||||
instance</a> of the Weblate tool. Thus people wishing
|
|
||||||
to contribute to translation should join the Fedora
|
|
||||||
translation team</li>
|
|
||||||
<li><strong>Documentation</strong>. There are docbook guides on various
|
|
||||||
aspects of libvirt, particularly application development
|
|
||||||
guides for the C library and Python, and a virsh command
|
|
||||||
reference. There is thus scope for work by people who are
|
|
||||||
familiar with using or developing against libvirt, to
|
|
||||||
write further content for these guides. There is also a
|
|
||||||
need for people to review existing content for copy editing
|
|
||||||
and identifying gaps in the docs</li>
|
|
||||||
<li><strong>Website / wiki curation</strong>. The bulk of the website is
|
|
||||||
maintained in the primary GIT repository, while the wiki
|
|
||||||
site uses mediawiki. In both cases there is a need for
|
|
||||||
people to both write new content and curate existing
|
|
||||||
content to identify outdated information, improve its
|
|
||||||
organization and target gaps.</li>
|
|
||||||
<li><strong>Testing</strong>. There are a number of tests suites that can run
|
|
||||||
automated tests against libvirt. The coverage of the tests
|
|
||||||
is never complete, so there is a need for people to create
|
|
||||||
new test suites and / or provide environments to actually
|
|
||||||
run the tests in a variety of deployment scenarios.</li>
|
|
||||||
<li><strong>Code analysis</strong>. The libvirt project has access to the coverity
|
|
||||||
tool to run static analysis against the codebase, however,
|
|
||||||
there are other types of code analysis that can be useful.
|
|
||||||
In particular fuzzing of the inputs can be very effective
|
|
||||||
at identifying problematic edge cases.</li>
|
|
||||||
<li><strong>Security handling</strong>. Downstream (operating system) vendors
|
|
||||||
who distribute libvirt may wish to propose a person to
|
|
||||||
be part of the security handling team, to get early access
|
|
||||||
to information about forthcoming vulnerability fixes.</li>
|
|
||||||
<li><strong>Evangelism</strong>. Work done by the project is of no benefit
|
|
||||||
unless the (potential) user community knows that it
|
|
||||||
exists. Thus it is critically important to the health
|
|
||||||
and future growth of the project, that there are a people
|
|
||||||
who evangelize the work created by the project. This can
|
|
||||||
take many forms, writing blog posts (about usage of features,
|
|
||||||
personal user experiences, areas for future work, and more),
|
|
||||||
syndicating docs and blogs via social media, giving user
|
|
||||||
group and/or conference talks about libvirt.</li>
|
|
||||||
<li><strong>User assistance</strong>. Since documentation
|
|
||||||
is never perfect, there are inevitably cases where users
|
|
||||||
will struggle to attain a deployment goal they have, or
|
|
||||||
run into trouble with managing an existing deployment.
|
|
||||||
While some users may be able to contact a software vendor
|
|
||||||
to obtain support, it is common to rely on community help
|
|
||||||
forums such as <a href="contact.html#email">libvirt users
|
|
||||||
mailing list</a>, or sites such as
|
|
||||||
<a href="https://stackoverflow.com/questions/tagged/libvirt">stackoverflow.</a>
|
|
||||||
People who are familiar with libvirt and have ability &
|
|
||||||
desire to help other users are encouraged to participate in
|
|
||||||
these help forums.</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<h2><a id="comms">Communication</a></h2>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
For full details on contacting other project contributors
|
|
||||||
read the <a href="contact.html">contact</a> page. There
|
|
||||||
are two main channels that libvirt uses for communication
|
|
||||||
between contributors:
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3><a id="email">Mailing lists</a></h3>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
The project has a number of
|
|
||||||
<a href="contact.html#email">mailing lists</a> for
|
|
||||||
general communication between contributors.
|
|
||||||
In general any design discussions and review
|
|
||||||
of contributions will take place on the mailing
|
|
||||||
lists, so it is important for all contributors
|
|
||||||
to follow the traffic.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3><a id="irc">Instant messaging / chat</a></h3>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Contributors to libvirt are encouraged to join the
|
|
||||||
<a href="contact.html#irc">IRC channel</a> used by
|
|
||||||
the project, where they can have live conversations
|
|
||||||
with others members.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h2><a id="outreach">Student / outreach coding programs</a></h2>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Since 2016, the libvirt project directly participates as an
|
|
||||||
organization in the <a href="https://wiki.libvirt.org/page/Google_Summer_of_Code_Ideas">Google Summer of Code program</a>. Prior to
|
|
||||||
this the project had a number of students in the program
|
|
||||||
via a joint application with the QEMU project. People are
|
|
||||||
encouraged to look at both the libvirt and QEMU programs
|
|
||||||
to identify potentially interesting projects to work on.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
105
docs/contribute.rst
Normal file
105
docs/contribute.rst
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
=======================
|
||||||
|
Contributing to libvirt
|
||||||
|
=======================
|
||||||
|
|
||||||
|
This page provides guidance on how to contribute to the libvirt project.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
|
Contributions required
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
The libvirt project is always looking for new contributors to participate in
|
||||||
|
ongoing activities. While code development is a major part of the project,
|
||||||
|
assistance is needed in many other areas including documentation writing, bug
|
||||||
|
triage, testing, application integration, website / wiki content management,
|
||||||
|
translation, branding, social media and more. The only requirement is an
|
||||||
|
interest in virtualization and desire to help.
|
||||||
|
|
||||||
|
The following is a non-exhaustive list of areas in which people can contribute
|
||||||
|
to libvirt. If you have ideas for other contributions feel free to follow them.
|
||||||
|
|
||||||
|
- **Software development**. The official upstream code are kept in various `Git
|
||||||
|
repositories <https://gitlab.com/libvirt/>`__. The core library / daemon (and
|
||||||
|
thus the bulk of coding) is written in C, but there are language bindings
|
||||||
|
written in Python, Perl, Java, Ruby, Php, OCaml and Go. There are also higher
|
||||||
|
level wrappers mapping libvirt into other object frameworks, such GLib, CIM
|
||||||
|
and SNMP. For those interested in working on the core parts of libvirt, the
|
||||||
|
`contributor guidelines <hacking.html>`__ are mandatory reading
|
||||||
|
- **Translation**. All the libvirt modules aim to support translations where
|
||||||
|
appropriate. All translation is handling outside of the normal libvirt review
|
||||||
|
process, using the `Fedora
|
||||||
|
instance <https://translate.fedoraproject.org/projects/libvirt/libvirt>`__ of
|
||||||
|
the Weblate tool. Thus people wishing to contribute to translation should
|
||||||
|
join the Fedora translation team
|
||||||
|
- **Documentation**. There are docbook guides on various aspects of libvirt,
|
||||||
|
particularly application development guides for the C library and Python, and
|
||||||
|
a virsh command reference. There is thus scope for work by people who are
|
||||||
|
familiar with using or developing against libvirt, to write further content
|
||||||
|
for these guides. There is also a need for people to review existing content
|
||||||
|
for copy editing and identifying gaps in the docs
|
||||||
|
- **Website / wiki curation**. The bulk of the website is maintained in the
|
||||||
|
primary GIT repository, while the wiki site uses mediawiki. In both cases
|
||||||
|
there is a need for people to both write new content and curate existing
|
||||||
|
content to identify outdated information, improve its organization and target
|
||||||
|
gaps.
|
||||||
|
- **Testing**. There are a number of tests suites that can run automated tests
|
||||||
|
against libvirt. The coverage of the tests is never complete, so there is a
|
||||||
|
need for people to create new test suites and / or provide environments to
|
||||||
|
actually run the tests in a variety of deployment scenarios.
|
||||||
|
- **Code analysis**. The libvirt project has access to the coverity tool to run
|
||||||
|
static analysis against the codebase, however, there are other types of code
|
||||||
|
analysis that can be useful. In particular fuzzing of the inputs can be very
|
||||||
|
effective at identifying problematic edge cases.
|
||||||
|
- **Security handling**. Downstream (operating system) vendors who distribute
|
||||||
|
libvirt may wish to propose a person to be part of the security handling
|
||||||
|
team, to get early access to information about forthcoming vulnerability
|
||||||
|
fixes.
|
||||||
|
- **Evangelism**. Work done by the project is of no benefit unless the
|
||||||
|
(potential) user community knows that it exists. Thus it is critically
|
||||||
|
important to the health and future growth of the project, that there are a
|
||||||
|
people who evangelize the work created by the project. This can take many
|
||||||
|
forms, writing blog posts (about usage of features, personal user
|
||||||
|
experiences, areas for future work, and more), syndicating docs and blogs via
|
||||||
|
social media, giving user group and/or conference talks about libvirt.
|
||||||
|
- **User assistance**. Since documentation is never perfect, there are
|
||||||
|
inevitably cases where users will struggle to attain a deployment goal they
|
||||||
|
have, or run into trouble with managing an existing deployment. While some
|
||||||
|
users may be able to contact a software vendor to obtain support, it is
|
||||||
|
common to rely on community help forums such as `libvirt users mailing
|
||||||
|
list <contact.html#email>`__, or sites such as
|
||||||
|
`stackoverflow. <https://stackoverflow.com/questions/tagged/libvirt>`__
|
||||||
|
People who are familiar with libvirt and have ability & desire to help other
|
||||||
|
users are encouraged to participate in these help forums.
|
||||||
|
|
||||||
|
Communication
|
||||||
|
-------------
|
||||||
|
|
||||||
|
For full details on contacting other project contributors read the
|
||||||
|
`contact <contact.html>`__ page. There are two main channels that libvirt uses
|
||||||
|
for communication between contributors:
|
||||||
|
|
||||||
|
Mailing lists
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The project has a number of `mailing lists <contact.html#email>`__ for general
|
||||||
|
communication between contributors. In general any design discussions and review
|
||||||
|
of contributions will take place on the mailing lists, so it is important for
|
||||||
|
all contributors to follow the traffic.
|
||||||
|
|
||||||
|
Instant messaging / chat
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Contributors to libvirt are encouraged to join the `IRC
|
||||||
|
channel <contact.html#irc>`__ used by the project, where they can have live
|
||||||
|
conversations with others members.
|
||||||
|
|
||||||
|
Student / outreach coding programs
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
Since 2016, the libvirt project directly participates as an organization in the
|
||||||
|
`Google Summer of Code
|
||||||
|
program <https://wiki.libvirt.org/page/Google_Summer_of_Code_Ideas>`__. Prior to
|
||||||
|
this the project had a number of students in the program via a joint application
|
||||||
|
with the QEMU project. People are encouraged to look at both the libvirt and
|
||||||
|
QEMU programs to identify potentially interesting projects to work on.
|
@ -22,7 +22,6 @@ docs_html_in_files = [
|
|||||||
'bugs',
|
'bugs',
|
||||||
'cgroups',
|
'cgroups',
|
||||||
'contact',
|
'contact',
|
||||||
'contribute',
|
|
||||||
'csharp',
|
'csharp',
|
||||||
'dbus',
|
'dbus',
|
||||||
'docs',
|
'docs',
|
||||||
@ -89,6 +88,7 @@ docs_rst_files = [
|
|||||||
'coding-style',
|
'coding-style',
|
||||||
'committer-guidelines',
|
'committer-guidelines',
|
||||||
'compiling',
|
'compiling',
|
||||||
|
'contribute',
|
||||||
'daemons',
|
'daemons',
|
||||||
'developer-tooling',
|
'developer-tooling',
|
||||||
'drvqemu',
|
'drvqemu',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user