* Contributing to the Mono project

	There are many ways in which you can help in the Mono project:

	<ul>
		* <b>Programmers:</b> You can work on a free
		  implementation of the <a
		  href="class-library.html">class libraries</a>, the
		  <a href="runtime.html">runtime engine</a>, <a
		  href="tools.html">the tools</a>, the <a
		  href="testing.html">testing framework</a>

		* <b>Writers:</b> You can help us bywriting <a
		  href="documentation.html">documentation</a>.
	</ul>

	Those are just broad things that need to be worked on, but
	something that would help tremendously would be to help with
	small duties in the project that need to be addressed. 

** To start contributing

	To start developing classes or to contribute to the compiler,
	you only need Windows and the .NET Beta 2 SDK.  Please notice
	that you do not need Visual Studio (although you can use it if
	you want).  

	You can get it <a href="http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true">here</a>

	Alternatively you can use the <a
	href="#compile-service">compilation service</a> that was setup by
	Derek.

** Bug reporting

	If you find bugs in Mono, please make sure you enter a bug
	report so we can keep track of problems in Mono.

	To enter bug reports go to <a href="http://bugzilla.ximian.com">
	http://bugzilla.ximian.com</a> and enter bug reports against
	your favorite component (Mono, Runtime, C# compiler).

** Small tasks

	A few smaller tasks are here, dropped in no particular order:
	<ul>
		* <b>MCS compilation process:</b> Currently MCS does
		  not build with a single `make' command.  This should
		  be fixed (this being part of the `Joel Test' that
		  software has to pass).

		* <b>Mono/doc and web site:</b> They need to be
		  packaged up in the official `distribution'
	</ul>

<a name="compile-service">
* C# Compilation Service

	If you are working on a class for the Mono project, but do not
	have a C# compiler available or a Windows machine to run the
	.NET SDK, you can use the compilation service that Derek
	Holden setup in the following URL: <a
	href="http://toilet.2y.net:8080/">http://toilet.2y.net:8080/</a>

	The service will let you compile a source file and get back a
	list of errors in the class file.  You will not be able to run
	the code, but at least you can get some code written that will
	help us further down the line.

	You can contact (and thank) Derek for this service by sending
	him nice email at <a
	href="mailto:derek@Draper.Com">derek@draper.com</a>

* Books on C# and DotNet.

	<ul>
	* Dotnet Books (<a href="http://www.dotnetbooks.com">http://www.dotnetbooks.com</a>)

	* Dotnet Resources (<a href="http://www.dotnetexperts.com/resources/">
	  http://www.dotnetexperts.com/resources</a>)

	* O'Really C# Essentials (<a href="http://www.oreilly.com/catalog/csharpess/">
	  http://www.oreally.com/catalog/csharpess</a>)

	* O'Really .NET Essentials (<a href="http://www.oreilly.com/catalog/dotnetfrmess/">
	  http://www.oreally.com/catalog/dotnetfrmess</a>)

* Special note

	If you have looked at Microsoft's implementation of .NET or
	their shared source code, you may not be able to contribute
	to Mono.  Details will follow when we know more about this.

	In general be careful when you are implementing free software
	and you have access to proprietary code.  We need to make sure
	that we are not using someone else's copyrighted code
	accidentally. 

	Please do not use the <b>ildasm</b> program to disassemble
	proprietary code when you are planning to reimplement a class
	for Mono.  If you have done this, we might not be able to use
	your code.

	Please stick to published documentation for implementing any
	classes.
