X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Fcontributing;h=0a80bcb91b15ee03bd245c0308448981bb5bc9b0;hb=d4574047f809c4295c77cc25b115b318b4ff996e;hp=5bec9cefda558cf6b93e8a442ecc3a32e283d491;hpb=132a85430bc363e9886019a8b1ad84a3dee50760;p=mono.git diff --git a/web/contributing b/web/contributing index 5bec9cefda5..0a80bcb91b1 100644 --- a/web/contributing +++ b/web/contributing @@ -1,18 +1,51 @@ * Contributing to the Mono project - There are many ways in which you can help in the Mono project: - - + Mono has not been completed yet. It is a project under + active development and with a vibrant community. If you are + looking at ways of helping the project, you have come to the + right web page. + + There are three different philosophical approaches to helping + the Mono project, the selfish way, the altruistic or the + educational way. + + The selfish way is packed with adventure. You start by + building your own software, and start using the compiler and + tools that come with Mono. Eventually you will run into + missing features, or a bug in the software. Since we ship all + the source code for Mono, you can start tracking down the + problem. Depending on how much time you have to devote to the + problem you could: File a + bug report (read this); track + down the problem and provide a better + bug report; fix the + bug and provide a patch (you can post it to the mono + mailing list; or discuss the solution on the mailing + list. Ideally you will also write a regression test so the bug does not + get re-introduced in the future. + + The altruistic is probably the easiest because you get + to pick a piece of Mono that you might want to work on. You + can pick an unfinished class (from our class status page); help with the + documentation effort (mailing + list for the documentation effort); fix existing runtime + bugs; compiler + bugs; help with the tools or + writing tests that help make Mono + more robust or help with the Winforms + effort. + + The educational way is an interesting one, because you + pick a technology you are interested in, and work on that + technology to learn the technology. Those are just broad things that need to be worked on, but something that would help tremendously would be to help with @@ -20,6 +53,11 @@ You can see what needs to be done in the class libraries here +* IRC Channel + + Many developers get together on the #mono irc channel + on the irc.gnome.org server. + ** To start contributing As a programmer, you can contribute in three different scenarios to Mono: @@ -61,7 +99,8 @@ world that only has a test suite. To get started writing tests see the Test Suite - section. + section. Here there is a good All-In-One introduction to the art of writing tests. + *** Contributing to the runtime engine @@ -89,6 +128,53 @@ You can review the list of current bugs by going here + Check our Bugs that contains links to + easily add a bug report, or to query the existing bugs. + + +** How to make good bug reports + + A mail from Paolo to mono-devel-list contained this check list: +
    + * Submit a test case, the smaller it is, the better + + * Use + http://bugzilla.ximian.com to report the bug. + +

    In addition to bugzilla, posting to the list is + fine if the bug merits larger exposure or design + discussions to solve; posting to the list twice or more + is just a way to annoy people and make them waste time, + specially when you start a new thread about it. + + * If the test involves libraries or assemblies that are + not part of mono, add info about where to download all + the dependencies, and how to compile/install them. + + * If compiling the test case requires more than: +

     mcs test.cs 
    + provide the full command line you used to compile + the test. + + * If running the test requires more than: +
     mono test.exe 
    + provide the full command line needed to replicate + the bug. + + * Provide info about the version of the software you're + using (both mono and the operating system or relevant + libraries). + + * Provide the output you expect the test case to produce. + + * Provide the actual output you get from the test case. +
+ + A good bug report complies with at least 6 items from the list. + If your bug report complies with 3 or less items, it is very + poor and it means it will take much more time to fix (when it's + not ignored). + ** Small tasks A few smaller tasks are here, dropped in no particular order: