Update to demonstrate problem with static/instance methods.
[mono.git] / web / contributing
1 * Contributing to the Mono project
2
3         There are many ways in which you can help in the Mono project:
4
5         <ul>
6                 * <b>Programmers:</b> You can work on a free
7                   implementation of the <a
8                   href="class-library.html">class libraries</a>, the
9                   <a href="runtime.html">runtime engine</a>, <a
10                   href="tools.html">the tools</a>, the <a
11                   href="testing.html">testing framework</a>
12
13                 * <b>Writers:</b> You can help us bywriting <a
14                   href="documentation.html">documentation</a>.
15         </ul>
16
17         Those are just broad things that need to be worked on, but
18         something that would help tremendously would be to help with
19         small duties in the project that need to be addressed. 
20
21 ** To start contributing
22
23         To start developing classes or to contribute to the compiler,
24         you only need Windows and the .NET Beta 2 SDK.  Please notice
25         that you do not need Visual Studio (although you can use it if
26         you want).  
27
28         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>
29
30         Alternatively you can use the <a
31         href="#compile-service">compilation service</a> that was setup by
32         Derek.
33
34 ** Bug reporting
35
36         If you find bugs in Mono, please make sure you enter a bug
37         report so we can keep track of problems in Mono.
38
39         To enter bug reports go to <a href="http://bugzilla.ximian.com">
40         http://bugzilla.ximian.com</a> and enter bug reports against
41         your favorite component (Mono, Runtime, C# compiler).
42
43 ** Small tasks
44
45         A few smaller tasks are here, dropped in no particular order:
46         <ul>
47                 * <b>Mono/doc and web site:</b> They need to be
48                   packaged up in the official `distribution'
49
50                 * Adding serialization support to all the classes.
51
52                   We have many classes, but we have not implemented in
53                   many cases the serialization and re-incarnation support in 
54                   them (this is pretty straight forward code, and simple,
55                   but there is a lot to be done here).
56         </ul>
57
58 <a name="compile-service">
59 * C# Compilation Service
60
61         If you are working on a class for the Mono project, but do not
62         have a C# compiler available or a Windows machine to run the
63         .NET SDK, you can use the compilation service that Derek
64         Holden setup in the following URL: <a
65         href="http://toilet.2y.net:8080/">http://toilet.2y.net:8080/</a>
66
67         The service will let you compile a source file and get back a
68         list of errors in the class file.  You will not be able to run
69         the code, but at least you can get some code written that will
70         help us further down the line.
71
72         You can contact (and thank) Derek for this service by sending
73         him nice email at <a
74         href="mailto:derek@Draper.Com">derek@draper.com</a>
75
76 * Books on C# and DotNet.
77
78         <ul>
79         * Dotnet Books (<a href="http://www.dotnetbooks.com">http://www.dotnetbooks.com</a>)
80
81         * Dotnet Resources (<a href="http://www.dotnetexperts.com/resources/">
82           http://www.dotnetexperts.com/resources</a>)
83
84         * O'Reilly C# Essentials (<a href="http://www.oreilly.com/catalog/csharpess/">
85           http://www.oreally.com/catalog/csharpess</a>)
86
87         * O'Really .NET Essentials (<a href="http://www.oreilly.com/catalog/dotnetfrmess/">
88           http://www.oreally.com/catalog/dotnetfrmess</a>)
89
90 * Special note
91
92         If you have looked at Microsoft's implementation of .NET or
93         their shared source code, you may not be able to contribute
94         to Mono.  Details will follow when we know more about this.
95
96         In general be careful when you are implementing free software
97         and you have access to proprietary code.  We need to make sure
98         that we are not using someone else's copyrighted code
99         accidentally. 
100
101         Please do not use the <b>ildasm</b> program to disassemble
102         proprietary code when you are planning to reimplement a class
103         for Mono.  If you have done this, we might not be able to use
104         your code.
105
106         Please stick to published documentation for implementing any
107         classes.