Commit bbf7500d authored by Timothy Gu's avatar Timothy Gu

LICENSE: Thorough editing

The changes in "Incompatible libraries" section are strictly based on
what our configure script says.
parent 222e6da6
#FFmpeg: # License
Most files in FFmpeg are under the GNU Lesser General Public License version 2.1 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 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+. ...@@ -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: Specifically, the GPL parts of FFmpeg are:
- libpostproc - libpostproc
- optional x86 optimizations in the files - optional x86 optimization in the files
- `libavcodec/x86/flac_dsp_gpl.asm` - `libavcodec/x86/flac_dsp_gpl.asm`
- `libavcodec/x86/idct_mmx.c` - `libavcodec/x86/idct_mmx.c`
- `libavfilter/x86/vf_removegrain.asm` - `libavfilter/x86/vf_removegrain.asm`
- libutvideo encoding/decoding wrappers in - libutvideo encoding/decoding wrappers in `libavcodec/libutvideo*.cpp`
`libavcodec/libutvideo*.cpp`
- the X11 grabber in `libavdevice/x11grab.c` - the X11 grabber in `libavdevice/x11grab.c`
- the swresample test app in - the following building and testing tools
`libswresample/swresample-test.c` - `compat/solaris/make_sunver.pl`
- the `texi2pod.pl` tool - `doc/t2h.pm`
- `doc/texi2pod.pl`
- `libswresample/swresample-test.c`
- `tests/checkasm/*`
- `tests/tiny_ssim.c`
- the following filters in libavfilter: - the following filters in libavfilter:
- `f_ebur128.c` - `f_ebur128.c`
- `vf_blackframe.c` - `vf_blackframe.c`
...@@ -47,9 +50,9 @@ Specifically, the GPL parts of FFmpeg are: ...@@ -47,9 +50,9 @@ Specifically, the GPL parts of FFmpeg are:
- `vf_pp.c` - `vf_pp.c`
- `vf_pp7.c` - `vf_pp7.c`
- `vf_pullup.c` - `vf_pullup.c`
- `vf_repeatfields.c`
- `vf_sab.c` - `vf_sab.c`
- `vf_smartblur.c` - `vf_smartblur.c`
- `vf_repeatfields.c`
- `vf_spp.c` - `vf_spp.c`
- `vf_stereo3d.c` - `vf_stereo3d.c`
- `vf_super2xsai.c` - `vf_super2xsai.c`
...@@ -73,14 +76,12 @@ There are a handful of files under other licensing terms, namely: ...@@ -73,14 +76,12 @@ There are a handful of files under other licensing terms, namely:
* `tests/reference.pnm` is under the expat license. * `tests/reference.pnm` is under the expat license.
external libraries ## External libraries
==================
FFmpeg can be combined with a number of external libraries, which sometimes FFmpeg can be combined with a number of external libraries, which sometimes
affect the licensing of binaries resulting from the combination. affect the licensing of binaries resulting from the combination.
compatible libraries ### Compatible libraries
--------------------
The following libraries are under GPL: The following libraries are under GPL:
- frei0r - frei0r
...@@ -101,14 +102,25 @@ license is incompatible with the LGPL v2.1 and the GPL v2, but not with ...@@ -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 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. license version needs to be upgraded by passing `--enable-version3` to configure.
incompatible libraries ### Incompatible libraries
----------------------
There are certain libraries you can combine with FFmpeg whose licenses are not
The Fraunhofer AAC library and FAAC are under licenses which compatible with the GPL and/or the LGPL. If you wish to enable these
are incompatible with the GPLv2 and v3. We do not know for certain if their libraries, even in circumstances that their license may be incompatible, pass
licenses are compatible with the LGPL. `--enable-nonfree` to configure. But note that if you enable any of these
If you wish to enable these libraries, pass `--enable-nonfree` to configure. libraries the resulting binary will be under a complex license mix that is
But note that if you enable any of these libraries the resulting binary will more restrictive than the LGPL and that may result in additional obligations.
be under a complex license mix that is more restrictive than the LGPL and that It is possible that these restrictions cause the resulting binary to be
may result in additional obligations. It is possible that these unredistributable.
restrictions cause the resulting binary to be unredistributeable.
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.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment