| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | \subsection{How to contribute} | 
|  | 2 | OpenWrt is constantly being improved.  We'd like as many people to contribute | 
|  | 3 | to this as we can get. If you find a change useful, by all means try to get | 
|  | 4 | it incorporated into the project. This should improve OpenWrt and it should | 
|  | 5 | help carry your changes forward into future versions | 
|  | 6 |  | 
|  | 7 | This section tries to lay out a procedure to enable people to submit patches | 
|  | 8 | in a way that is most effective for all concerned. | 
|  | 9 |  | 
|  | 10 | It is important to do all these steps repeatedly: | 
|  | 11 |  | 
|  | 12 | \begin{itemize} | 
|  | 13 | \item \textit{listen} to what other people think. | 
|  | 14 | \item \textit{talk} explaining what problem you are addressing and your | 
|  | 15 | proposed solution. | 
|  | 16 | \item \textit{do} write useful patches including documentation. | 
|  | 17 | \item \textit{test. test. test.} | 
|  | 18 | \end{itemize} | 
|  | 19 |  | 
|  | 20 | \subsection{Where to listen and talk} | 
|  | 21 |  | 
|  | 22 | \begin{itemize} | 
|  | 23 | \item google to find things related to your problem | 
|  | 24 | \item Mailing lists: \href{http://lists.openwrt.org/}{http://lists.openwrt.org/} | 
|  | 25 | \item Wiki: check the wiki: \href{http://wiki.openwrt.org/OpenWrtDocs}{http://wiki.openwrt.org/OpenWrtDocs} | 
|  | 26 | \item Forum: \href{http://forum.openwrt.org/}{http://forum.openwrt.org/} | 
|  | 27 | \item IRC: \texttt{irc.freenode.net}, channels \texttt{\#openwrt} and | 
|  | 28 | \texttt{\#openwrt-devel} | 
|  | 29 | \item TRAC: \href{https://dev.openwrt.org/}{https://dev.openwrt.org/} the issue/bug/change tracking system | 
|  | 30 | \end{itemize} | 
|  | 31 |  | 
|  | 32 | It is often best to document what you are doing before you do it.  The process | 
|  | 33 | of documentation often exposes possible improvements.  Keep your documentation | 
|  | 34 | up to date. | 
|  | 35 |  | 
|  | 36 | \subsection{Patch Submission Process} | 
|  | 37 | \begin{enumerate} | 
|  | 38 | \item Use git or svn to create a patch. Creating patches manually with | 
|  | 39 | \textit{diff -urN} also works, but is usually unnecessary. | 
|  | 40 | \item Send a mail to openwrt-devel@lists.openwrt.org with the following contents: | 
|  | 41 | \begin{enumerate} | 
|  | 42 | \item \texttt{[PATCH] <short description>} in the Subject, followed by: | 
|  | 43 | \item (optional) a longer description of your patch in the message body | 
|  | 44 | \item \texttt{Signed-off-by: Your name <your@email.address>} | 
|  | 45 | \item Your actual patch, inline, not word wrapped or whitespace mangled. | 
|  | 46 | \end{enumerate} | 
|  | 47 | \item Please read \href{http://kerneltrap.org/Linux/Email\_Clients\_and\_Patches}{http://kerneltrap.org/Linux/Email\_Clients\_and\_Patches} | 
|  | 48 | to find out how to make sure your email client doesn't destroy your patch. | 
|  | 49 | \item Please use your real name and email address in the \texttt{Signed-off-by} | 
|  | 50 | line, following the same guidelines as in the \href{http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/SubmittingPatches;h=681e2b36195c98ea5271b76383b3a574b190b04f;hb=HEAD}{Linux Kernel patch submission guidelines} | 
|  | 51 | \item Example of a properly formatted patch submission: \\ | 
|  | 52 | \href{http://lists.openwrt.org/pipermail/openwrt-devel/2007-November/001334.html}{http://lists.openwrt.org/pipermail/openwrt-devel/2007-November/001334.html} | 
|  | 53 | \end{enumerate} |