Implemented Guid.NewGuid
[mono.git] / doc / contributing
index ca4d53e8f0f487dbc43b6a19da19c221802b05d9..9daa39fa59601bfc66d0caa1877b209c18deb0cd 100644 (file)
@@ -1,13 +1,85 @@
 * Contributing to the Mono project
 
-       Links to Documentation.
-       Links to Class Library.
-       Links to ...
+       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 Framework 1.0 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>
+
+** 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>Mono/doc and web site:</b> They need to be
+                 packaged up in the official `distribution'
+
+               * Adding serialization support to all the classes.
+
+                 We have many classes, but we have not implemented in
+                 many cases the serialization and re-incarnation support in 
+                 them (this is pretty straight forward code, and simple,
+                 but there is a lot to be done here).
+       </ul>
+
+* 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'Reilly 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 will not be able to contribute
-       to Mono.
+       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, follow care when reading code
+       Please stick to published documentation for implementing any
+       classes.