Added PATENTS.TXT file and link to it
[mono.git] / LICENSE
diff --git a/LICENSE b/LICENSE
index e9655394176bfd6b807e12637877b17526b573f5..d2f61ec93e6d2968e0028f58d2936db42fc7b449 100644 (file)
--- a/LICENSE
+++ b/LICENSE
 
-Mono is made up of many pieces of code, all of them open source, but
-different pieces of Mono use different licensing terms.
+In general, the runtime and its class libraries are licensed under the
+terms of the MIT license, and some third party code is licensed under
+the 3-clause BSD license.  See the file "PATENTS.TXT" for Microsoft's
+patent grant on the Mono codebase.
 
-For comments, corrections and updates, please contact mono@novell.com
+The Mono distribution does include a handful of pieces of code that
+are used during the build system and are covered under different
+licenses, those include:
 
-* Dual Licensing
+Build Time Code
+===============
 
-       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 Novell for when the GPL and the
-       LGPL are not suitable.
+This is code that is used at build time, or during the maintenance of
+Mono itself, and does not end up in the redistributable part of Mono:
 
-       We have tried to pick the licenses that will maximize adoption
-       of Mono, so we tend to use the MIT X11 or LGPL liceses.
+* gettext
 
-       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.
+  m4 source files used to probe features at build time: GPL
 
-       Contributions for other modules should be under the same license
-       terms as the rest of the module, or under MIT X11 terms. 
+* Benchmark Source Files
 
-       If you need further information, please contact mono@novell.com
+  Logic.cs and zipmark.cs are GPL source files.
 
-* The Modules
+* mono/docs/HtmlAgilityPack
 
-** mono/mono: the Mono VM
+  MS-PL licensed
 
-       This code is dual licensed under the LGPL or commercial licenses. 
+* mcs/jay: 4-clause BSD licensed
 
-       The LGPL ensures that Mono can be used in most scenarios, but
-       gives Novell the flexibility to relicense the code for
-       embedded systems, static linking or commercial settings where
-       the LGPL can not be used.
+* mcs/nunit24: MS-PL
 
-       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 Novell (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@novell.com for details on obtaining the Mono
-       runtime under other terms.
+* mcs/class/I18N/mklist.sh, tools/cvt.sh: GNU GPLv2
 
-** mono/eglib: Mono's X11 glib implementation
+Runtime Code
+============
 
-       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.
+The following code is linked with the final Mono runtime, the libmono
+embeddable runtime:
 
-** mono/metadata/sgen*: Mono's Copying Collector
+* support/minizip: BSD license.
 
-       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/utils/memcheck.h: BSD license, used on debug builds that use Valgrind.
 
-** mcs/mcs, mcs/gmcs
+* mono/utils/freebsd-dwarf.h, freebsd-elf_common.h, freebsd-elf64.h freebsd-elf32.h: BSD license.
 
-       The C# Compilers (1.0 and 2.0)
+* mono/utils/bsearch.c: BSD license.
 
-       These compilers are dual licensed under the GPL and MIT X11
-       license terms.
+* mono/io-layer/wapi_glob.h, wapi_glob.c: BSD license
 
-** tests
+Class Library code
+==================
 
-       Unless explicitly stated, the tests are under the MIT X11 license.
+These are class libraries that can be loaded by your process:
 
-** mcs/class
+* mcs/class/RabbitMQ.Client: dual licensed in Apache v2, and Mozilla Public License 1.1
 
-       The class libraries developed by the Mono team are licensed
-       under the MIT X11 terms.
+* mcs/class/Compat.ICSharpCode.SharpZipLib and
+  mcs/class/ICSharpCode.SharpZipLib are GPL with class-path exception.
+  Originates with the SharpDevelop project.
 
-       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:
+* mcs/class/System.Core/System/TimeZoneInfo.Android.cs
 
-           ByteFX.Data: LGPL
+  This is a port of Apache 2.0-licensed Android code, and thus is
+  licensed under the Apache 2.0 license
 
-           Npgsql: LGPL
+           http://www.apache.org/licenses/LICENSE-2.0
 
-           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/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
+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
-
+       InfoZip: text available in the file mcs/LICENSE.INFOZIP.BSD