Merge pull request #472 from MelanieT/spmanager_fix
[mono.git] / CONTRIBUTING.md
1
2 Guidelines
3 ==========
4
5 When contributing to the Mono project, please follow the [Mono Coding
6 Guidelines][1].  We have been using a coding style for many years,
7 please make your patches conform to these guidelines.
8
9 [1] http://www.mono-project.com/Coding_Guidelines
10
11 Etiquette
12 =========
13
14 In general, we do not accept patches that merely shuffle code around,
15 split classes in multiple files, reindent the code or are the result
16 of running a refactoring tool on the source code.  This is done for
17 three reasons: (a) we have our own coding guidelines; (b) Some modules
18 are imported from upstream sources and we want to respect their coding
19 guidelines and (c) it destroys valuable history that is often used to
20 investigate bugs, regressions and problems.
21
22 License
23 =======
24
25 The Mono project uses the MIT X11, GNU LGPL version 2 and the Apache
26 License 2.0.  We also imported some Microsoft code licensed under the
27 open source Microsoft Public License.
28
29 Different parts of Mono use different licenses.  The actual details of
30 which licenses are used for which parts are detailed on the LICENSE
31 file in this directory.
32
33 When contributing code, make sure that your contribution falls under
34 the appropriate license.  For example, contributions to code licensed
35 under MIT X11 code, should be MIT X11 code.
36
37 The Runtime is a special case.  The code is dual licensed by Xamarin
38 under both the GNU LGPL v2 license and is also available under
39 commercial terms.  For the runtime, you should either sign an
40 agreement that grants Xamarin the rights to relicense your code under
41 other licenses other than the LGPL v2 or your contribution must be
42 made as an MIT X11 license which grants us the same rights, but
43 involves no paperwork.
44
45 Submitting Patches
46 ==================
47
48 When Submitting patches to the dual-licensed portions, please specify
49 on the commit the license that the code is under.