Handy guidelines to contribute
Explain how to be a nice contributor in a handy way.
Signed-off-by: Vincent JARDIN <vincent.jardin@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
diff --git a/HACKING.tex b/HACKING.tex
index c868e7c..54931d1 100644
--- a/HACKING.tex
+++ b/HACKING.tex
@@ -105,6 +105,68 @@
See also section~\ref{sec:dll-versioning} below regarding SHARED LIBRARY
VERSIONING.
+\section{YOUR FIRST CONTRIBUTIONS}
+
+Routing protocols can be very complex sometimes. Then, working with an
+Opensource community can be complex too, but usually friendly with
+anyone who is ready to be willing to do it properly.
+
+\begin{itemize}
+
+ \item First, start doing simple tasks. Quagga's patchwork is a good place
+ to start with. Pickup some patches, apply them on your git trie,
+ review them and send your ack't or review comments. Then, a
+ maintainer will apply the patch if ack't or the author will
+ have to provide a new update. It help a lot to drain the
+ patchwork queues.
+ See \url{http://patchwork.quagga.net/project/quagga/list/}
+
+ \item The more you'll review patches from patchwork, the more the
+ Quagga's maintainers will be willing to consider some patches you will
+ be sending.
+
+ \item start using git clone, pwclient \url{http://patchwork.quagga.net/help/pwclient/}
+
+\begin{verbatim}
+$ pwclient list -s new
+ID State Name
+-- ----- ----
+179 New [quagga-dev,6648] Re: quagga on FreeBSD 4.11 (gcc-2.95)
+181 New [quagga-dev,6660] proxy-arp patch
+[...]
+
+$ pwclient git-am 1046
+\end{verbatim}
+
+\end{itemize}
+
+\section{HANDY GUIDELINES FOR MAINTAINERS}
+
+Get your cloned trie:
+\begin{verbatim}
+ git clone vjardin@git.sv.gnu.org:/srv/git/quagga.git
+\end{verbatim}
+
+Apply some ack't patches:
+\begin{verbatim}
+ pwclient git-am 1046
+ Applying patch #1046 using 'git am'
+ Description: [quagga-dev,11595] zebra: route_unlock_node is missing in "show ip[v6] route <prefix>" commands
+ Applying: zebra: route_unlock_node is missing in "show ip[v6] route <prefix>" commands
+\end{verbatim}
+
+Run a quick review. If the ack't was not done properly, you know who you have
+to blame.
+
+Push the patches:
+\begin{verbatim}
+ git push
+\end{verbatim}
+
+Set the patch to accepted on patchwork
+\begin{verbatim}
+ pwclient update -s Accepted 1046
+\end{verbatim}
\section{COMPILE-TIME CONDITIONAL CODE}