mirror of
https://github.com/mpv-player/mpv
synced 2024-12-25 16:33:02 +00:00
9af491fc80
Even with -Dgpl=false, some files including the documentation, mpv.desktop, and some key binding files are still being built. This means that mpv as a whole might not be LGPL even when the program itself is LGPL. Also the description that mpv is licensed under LGPLv2.1+ "if built with the -Dgpl=false configure switch" is incorrect as it appears to give a license grant as long as the switch is used, regardless if there is a bug in the build system that results in a GPL file being compiled in. Change the description to clarify this.
79 lines
4.0 KiB
Plaintext
79 lines
4.0 KiB
Plaintext
mpv is a fork of mplayer2, which is a fork of MPlayer.
|
|
|
|
mpv as a whole is licensed under the GNU General Public License GPL version 2
|
|
or later (called GPLv2+ in this document, see LICENSE.GPL for full license
|
|
text) by default. The mpv program is licensed the GNU Lesser General Public
|
|
License LGPL version 2 or later (LGPLv2.1+ in this document, see LICENSE.LGPL
|
|
for full license text) if built without using any GPL only files.
|
|
The -Dgpl=false configure switch is provided as a convenience for excluding
|
|
the GPL only files listed below from the build process.
|
|
|
|
However, do note that the build system is provided "as is" and using the
|
|
-Dgpl=false configure switch does not in itself create a LGPLv2.1+ license
|
|
grant.
|
|
|
|
Additionally, some non-program parts, such as the documentation and some config
|
|
files listed below, are still built and licensed under their respective licenses
|
|
even when -Dgpl=false is used. Please consult GPLv2+ and LGPLv2.1+ license texts
|
|
for further details on how to distribute these files.
|
|
|
|
Most source files are LGPLv2.1+ or GPLv2+, but some files are available under
|
|
more liberal licenses, such as BSD, MIT, ISC, and possibly others. Look at the
|
|
copyright header of each source file, and grep the sources for "Copyright" if
|
|
you need to know details. C source files without Copyright notice are usually
|
|
licensed as LGPLv2.1+. Also see the list of files with specific licenses below
|
|
(not all files can have a standard license header).
|
|
|
|
All new contributions must be LGPLv2.1+ licensed. Using a more liberal license
|
|
compatible to LGPLv2.1+ is also ok.
|
|
|
|
Changes done to GPL code must come with the implicit/explicit agreement that the
|
|
project can relicense the changes to LGPLv2.1+ at a later point without asking
|
|
the contributor. This is a safeguard for making potential relicensing of
|
|
remaining GPL code to LGPLv2.1+ easier.
|
|
|
|
See DOCS/contribute.md for binding rules wrt. licensing for contributions.
|
|
|
|
For information about authors and contributors, consult the git log, which
|
|
contains the complete SVN and CVS history as well.
|
|
|
|
mpv can be built as LGPLv2.1+ without using any GPL only files. To add a
|
|
LGPL mode to mpv, MPlayer code had to be relicensed from GPLv2+ to LGPLv2.1+ by
|
|
asking the MPlayer authors for permission. Since permission could not be
|
|
obtained from everyone, LGPL mode disables the following features, some of them
|
|
quite central:
|
|
- Linux X11 video output
|
|
- BSD audio output via OSS
|
|
- NVIDIA/Linux hardware decoding (vdpau, although nvdec usually works)
|
|
- minor features: jack, DVD, CDDA, DVB, CACA, legacy direct3d VO
|
|
Some of these will be fixed in the future. The intended use for LGPL mode is
|
|
with libmpv, and currently it's not recommended to build mpv CLI in LGPL mode
|
|
at all.
|
|
|
|
The following files are still GPL only (-Dgpl=false disables them):
|
|
|
|
audio/out/ao_jack.c will stay GPL
|
|
audio/out/ao_oss.c will stay GPL
|
|
stream/dvb* must stay GPL
|
|
stream/stream_cdda.c unknown
|
|
stream/stream_dvb.* must stay GPL
|
|
stream/stream_dvdnav.c unknown
|
|
video/out/vo_caca.c unknown
|
|
video/out/vo_direct3d.c unknown
|
|
video/out/vo_vaapi.c probably impossible (some company's code)
|
|
video/out/vo_vdpau.c probably impossible (nVidia's code)
|
|
video/out/vo_x11.c probably impossible
|
|
video/out/vo_xv.c probably impossible
|
|
video/out/x11_common.* probably impossible
|
|
video/vdpau.c hard (GPL-only parts must be ifdefed)
|
|
video/vdpau.h unknown
|
|
video/vdpau_mixer.* actual code must be rewritten
|
|
DOCS/man/ GPLv2+
|
|
etc/mplayer-input.conf unknown license, probably GPLv2+
|
|
etc/mpv.desktop unknown license, probably GPLv2+
|
|
etc/restore-old-bindings.conf unknown license, probably GPLv2+
|
|
|
|
None of the cases listed above affect the final binary if it's built as
|
|
LGPL. Linked libraries still can affect the final license (for example if
|
|
FFmpeg was built as GPL).
|