aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2016-01-24 09:17:36 -0800
committerTimothy Gu <timothygu99@gmail.com>2016-02-28 08:19:44 -0800
commitbbf7500df99c52e5cecfbe32fbd0b682b6b28fac (patch)
treeb78697a207e77b03a9528ad018fc94500f64d2ae
parent222e6da605eadd9afa386f0a6c3142b16e16cf74 (diff)
downloadffmpeg-bbf7500df99c52e5cecfbe32fbd0b682b6b28fac.tar.gz
LICENSE: Thorough editing
The changes in "Incompatible libraries" section are strictly based on what our configure script says.
-rw-r--r--LICENSE.md64
1 files changed, 38 insertions, 26 deletions
diff --git a/LICENSE.md b/LICENSE.md
index 0c53d0f5a9..a70f48625c 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,4 +1,4 @@
-#FFmpeg:
+# License
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1
or later (LGPL v2.1+). Read the file `COPYING.LGPLv2.1` for details. Some other
@@ -13,16 +13,19 @@ configure to activate them. In this case, FFmpeg's license changes to GPL v2+.
Specifically, the GPL parts of FFmpeg are:
- libpostproc
-- optional x86 optimizations in the files
- - `libavcodec/x86/flac_dsp_gpl.asm`
- - `libavcodec/x86/idct_mmx.c`
- - `libavfilter/x86/vf_removegrain.asm`
-- libutvideo encoding/decoding wrappers in
- `libavcodec/libutvideo*.cpp`
+- optional x86 optimization in the files
+ - `libavcodec/x86/flac_dsp_gpl.asm`
+ - `libavcodec/x86/idct_mmx.c`
+ - `libavfilter/x86/vf_removegrain.asm`
+- libutvideo encoding/decoding wrappers in `libavcodec/libutvideo*.cpp`
- the X11 grabber in `libavdevice/x11grab.c`
-- the swresample test app in
- `libswresample/swresample-test.c`
-- the `texi2pod.pl` tool
+- the following building and testing tools
+ - `compat/solaris/make_sunver.pl`
+ - `doc/t2h.pm`
+ - `doc/texi2pod.pl`
+ - `libswresample/swresample-test.c`
+ - `tests/checkasm/*`
+ - `tests/tiny_ssim.c`
- the following filters in libavfilter:
- `f_ebur128.c`
- `vf_blackframe.c`
@@ -47,9 +50,9 @@ Specifically, the GPL parts of FFmpeg are:
- `vf_pp.c`
- `vf_pp7.c`
- `vf_pullup.c`
+ - `vf_repeatfields.c`
- `vf_sab.c`
- `vf_smartblur.c`
- - `vf_repeatfields.c`
- `vf_spp.c`
- `vf_stereo3d.c`
- `vf_super2xsai.c`
@@ -73,14 +76,12 @@ There are a handful of files under other licensing terms, namely:
* `tests/reference.pnm` is under the expat license.
-external libraries
-==================
+## External libraries
FFmpeg can be combined with a number of external libraries, which sometimes
affect the licensing of binaries resulting from the combination.
-compatible libraries
---------------------
+### Compatible libraries
The following libraries are under GPL:
- frei0r
@@ -101,14 +102,25 @@ license is incompatible with the LGPL v2.1 and the GPL v2, but not with
version 3 of those licenses. So to combine these libraries with FFmpeg, the
license version needs to be upgraded by passing `--enable-version3` to configure.
-incompatible libraries
-----------------------
-
-The Fraunhofer AAC library and FAAC are under licenses which
-are incompatible with the GPLv2 and v3. We do not know for certain if their
-licenses are compatible with the LGPL.
-If you wish to enable these libraries, pass `--enable-nonfree` to configure.
-But note that if you enable any of these libraries the resulting binary will
-be under a complex license mix that is more restrictive than the LGPL and that
-may result in additional obligations. It is possible that these
-restrictions cause the resulting binary to be unredistributeable.
+### Incompatible libraries
+
+There are certain libraries you can combine with FFmpeg whose licenses are not
+compatible with the GPL and/or the LGPL. If you wish to enable these
+libraries, even in circumstances that their license may be incompatible, pass
+`--enable-nonfree` to configure. But note that if you enable any of these
+libraries the resulting binary will be under a complex license mix that is
+more restrictive than the LGPL and that may result in additional obligations.
+It is possible that these restrictions cause the resulting binary to be
+unredistributable.
+
+The Fraunhofer FDK AAC and OpenSSL libraries are under licenses which are
+incompatible with the GPLv2 and v3. To the best of our knowledge, they are
+compatible with the LGPL.
+
+The FAAC library is incompatible with all versions of GPL and LGPL.
+
+The NVENC library, while its header file is licensed under the compatible MIT
+license, requires a proprietary binary blob at run time, and is deemed to be
+incompatible with the GPL. We are not certain if it is compatible with the
+LGPL, but we require `--enable-nonfree` even with LGPL configurations in case
+it is not.