<?xml version="1.0" ?>
<!--
Copyright 2004-2005 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<document>

	<properties>
		<author email="nicko at apache dot org">Nicko Cadell</author>
		<title>Contributing to log4net Development</title>
	</properties>

	<meta name="keywords" content="contributing to log4net development, contributing log4net, log4net cvs, log4net" />

	<body>
		<section name="Contributing to log4net Development">
		
<!--
			<p>
				blah blah mailing list, cvs, issues, blah
			</p>
-->
		
			<section name="Developer Mailing List">
				<p>
					All discussion relating to log4net development takes place on this list. All CVS checkin 
					notifications are also copied to this list.
				</p>
			
				<section name="Mailing List Archives">
					<p>
						You can browse the mailing list archives at the following locations:
					</p>
					
					<ul>
						<li><a href="http://mail-archives.eu.apache.org/mod_mbox/logging-log4net-dev/">mod_mbox</a></li>
						<li><a href="http://nagoya.apache.org/eyebrowse/SummarizeList?listId=214">eyebrowse</a></li>
						<li><a href="http://marc.theaimsgroup.com/?l=log4net-dev&amp;r=1&amp;w=2">MARC</a></li>
						<li><a href="http://sourceforge.net/mailarchive/forum.php?forum=log4net-devel">Old Mailing List at sourceforge</a></li>
					</ul>
				</section>

				<section name="Subscribe">
					<p>
						Subscribe to either the list or to the digest list:
					</p>
					
					<ul>
						<li>
							<p>
								To subscribe to this list send an e-mail to <br />
								<a href="mailto:log4net-dev-subscribe@logging.apache.org">log4net-dev-subscribe@logging.apache.org</a>.
							</p>
						</li>
							
						<li>
							<p>
								To subscribe to the digest list sent an e-mail to <br />
								<a href="mailto:log4net-dev-digest-subscribe@logging.apache.org">log4net-dev-digest-subscribe@logging.apache.org</a>.
							</p>
						</li>
					</ul>
				</section>

				<section name="Unsubscribe">
					<p>
						To unsubscribe send an email to the relevant email address:
					</p>
					
					<ul>
						<li>
							<p>
								To unsubscribe from this list send an e-mail to <br />
								<a href="mailto:log4net-dev-unsubscribe@logging.apache.org">log4net-dev-unsubscribe@logging.apache.org</a>.
							</p>
						</li>
							
						<li>
							<p>
								To unsubscribe from the digest list sent an e-mail to <br />
								<a href="mailto:log4net-dev-digest-unsubscribe@logging.apache.org">log4net-dev-digest-unsubscribe@logging.apache.org</a>.
							</p>
						</li>
					</ul>
				</section>

				<section name="Posting">
					<p>
						Most of the guidelines for the log4net-user list also apply to the dev list.
						Please have a quick read through the <a href="support.html">guidelines</a>, thanks.
					</p>
					
					<p>
						<strong>To prevent spam, we require you to be subscribed to the list before posting to it.</strong>
					</p>
					
					<p>
						<em>This is the log4net developer list, it holds discussions relating to the
						development of log4net not the use of log4net. If you have a question that begins
						with the word "How" or you are unsure as the the appropriate list to post to then
						you probably want to start with the <a href="support.html">log4net-user list</a>.</em>
					</p>
					
					<p>
						Post to the list by sending mail to 
						<a href="mailto:log4net-dev@logging.apache.org">log4net-dev@logging.apache.org</a>.
					</p>
				</section>
			</section>

			<section name="CVS Access">

				<section name="Browsing CVS">
					<p>
						<a href="http://cvs.apache.org/viewcvs/logging-log4net/">Browse log4net</a> 
						CVS repository using ViewCVS.
					</p>
				</section>

				<section name="Anonymous CVS Access">
					<p>
						Anyone can checkout source code from our anonymous CVS
						server. To do so, simply use the following commands (if you are
						using a GUI CVS client, configure it appropriately).
					</p>
					
					<p>
						First login to the CVS server as the anonymous user.
					</p>
					
					<source language="shell">
cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic login
password: anoncvs</source>

					<p>
						Then checkout the logging-log4net module.
					</p>
					
					<source language="shell">
cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic checkout logging-log4net</source>

					<p>
						If you are not familiar with CVS, 
						<a href="http://jakarta.apache.org/site/cvsindex.html">Jakarta's CVS page</a> 
						may hold many helpful hints.
					</p>
				</section>
			
<!-- TODO: Work out how to generate nightly snapshots of the CVS tree
				<section name="Nightly Snapshots">
					<p>
						Nightly snapshots of the CVS tree are available at 
						<a href="http://cvs.apache.org/snapshots/log4net/">http://cvs.apache.org/snapshots/log4net/</a>.
					</p>
				</section>
-->	
			</section>
			
			<section name="Issue Tracking">
				<p>
					Many bugs reported end up not being a bug in the log4net code, 
					but are due to incorrect configuration, problems caused by installed applications, 
					the operating system, etc.
				</p>
				<p>
					Before reporting a bug please make every effort to investigate and resolve the problem yourself. 
					Just reporting a bug will not fix it. A good bug report includes a detailed 
					description of the problem and a succinct test case which can reproduce the problem. 
				</p>
				<p>
					Before reporting an issue please investigate the following information sources for
					a potential resolution.
				</p>
				<ul>
					<li><a href="release/manual/introduction.html">Documentation</a></li>
					<li><a href="release/faq.html#internalDebug">Internal log4net debug</a></li>
					<li><a href="release/faq.html">FAQs</a></li>
					<li><a href="support.html">Mailing Lists</a></li>
				</ul>
				<p>
					Before reporting a bug, you are advised to discuss it on the relevant mailing list first.
				</p>
				<p>
					<a href="http://issues.apache.org/jira/browse/LOG4NET">Search the bug database</a> to see if the bug 
					you are seeing has already been reported. If it has been reported then you can vote for the issue.
				</p>
				
				<section name="Reporting an Issue">
					<p>
						If after you have exhausted all other resources to resolve a problem you may want to file a bug report.
						Please make sure the problem is a bug in Logging and not a bug in your application.
					</p>
					<p>
						Please make sure you provide as much information as possible. Its very hard to fix a bug if the person 
						looking into the problem can't reproduce it. Here is a listing of information which should be included:
					</p>
					<ul>
						<li><b>Version</b> - log4net version, or if from a nightly build, version and date of build.</li>
						<li><b>Application Type</b> - Assembly type, i.e. exe or dll, and how your code is launched, e.g. console application, windows application, ASP.NET project, COM+ hosted object, etc...</li>
						<li><b>Framework</b> - The .NET framework running the application, name (e.g. MS .NET, Mono, SSCLI) and version.</li>
						<li><b>Platform</b> - Computer operating system, version, and hardware platform in use.</li>
						<li><b>Configuration</b> - Attach configuration files if they would help track down the bug.</li>
						<li><b>Log Files</b> - Review your logs files, produced with <a href="release/faq.html#internalDebug">internal log4net debug</a> enabled. Submit any relevant sections of the log which help document the bug.</li>
						<li><b>Stack Traces</b> - Any stack traces generated by the bug, if any.</li>
						<li><b>Example</b> - Example configuration files or web applications which demonstrate the bug. When submitting an example which reproduces the bug, please try to make it as simple as possible.</li>
						<li><b>Bug Fix Patch</b> - A patch created using <span class="code">diff -u</span> which fixes the bug. (If you have found a bug fix which can be applied to the code).</li>
						<li><b>Description of the Bug</b> - A description of the bug, include observed as well as expected behaviour.</li>
						<li><b>Miscellaneous</b> - Any other information you feel will help track down the problem.</li>
					</ul>
					<p>
						<b>Just reporting a bug will not fix it. A good bug report includes a detailed description of the 
						problem and a succinct test case which can reproduce the problem.</b>
					</p>
					<p>
						<a href="http://issues.apache.org/jira/browse/LOG4NET">Report a log4net bug</a>.
					</p>
				</section>
			</section>
			
<!-- TODO: Add guidelines for contributors
			<section name="Guidelines for Contributors">
				<p>
					To contribute code to the log4net project follow the following
					guidelines:
				</p>
				
				<ul>
					<li>
						<p>
							TODO
						</p>
					</li>
				</ul>
			</section>
-->
		</section>
	</body>

</document>
