Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes
[mono.git] / LICENSE
1
2 Mono is made up of many pieces of code, all of them open source, but
3 different pieces of Mono use different licensing terms.
4
5 For comments, corrections and updates, please contact mono@xamarin.com
6
7 * Dual Licensing
8
9         Parts of Mono are dual licensed, they are available to the
10         public in GPL or LGPL forms, but we also offer those pieces
11         under commercial terms from Xamarin for the cases wher the GPL
12         and the LGPL are not suitable.
13
14         We have tried to pick the licenses that will maximize adoption
15         of Mono, so we tend to use the MIT X11 or LGPL liceses.
16
17         Contributions to dual-licensed module require that the author
18         contributes the code under the terms of the MIT X11 code, or
19         to sign an agreement that allows Novell to redistribute the
20         code under other licenses.
21
22         Contributions for other modules should be under the same license
23         terms as the rest of the module, or under MIT X11 terms. 
24
25         For the actual license links in the Mono distribution see the
26         bottom of this file.
27
28         If you need further information, please contact mono@xamarin.com
29
30 * The Modules
31
32 ** mono/mono: the Mono VM
33
34         This code is dual licensed under the LGPL or commercial licenses. 
35
36         The LGPL ensures that Mono can be used in most scenarios, but
37         gives Xamarin the flexibility to relicense the code for
38         embedded systems, static linking or commercial settings where
39         the LGPL can not be used.
40
41         We consider non-LGPL use instances where you use this on an
42         embedded system where the end user is not able to upgrade the
43         Mono VM or Moonlight installation or distribution that is part
44         of your product (Section 6 and 7), you would have to obtain a
45         commercial license from Xamarin (consider software burned into
46         a ROM, systems where end users would not be able to upgrade,
47         an embedded console, a game console that imposes limitations
48         on the distribution and access to the code, a phone platform
49         that prevents end users from upgrading Moonlight).
50         
51         Contact mono@xamarin.com for details on obtaining the Mono
52         runtime under other terms.
53
54 ** mono/support: MonoPosixHelper and support code
55
56         This code is dual licensed under the LGPL or commercial licenses, with
57         the same guidelines as mono/mono code.
58
59         The ZLib files are included under a "new BSD"-style license.
60
61 ** mono/eglib: Mono's X11 glib implementation
62
63         This is a minimal subset of glib that is to be licensed under
64         the terms of the MIT X11, this means that this code can be
65         used for any purposes by anyone.
66
67 ** mono/metadata/sgen*: Mono's Copying Collector
68
69         This new garbage collector is licensed under the terms of
70         the MIT X11 license, in hopes that the GC could be reused
71         by third party projects, follows the same spirit than the
72         Boehm GC.
73
74 ** mono/arch/*/XXX-codegen.h
75
76         This are C macros that are useful when generating native
77         code on various platforms.   This code is MIT X11 licensed.
78
79 ** mcs/mcs, mcs/gmcs
80
81         The C# Compilers (1.0 and 2.0)
82
83         These compilers are dual licensed under the GPL and MIT X11
84         license terms.
85
86 ** tests
87
88         Unless explicitly stated, the tests are under the MIT X11 license.
89
90 ** mcs/class
91
92         The class libraries developed by the Mono team are licensed
93         under the MIT X11 terms.
94
95         In addition to the class libraries developed by the Mono team,
96         there are a number of class libraries that we bundle as part
97         of the distribution that were integrated from third-parties or
98         that contain code that was originally licensed under different
99         terms, these are:
100
101             ByteFX.Data: LGPL
102
103             Npgsql: LGPL
104
105             FirebirdSql.Data.Firebird: Firebird public license.
106                 See: mcs/class/FirebirdSql.Data.Firebird/license.txt
107
108             ICSharpCode.SharpZipLib, GPL with exceptions.
109                 See: mcs/class/ICSharpCode.SharpZipLib/README
110
111 ** mcs/class/System.Core/System/TimeZoneInfo.Android.cs
112
113         This is a port of Apache 2.0-licensed Android code, and thus is
114         licensed under the Apache 2.0 license:
115
116             http://www.apache.org/licenses/LICENSE-2.0
117
118              
119 ** mcs/tools
120
121         These are licensed under the MIT X11 license, except where the
122         GPL is explicitly used. 
123
124 ** mcs/jay
125
126         This is a port of Berkeley yacc, so it is available under the BSD
127         license.   See the license in the individual C files for details.
128
129 ** mono/man
130
131         Manual pages and Mono documentation are covered by the MIT X11 license. 
132
133 * samples
134
135         The code in the "samples" directory is released under the MIT X11 license.
136
137 * The Licenses
138
139         These are the licenses used in Mono, the files are located:
140
141         GNU GPL: details avaliable in the file mcs/LICENSE.GPL
142         GNU LGPL: details available in the file mcs/LICENSE.LGPL
143         MIT X11: text available in the file mcs/MIT.X11
144         MPL: text available in the file mcs/LICENSE.MPL
145