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: