summaryrefslogtreecommitdiff
path: root/LICENSE
blob: 19ed03acc968af23c3286bfdfc912c29babce367 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145

Mono is made up of many pieces of code, all of them open source, but
different pieces of Mono use different licensing terms.

For comments, corrections and updates, please contact mono@xamarin.com

* Dual Licensing

	Parts of Mono are dual licensed, they are available to the
	public in GPL or LGPL forms, but we also offer those pieces
	under commercial terms from Xamarin for the cases wher the GPL
	and the LGPL are not suitable.

	We have tried to pick the licenses that will maximize adoption
	of Mono, so we tend to use the MIT X11 or LGPL liceses.

	Contributions to dual-licensed module require that the author
	contributes the code under the terms of the MIT X11 code, or
	to sign an agreement that allows Novell to redistribute the
	code under other licenses.

	Contributions for other modules should be under the same license
	terms as the rest of the module, or under MIT X11 terms. 

	For the actual license links in the Mono distribution see the
	bottom of this file.

	If you need further information, please contact mono@xamarin.com

* The Modules

** mono/mono: the Mono VM

	This code is dual licensed under the LGPL or commercial licenses. 

	The LGPL ensures that Mono can be used in most scenarios, but
	gives Xamarin the flexibility to relicense the code for
	embedded systems, static linking or commercial settings where
	the LGPL can not be used.

	We consider non-LGPL use instances where you use this on an
	embedded system where the end user is not able to upgrade the
	Mono VM or Moonlight installation or distribution that is part
	of your product (Section 6 and 7), you would have to obtain a
	commercial license from Xamarin (consider software burned into
	a ROM, systems where end users would not be able to upgrade,
	an embedded console, a game console that imposes limitations
	on the distribution and access to the code, a phone platform
	that prevents end users from upgrading Moonlight).
	
	Contact mono@xamarin.com for details on obtaining the Mono
	runtime under other terms.

** mono/support: MonoPosixHelper and support code

	This code is dual licensed under the LGPL or commercial licenses, with
	the same guidelines as mono/mono code.

	The ZLib files are included under a "new BSD"-style license.

** mono/eglib: Mono's X11 glib implementation

	This is a minimal subset of glib that is to be licensed under
	the terms of the MIT X11, this means that this code can be
	used for any purposes by anyone.

** mono/metadata/sgen*: Mono's Copying Collector

	This new garbage collector is licensed under the terms of
	the MIT X11 license, in hopes that the GC could be reused
	by third party projects, follows the same spirit than the
	Boehm GC.

** mono/arch/*/XXX-codegen.h

	This are C macros that are useful when generating native
	code on various platforms.   This code is MIT X11 licensed.

** mcs/mcs, mcs/gmcs

  	The C# Compilers (1.0 and 2.0)

	These compilers are dual licensed under the GPL and MIT X11
	license terms.

** tests

	Unless explicitly stated, the tests are under the MIT X11 license.

** mcs/class

	The class libraries developed by the Mono team are licensed
	under the MIT X11 terms.

	In addition to the class libraries developed by the Mono team,
	there are a number of class libraries that we bundle as part
	of the distribution that were integrated from third-parties or
	that contain code that was originally licensed under different
	terms, these are:

	    ByteFX.Data: LGPL

	    Npgsql: LGPL

	    FirebirdSql.Data.Firebird: Firebird public license.
		See: mcs/class/FirebirdSql.Data.Firebird/license.txt

            ICSharpCode.SharpZipLib, GPL with exceptions.
		See: mcs/class/ICSharpCode.SharpZipLib/README

** mcs/class/System.Core/System/TimeZoneInfo.Android.cs

	This is a port of Apache 2.0-licensed Android code, and thus is
	licensed under the Apache 2.0 license:

	    http://www.apache.org/licenses/LICENSE-2.0

	     
** mcs/tools

	These are licensed under the MIT X11 license, except where the
	GPL is explicitly used. 

** mcs/jay

	This is a port of Berkeley yacc, so it is available under the BSD
	license.   See the license in the individual C files for details.

** mono/man

	Manual pages and Mono documentation are covered by the MIT X11 license. 

* samples

	The code in the "samples" directory is released under the MIT X11 license.

* The Licenses

	These are the licenses used in Mono, the files are located:

        GNU GPL: details avaliable in the file mcs/LICENSE.GPL
        GNU LGPL: details available in the file mcs/LICENSE.LGPL
        MIT X11: text available in the file mcs/MIT.X11
        MPL: text available in the file mcs/LICENSE.MPL