Fix a very rare hang on sgen.
[mono-project.git] / LICENSE
blobf8b52eb4f7f3c13d6ec88940bc75fd5d83466de6
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.
5 For comments, corrections and updates, please contact mono@xamarin.com
7 * Dual Licensing
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 Novell for when the GPL and the
12         LGPL are not suitable.
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.
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.
22         Contributions for other modules should be under the same license
23         terms as the rest of the module, or under MIT X11 terms. 
25         If you need further information, please contact mono@xamarin.com
27 * The Modules
29 ** mono/mono: the Mono VM
31         This code is dual licensed under the LGPL or commercial licenses. 
33         The LGPL ensures that Mono can be used in most scenarios, but
34         gives Novell the flexibility to relicense the code for
35         embedded systems, static linking or commercial settings where
36         the LGPL can not be used.
38         We consider non-LGPL use instances where you use this on an
39         embedded system where the end user is not able to upgrade the
40         Mono VM or Moonlight installation or distribution that is part
41         of your product (Section 6 and 7), you would have to obtain a
42         commercial license from Novell (consider software burned into
43         a ROM, systems where end users would not be able to upgrade,
44         an embedded console, a game console that imposes limitations
45         on the distribution and access to the code, a phone platform
46         that prevents end users from upgrading Moonlight).
47         
48         Contact mono@xamarin.com for details on obtaining the Mono
49         runtime under other terms.
51 ** mono/eglib: Mono's X11 glib implementation
53         This is a minimal subset of glib that is to be licensed under
54         the terms of the MIT X11, this means that this code can be
55         used for any purposes by anyone.
57 ** mono/metadata/sgen*: Mono's Copying Collector
59         This new garbage collector is licensed under the terms of
60         the MIT X11 license, in hopes that the GC could be reused
61         by third party projects, follows the same spirit than the
62         Boehm GC.
64 ** mono/arch/*/XXX-codegen.h
66         This are C macros that are useful when generating native
67         code on various platforms.   This code is MIT X11 licensed.
69 ** mcs/mcs, mcs/gmcs
71         The C# Compilers (1.0 and 2.0)
73         These compilers are dual licensed under the GPL and MIT X11
74         license terms.
76 ** tests
78         Unless explicitly stated, the tests are under the MIT X11 license.
80 ** mcs/class
82         The class libraries developed by the Mono team are licensed
83         under the MIT X11 terms.
85         In addition to the class libraries developed by the Mono team,
86         there are a number of class libraries that we bundle as part
87         of the distribution that were integrated from third-parties or
88         that contain code that was originally licensed under different
89         terms, these are:
91             ByteFX.Data: LGPL
93             Npgsql: LGPL
95             FirebirdSql.Data.Firebird: Firebird public license.
96                 See: mcs/class/FirebirdSql.Data.Firebird/license.txt
98             ICSharpCode.SharpZipLib, GPL with exceptions.
99                 See: mcs/class/ICSharpCode.SharpZipLib/README
101 ** mcs/class/System.Core/System/TimeZoneInfo.Android.cs
103         This is a port of Apache 2.0-licensed Android code, and thus is
104         licensed under the Apache 2.0 license:
106             http://www.apache.org/licenses/LICENSE-2.0
108              
109 ** mcs/tools
111         These are licensed under the MIT X11 license, except where the
112         GPL is explicitly used. 
114 ** mcs/jay
116         This is a port of Berkeley yacc, so it is available under the BSD
117         license.   See the license in the individual C files for details.
119 ** mono/man
121         Manual pages and Mono documentation are covered by the MIT X11 license. 
123 * samples
125         The code in the "samples" directory is released under the MIT X11 license.
127 * The Licenses
129         These are the licenses used in Mono, the files are located:
131         GNU GPL: details avaliable in the file mcs/LICENSE.GPL
132         GNU LGPL: details available in the file mcs/LICENSE.LGPL
133         MIT X11: text available in the file mcs/MIT.X11
134         MPL: text available in the file mcs/LICENSE.MPL