Code

Updated policy on contributed plugins
[nagiosplug.git] / doc / developer-guidelines.sgml
index 6d5c813c166d5a15ac1a31e23ee8629c36ea6e0c..15920afe07c38794e25dabce12ef68e58a6f7887 100644 (file)
 
        <literallayout>
        gnu make 3.79
-       automake 1.8.3
+       automake 1.9.2
        autoconf 2.58
-       gnu libtool 1.5.6
+       gnu m4 1.4.2
+       gnu libtool 1.5
        </literallayout>
 
        To compile from CVS, after you have checked out the code, run:
@@ -73,6 +74,9 @@
        are synced with the coreutils project and we use the same levels of gettext that they
        distribute.
        </para>
+       <para>Note: gnu libtool, which must be at version 1.5.22 or above, has files installed into CVS, so is not 
+       a development platform requirement.
+       </para>
 </section>
 
 <section id="PlugOutput"><title>Plugin Output for Nagios</title>
                
                <para>Note: Not all plugins are coded to expect ranges in this format yet.
                There will be some work in providing multiple metrics.</para>
+
+               <table id="ExampleRanges"><title>Example ranges</title>
+                       <tgroup cols="2">
+                               <thead>
+                                       <row>
+                                               <entry><para>Range definition</para></entry>
+                                               <entry><para>Generate an alert if x...</para></entry>
+                                       </row>
+                               </thead>
+                               <tbody>
+                                       <row>
+                                               <entry>10</entry>
+                                               <entry>&lt; 0 or &gt; 10, (outside the range of {0 .. 10})</entry>
+                                       </row>
+                                       <row>
+                                               <entry>10:</entry>
+                                               <entry>&lt; 10, (outside {10 .. &infin;})</entry>
+                                       </row>
+                                       <row>
+                                               <entry>~:10</entry>
+                                               <entry>&gt; 10, (outside the range of {-&infin; .. 10})</entry>
+                                       </row>
+                                       <row>
+                                               <entry>10:20</entry>
+                                               <entry>&lt; 10 or &gt; 20, (outside the range of {10 .. 20})</entry>
+                                       </row>
+                                       <row>
+                                               <entry>@10:20</entry>
+                                               <entry>&ge; 10 and &le; 20, (inside the range of {10 .. 20})</entry>
+                                       </row>
+                                       <row>
+                                               <entry>10</entry>
+                                               <entry>&lt; 0 or &gt; 10, (outside the range of {0 .. 10})</entry>
+                                       </row>
+                               </tbody>
+                       </tgroup>
+               </table>
+               <table id="CommandLineExamples"><title>Command line examples</title>
+                       <tgroup cols="2">
+                               <thead>
+                                       <row>
+                                               <entry><para>Command line</para></entry>
+                                               <entry><para>Meaning</para></entry>
+                                       </row>
+                               </thead>
+                               <tbody>
+                                       <row>
+                                               <entry>check_stuff -w10 -c20</entry>
+                                               <entry>Critical if "stuff" is over 20, else warn if over 10 (will be critical if "stuff" is less than 0)</entry>
+                                       </row>
+                                       <row>
+                                               <entry>check_stuff -w~:10 -c~:20</entry>
+                                               <entry>Same as above. Negative "stuff" is OK</entry>
+                                       </row>
+                                       <row>
+                                               <entry>check_stuff -w10: -c20</entry>
+                                               <entry>Critical if "stuff" is over 20, else warn if "stuff" is below 10 (will be critical if "stuff" is less than 0)</entry>
+                                       </row>
+                                       <row>
+                                               <entry>check_stuff -c1:</entry>
+                                               <entry>Critical if "stuff" is less than 1</entry>
+                                       </row>
+                                       <row>
+                                               <entry>check_stuff -w~:0 -c10</entry>
+                                               <entry>Critical if "stuff" is above 10; Warn if "stuff" is above zero</entry>
+                                       </row>
+                                       <row>
+                                               <entry>check_stuff -c5:6</entry>
+                                               <entry>The only noncritical range is 5:6</entry>
+                                       </row>
+                                       <row>
+                                               <entry>check_stuff -c10:20</entry>
+                                               <entry>Critical if "stuff" is 10 to 20</entry>
+                                       </row>
+                               </tbody>
+                       </tgroup>
+               </table>
                </section>
 
                <section><title>Performance data</title>
@@ -728,8 +809,22 @@ update the THANKS.in file.</para>
        Credit will always be given for any patches through a THANKS file in the distribution.</para>
        </section>
 
-       <section id="Newplugins"><title>New plugins</title>
 
+       <section id="Contributedplugins"><title>Contributed plugins</title>
+       <para>Plugins that have been contributed to the project and 
+       distributed with the Nagios Plugin files are held in the contrib/ directory and are not installed
+       by default. These plugins are not officially supported by the team. 
+       The current policy is that these plugins should be owned and maintained by the original 
+       contributor, preferably hosted on <ulink url="http://www.nagiosexchange.org">NagiosExchange</ulink>.
+       </para>
+       <para>If patches or bugs are raised to an contributed plugin, we will start communications with the
+       original contributor, but seek to remove the plugin from our distribution.
+       </para>
+       <para>The aim is to distribute only code that the Nagios Plugin team are responsible for.
+       </para>
+       </section>
+
+       <section id="Newplugins"><title>New plugins</title>
        <para>If you would like others to use your plugins, please add it to
        the official 3rd party plugin repository, 
        <ulink url="http://www.nagiosexchange.org">NagiosExchange</ulink>.
@@ -742,7 +837,8 @@ update the THANKS.in file.</para>
 
       <orderedlist>
        <listitem>
-         <para>Include copyright and license information in all files</para>
+         <para>Include copyright and license information in all files. Copyright must be solely
+               granted to the Nagios Plugin Development Team</para>
        </listitem>
        <listitem>
          <para>The standard command options are supported (--help, --version,