Add a page that describes what contributions libvirt is
looking for and how to get involved.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
docs/contribute.html.in | 140 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 140 insertions(+)
create mode 100644 docs/contribute.html.in
diff --git a/docs/contribute.html.in b/docs/contribute.html.in
new file mode 100644
index 0000000..6ef7dc4
--- /dev/null
+++ b/docs/contribute.html.in
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<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 name="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 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</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="http://fedora.zanata.org">Fedora
+ instance</a> of the Zanata 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>Evangalism</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 evangalise the work created by the project. This can
+ take many forms, writing blog posts (about usage of features,
+ personal user experiances, 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="http://stackoverflow.com/questions/tagged/libvirt">sta...
+ 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 name="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 name="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 name="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 name="outreach">Student / outreach coding
programs</a></h2>
+
+ <p>
+ Since 2016, the libvirt project directly participates as an
+ organization in the <a
href="http://wiki.libvirt.org/page/Google_Summer_of_Code_Ideas"... 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>
--
2.9.3