7e64a96ab21ec8d76975b01c5c5dc297eda225f1
[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 with writing <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 ** Small tasks
22
23         A few smaller tasks are here, dropped in no particular order:
24         <ul>
25                 * <b>MCS compilation process:</b> Currently MCS does
26                   not build with a single `make' command.  This should
27                   be fixed (this being part of the `Joel Test' that
28                   software has to pass).
29
30                 * <b>Mono/doc and web site:</b> They need to be
31                   packaged up in the official `distribution'
32
33                 * <b>Enthusiasts: </b>
34         </ul>
35
36 * Special note
37
38         If you have looked at Microsoft's implementation of .NET or
39         their shared source code, you may not be able to contribute
40         to Mono.  Details will follow when we know more about this.
41
42         In general be careful when you are implementing free software
43         and you have access to proprietary code.  We need to make sure
44         that we are not using someone else's copyrighted code
45         accidentally. 
46
47         Please do not use the <b>ildasm</b> program to disassemble
48         proprietary code when you are planning to reimplement a class
49         for Mono.  If you have done this, we might not be able to use
50         your code.
51
52         Please stick to published documentation for implementing any
53         classes.