Richard Jones' guide to working with open source projects</a>.
</p>
+ <h2><a id="lang">Language Usage</a></h2>
+
+ <p>
+ The libvirt repository makes use of a large number of programming
+ languages. It is anticipated that in the future libvirt will adopt
+ use of other new languages. To reduce the overall burden on developers,
+ there is thus a general desire to phase out usage of some of the
+ existing languages.
+ </p>
+
+ <p>
+ The preferred languages at this time are:
+ </p>
+
+ <ul>
+ <li>C - for the main libvirt codebase. Dialect supported by
+ GCC/CLang only.</li>
+ <li>Python - for supporting build scripts / tools. Code must
+ run with both version 2.7 and 3.x at this time.</li>
+ </ul>
+
+ <p>
+ Languages that should not be used for any new contributions:
+ </p>
+
+ <ul>
+ <li>Perl - build scripts must be written in Python instead.</li>
+ <li>Shell - build scripts must be written in Python instead.</li>
+ </ul>
+
<h2><a id="tooling">Tooling</a></h2>
<p>