2012-10-11 00:04:08 +00:00
|
|
|
mpv is a fork of mplayer2, which is a fork of MPlayer.
|
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
mpv as a whole is licensed as GPL version 2 or later (see LICENSE). Most source
|
|
|
|
files are GPLv2+, but some files are available under a more liberal license,
|
2015-07-24 21:53:31 +00:00
|
|
|
such as LGPLv2.1+, BSD, MIT, ISC, and possibly others. Look at the copyright
|
2013-10-12 23:18:50 +00:00
|
|
|
header of each source file, and grep the sources for "Copyright" if you need
|
2017-02-16 10:43:02 +00:00
|
|
|
to know details. C source files without Copyright notice are licensed as
|
|
|
|
LGPLv2.1+. Also see the list of files with specific licenses below (not all
|
|
|
|
files can have a standard license header).
|
2015-07-24 21:53:31 +00:00
|
|
|
|
|
|
|
All new contributions must be LGPLv2.1+ licensed, or if the changes are done on
|
|
|
|
GPL code, must come with the implicit agreement that the project can relicense
|
|
|
|
the code to LGPLv2.1+ at a later point without asking the contributor. (This
|
|
|
|
is a safeguard for making potential relicensing of the project to LGPLv2.1+
|
2015-07-26 18:23:41 +00:00
|
|
|
easier.) Using a more liberal license compatible to LGPLv2.1+ is also ok.
|
2003-12-09 08:35:55 +00:00
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
For information about authors and contributors, consult the git log, which
|
|
|
|
contains the complete SVN and CVS history as well.
|
2010-01-04 13:01:44 +00:00
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
Note that mplayer2 as a whole is licensed under GPLv3+. This is because it uses
|
|
|
|
a copy of talloc (part of Samba), which is LGPLv3+, and the next compatible
|
|
|
|
license for this mix is GPLv3+.
|
2003-12-09 08:35:55 +00:00
|
|
|
|
2013-10-12 23:18:50 +00:00
|
|
|
MPlayer as a whole is licensed under GPLv2 (incompatible to GPLv3!), because
|
|
|
|
some files are licensed to GPLv2 (and _not_ any later version of the license).
|
|
|
|
In particular, this affects the file libmpdemux/demux_ty_osd.c. It is disabled
|
|
|
|
under mplayer2, and has been removed from mpv.
|
2015-07-24 21:53:31 +00:00
|
|
|
|
|
|
|
"v2.1+" in this context means "version 2.1 or later".
|
2017-02-16 10:43:02 +00:00
|
|
|
|
2017-05-11 06:12:14 +00:00
|
|
|
Some libraries are GPLv2+ or GPLv3+ only. Building mpv with Samba support makes
|
|
|
|
it GPLv3+.
|
|
|
|
|
2017-02-16 10:43:02 +00:00
|
|
|
Source files with specific licenses:
|
2017-06-17 13:08:46 +00:00
|
|
|
- etc/input.conf is LGPLv2.1+ (possible exception with I key binding)
|
|
|
|
- etc/builtin.conf is LGPLv2.1+
|
|
|
|
- etc/encoding-profiles.conf is LGPLv2.1+
|
|
|
|
- everything else under etc/ is unknown
|
2017-02-16 10:43:02 +00:00
|
|
|
- everything under DOCS/man/ is GPLv2+
|
2017-04-21 11:37:33 +00:00
|
|
|
- sub/osd_font.otf is LGPLv2.1+
|
2017-02-16 10:43:02 +00:00
|
|
|
- some tests under waftools/fragments/ might be GPLv2+
|
2017-06-17 12:25:40 +00:00
|
|
|
- version.sh is LGPLv2+
|
2017-05-05 04:53:23 +00:00
|
|
|
|
|
|
|
Some files are marked with "Almost LGPL." These files are GPL, but all authors
|
|
|
|
have agreed to relicense them to LGPL. the problem is that one of the authors is
|
|
|
|
Michael Niedermayer, who cited the following conditions for relicensing:
|
|
|
|
|
|
|
|
http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2016-September/073535.html
|
|
|
|
|
|
|
|
We assume the first 3 conditions are fulfilled. The last condition can be
|
|
|
|
interpreted as that his code can be changed to LGPL only as soon as the "core"
|
|
|
|
of mpv changes to LGPL. We interpret "core" as something minimal, that can
|
|
|
|
actually be built and run, with all GPL code disabled.
|
2017-05-05 06:38:30 +00:00
|
|
|
|
2017-05-11 15:02:43 +00:00
|
|
|
Some files are LGPLv3+. This is due to the contributions of a single developer
|
|
|
|
going by the SVN username "iive". The chosen license of this project is
|
|
|
|
LGPLv2.1+. The affected files will be changed to LGPLv2.1+ at the earliest
|
|
|
|
opportunity, for example if his contributions disappear by being replaced
|
|
|
|
or removed. All new contributions to these files are implied to be LGPLv2.1+.
|
|
|
|
|
2017-06-17 11:58:23 +00:00
|
|
|
LGPL relicensing status. Files which require some sort of action to get a basic
|
|
|
|
LGPL player core (relicensing, replacement, or partial/full rewrites) are marked
|
|
|
|
with an "x".
|
2017-05-05 06:38:30 +00:00
|
|
|
|
|
|
|
audio/decode/ad.h LGPL
|
dec_audio, ad_lavc: change license to LGPL
All relevant authors of the current code have agreed.
As always, there are the usual historical artifacts that could be
mentioned. For example, there used to be a large number of decoders
by various authors who were not asked, but whose code was all 100%
removed. (Mostly due to FFmpeg providing all codecs.)
One point of contention is that Nick Kurshev might have refactored the
old audio decoder code in 2001. Basically, there are hints that it might
have been done by him, such as Arpi's commit message stating that the
code was imported from MPlayerXP (Nick's fork), or all the files having
his name in the "maintainer" field. On the other hand, the murky history
of ad.h weakens this - it could be that Arpi started this work, and Nick
took it (and possibly finished it).
In any case, Nick could not be reached, so there is no agreement for
LGPL relicensing from him. We're changing the license anyway, and assume
that his change in itself is not copyrightable. He only moved code, and
in addition used the equivalent video decoder framework (done by Arpi,
who agreed) as template. For example, ad_functions_s was basically
vd_functions_s, which the signature of the decode callback changed to
the same as audio_decode(). ad_functions_s also had a comment that said
it interfaces with "video decoder drivers" (I'm fixing this comment in
this commit).
I verified that no additional code was added that is copyright-relevant,
still in today's code, and not copied from the existing code at the time
(either from the previous audio decoder code or the video framework
code). What apparently matters here is that none of the old code was not
written by Nick, and the authors of the old code have given his
agreement, and (probably) that Nick didn't add actual new code (none
that would have survived), that was not trivially based on the old one
(i.e. no new copyrightable "work").
A copyright expert told me that this kind of change can be considered
not relevant for copyright, so here we go.
Rewriting this would end with the same code anyway, and the naming
conventions can't be copyrighted.
2017-06-14 14:20:56 +00:00
|
|
|
audio/decode/ad_lavc.c LGPL
|
2017-05-21 10:35:53 +00:00
|
|
|
audio/decode/ad_spdif.c LGPL
|
dec_audio, ad_lavc: change license to LGPL
All relevant authors of the current code have agreed.
As always, there are the usual historical artifacts that could be
mentioned. For example, there used to be a large number of decoders
by various authors who were not asked, but whose code was all 100%
removed. (Mostly due to FFmpeg providing all codecs.)
One point of contention is that Nick Kurshev might have refactored the
old audio decoder code in 2001. Basically, there are hints that it might
have been done by him, such as Arpi's commit message stating that the
code was imported from MPlayerXP (Nick's fork), or all the files having
his name in the "maintainer" field. On the other hand, the murky history
of ad.h weakens this - it could be that Arpi started this work, and Nick
took it (and possibly finished it).
In any case, Nick could not be reached, so there is no agreement for
LGPL relicensing from him. We're changing the license anyway, and assume
that his change in itself is not copyrightable. He only moved code, and
in addition used the equivalent video decoder framework (done by Arpi,
who agreed) as template. For example, ad_functions_s was basically
vd_functions_s, which the signature of the decode callback changed to
the same as audio_decode(). ad_functions_s also had a comment that said
it interfaces with "video decoder drivers" (I'm fixing this comment in
this commit).
I verified that no additional code was added that is copyright-relevant,
still in today's code, and not copied from the existing code at the time
(either from the previous audio decoder code or the video framework
code). What apparently matters here is that none of the old code was not
written by Nick, and the authors of the old code have given his
agreement, and (probably) that Nick didn't add actual new code (none
that would have survived), that was not trivially based on the old one
(i.e. no new copyrightable "work").
A copyright expert told me that this kind of change can be considered
not relevant for copyright, so here we go.
Rewriting this would end with the same code anyway, and the naming
conventions can't be copyrighted.
2017-06-14 14:20:56 +00:00
|
|
|
audio/decode/dec_audio.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x audio/filter/af.* must be killed (main author disagreed)
|
|
|
|
(required for LGPL core: a new filter chain must be written)
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/filter/af_channel.c must be killed (main author disagreed)
|
|
|
|
audio/filter/af_equalizer.c must be killed (main author disagreed)
|
|
|
|
audio/filter/af_pan.c must be killed (main author disagreed)
|
|
|
|
audio/filter/af_volume.c must be killed (main author disagreed)
|
|
|
|
audio/filter/equalizer.h must be killed (main author disagreed)
|
|
|
|
audio/filter/tools.c must be killed (main author disagreed)
|
af_format: change license to LGPL
This case is a bit weird, because MPlayer certainly also has a file
named af_format.c. Both appear to have the function of converting audio
data between sample formats.
However, mpv's af_format.c is a rewrite, and doesn't actually do
conversion by itself. It's similar to vf_format.c, and forces the
generic filter chain code to insert conversion filters, instead of doing
conversion explicitly.
mpv's current af_format.c started out as af_force.c in d9582ad0a41. It
was renamed to af_format.c in e60b8f181d, while the old af_format.c was
split into two new filters. In 943c785619 the filename was changed to
af_format.c as well.
The new af_format.c does not contain any libaf code, except for some
potentially copy & pasted skeleton and boilerplate code. (We don't
account for this in per-filter file licenses, as the old libaf code
has to be removed fully, at which point the filters will have to be
ported to another framework, which will removed that boilerplate code.)
The old filters based on af_format.c were progressively replaced and
removed. Support for non-native endian and formats with signedness
different from native FFmpeg was completely removed in 831d7c3c400b.
The old 24 bit conversion code was removed in 552dc0d564 (made
unnecessary by 5a9f817bfde8).
Also list hwdec_vaglx.c as GPL-only, which doesn't have anything to do
with this commit.
2017-05-11 09:00:15 +00:00
|
|
|
audio/filter/af_format.c LGPL
|
2017-05-09 10:46:40 +00:00
|
|
|
audio/filter/af_lavc3enc.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/filter/af_lavfi.c LGPL
|
2017-05-09 10:53:28 +00:00
|
|
|
audio/filter/af_scaletempo.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/filter/af_rubberband.c LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/ao.c LGPL
|
|
|
|
audio/out/ao.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/out/ao_alsa.c extremely hard (original author did not decide)
|
2017-05-08 11:57:40 +00:00
|
|
|
audio/out/ao_audiounit.m LGPL
|
|
|
|
audio/out/ao_coreaudio.c LGPL
|
|
|
|
audio/out/ao_coreaudio_chmap.c LGPL
|
|
|
|
audio/out/ao_coreaudio_chmap.h LGPL
|
|
|
|
audio/out/ao_coreaudio_exclusiv LGPL
|
|
|
|
audio/out/ao_coreaudio_properti LGPL
|
|
|
|
audio/out/ao_coreaudio_properti LGPL
|
|
|
|
audio/out/ao_coreaudio_utils.c LGPL
|
|
|
|
audio/out/ao_coreaudio_utils.h LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/ao_jack.c will stay GPL
|
2017-06-13 18:22:15 +00:00
|
|
|
audio/out/ao_lavc.c LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/ao_null.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/out/ao_openal.c unknown
|
|
|
|
audio/out/ao_opensles.c LGPL
|
|
|
|
audio/out/ao_oss.c will stay GPL
|
2017-05-20 10:41:33 +00:00
|
|
|
audio/out/ao_pcm.c LGPL
|
2017-05-08 12:09:49 +00:00
|
|
|
audio/out/ao_pulse.c LGPL
|
|
|
|
audio/out/ao_rsound.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/out/ao_sdl.c LGPL
|
|
|
|
audio/out/ao_sndio.c LGPL (BSD)
|
|
|
|
audio/out/ao_wasapi.c LGPL
|
|
|
|
audio/out/ao_wasapi_changenotif LGPL
|
|
|
|
audio/out/ao_wasapi.h LGPL
|
|
|
|
audio/out/ao_wasapi_utils.c LGPL
|
audio/out: change license of some core files to LGPL
All contributors of the current code have agreed. ao.c requires a
"driver" entry for each audio output - we assume that if someone who
didn't agree to LGPL added a line, it's fine for ao.c to be LGPL
anyway. If the affected audio output is not disabled at compilation
time, the resulting binary will be GPL anyway, and ootherwise the
code is not included.
The audio output code itself was inspired or partially copied from
libao in 7a2eec4b59f4 (thus why MPlayer's audio code is named libao2).
Just to be sure we got permission from Aaron Holtzman, Jack Moffitt, and
Stan Seibert, who according to libao's SVN history and README are the
initial author. (Something similar was done for libvo, although the
commit relicensing it forgot to mention it.)
242aa6ebd40: anders mostly disagreed with the LGPL relicensing, but we
got permission for this particular commit.
0ef8e555735: nick could not be reached, but the include statement was
removed again anyway.
879e05a7c17: iive agreed to LGPL v3+ only, but this line of code was
removed anyway, so ao_null.c can be LGPL v2.1+.
9dd8f241ac2: patch author could not be reached, but the corresponding
code (old slave mode interface) was completely removed later.
2017-05-20 09:35:25 +00:00
|
|
|
audio/out/internal.h LGPL
|
|
|
|
audio/out/pull.c LGPL
|
|
|
|
audio/out/push.c LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x audio/audio.* very hard (mp_audio based of anders' af_audio)
|
|
|
|
(required for LGPL core: determine if the struct can be used anyway, or
|
|
|
|
devise a cheap AVFrame wrapper)
|
2017-05-05 06:38:30 +00:00
|
|
|
audio/audio_buffer.* LGPL
|
|
|
|
audio/chmap.* LGPL
|
|
|
|
audio/chmap_sel.* LGPL
|
|
|
|
audio/fmt-conversion.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x audio/format.* hard (murky libaf origins)
|
2017-05-05 06:38:30 +00:00
|
|
|
common/av_common.* LGPL
|
|
|
|
common/av_log.c almost LGPL
|
|
|
|
common/av_log.h LGPL
|
|
|
|
common/codecs.* LGPL
|
|
|
|
common/common.* LGPL
|
2017-06-13 18:22:15 +00:00
|
|
|
common/encode.h LGPL
|
|
|
|
common/encode_lavc.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
common/global.h LGPL
|
|
|
|
common/msg.c almost LGPL
|
|
|
|
common/msg_control.h LGPL
|
|
|
|
common/msg.h LGPL
|
|
|
|
common/playlist.* LGPL
|
|
|
|
common/recorder.* LGPL
|
|
|
|
common/tags.* LGPL
|
|
|
|
common/version.c LGPL
|
|
|
|
demux/codec_tags.* LGPL
|
|
|
|
demux/cue.* LGPL
|
demux: change license to LGPL
As usual, the history of these files is a bit murky. It starts with the
initial commit. (At which some development had already been done,
according to the AUTHORS and ChangeLog files at the time, we should be
but covered with relicensing agreements, though.) then it goes on with
complete lack of modularization, which was cleaned up later (cd68e161).
As usual, we don't consider the copyright of the stuff that has been
moved out cleanly.
There were also contributions to generic code by people who could not be
reached or who did not agree to the relicensing, but this was all
removed.
The only patches that we could not relicense and which were still in the
current code in some form are from Dénes Balatoni: 422b0d2a, 32937181.
We could not reach him, so commits f34e1a0d and 18905298 remove his
additions. It still leaves the demux_control() declaration itself, but
we don't consider it copyrightable. It's basically an idiom that existed
in MPlayer before that change, applied to the demuxer struct. (We even
went as far as making sure to remove all DEMUXER_CTRLs the original
author added.)
Commit be54f481 might be a bit of a corner case, but this was rewritten,
and we consider the old copyright removed long ago.
2017-06-20 12:09:46 +00:00
|
|
|
demux/demux.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
demux/demux_cue.c LGPL
|
|
|
|
demux/demux_disc.c LGPL
|
|
|
|
demux/demux_edl.c LGPL
|
demux_lavf: change license to LGPL (almost)
Since this demuxer is based on code by michael, this file can become
LGPL only once the mpv core becomes LGPL, and this is preparation for
it.
There were quite a lot of changes for rearranging preferred libavformat
vs. internal MPlayer demuxers, codec mappings, and filename extensions,
but all this got removed, so some of the relevant authors weren't asked.
cehoyos, who disagreed with LGPL, made a few changes in the past (mostly
codec mapping and deinterlacing related things), but all of them were
removed, mostly due to libavformat API cleanups.
adland, who could not be reached, did commit 057916ee65, but it's easy
to essentially revert the change (this is what the source changes in
this commit do), so we don't need to think about it.
Chris Welton, who could not be reached, made a simple change in commit
958c41d9b69. Fortunately, the API changed again, and his changes were
removed, so we don't need to think about this either.
There is an anonymous contribution in commit 085f35f4b48 - since this
did not introduce any original code, and the probe code was heavily
rewritten multiple times, I don't consider it relevant.
2017-06-16 13:47:54 +00:00
|
|
|
demux/demux_lavf.c almost LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
demux/demux_libarchive.c LGPL
|
|
|
|
demux/demux_mf.c hard
|
|
|
|
demux/demux_mkv.c LGPL (mostly)
|
|
|
|
demux/demux_mkv_timeline.c LGPL
|
|
|
|
demux/demux_null.c LGPL
|
|
|
|
demux/demux_playlist.c LGPL
|
|
|
|
demux/demux_rar.c LGPL
|
|
|
|
demux/demux_raw.c unknown
|
|
|
|
demux/demux_timeline.c LGPL
|
|
|
|
demux/demux_tv.c will stay GPL
|
|
|
|
demux/ebml.* LGPL
|
|
|
|
demux/matroska.h LGPL
|
|
|
|
demux/packet.* LGPL
|
demux/stheader: change license to LGPL
All authors of the current code have agreed.
For most of its life, MPlayer used Microsoft structs like WAVEFORMATEX
to describe media content. It appears these were copied from wine in
61c5a99851e. Copyright is unclear, but mpv completely removed use of
these structs anyway. (demux_mkv.c still contains code to read these
fields from a byte stream, but the struct is fully gone.)
42f97b2b820: cehoyos (who probably didn't agree with LGPL) applied a
patch by someone who agreed. It's unknown whether cehoyos modified the
patch (and thus his copyright would apply), but the changed code was
removed anyway. (The code was first moved somewhere else, then removed.)
efd53eed614: the patch author was not asked. Although the mkv_sh_sub_t
struct was later moved to stheader.h, the added field was removed
without replacement.
f6878753fbd: nick, who could not be reached, added an include guard, but
the guard was changed several times later, and it's probably not
copyrightable anyway.
afb0fd5ea17: the same nick adds a field that was later replaced and
finally removed again in 8cd6b20571.
2017-05-10 11:15:29 +00:00
|
|
|
demux/stheader.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
demux/timeline.* LGPL
|
input: change license to LGPL
cehoyos adds the step_property command in 7a71da01d, and it could be
argued that copyright of this still applies to the later add/cycle
commands (a668ae0ff90c4). While I'm not sure if this is really the case,
stay conservative for now and mark these commands as GPL-only. Mark the
command.c code too, although that is not being relicensed yet.
I'm leaving the MP_CMD_* enum items, as they are obviously different.
In commit 116ca0c7682, "veal" (essentially an anonymous author) adds an
"osd_show_property_text" command (well, the commit message says "based
on" that person's code, so it's not clear how much is from him or from
albeu, who agreed to LGPL). This was later merged again with the
"osd_show_text" command, and then all original code was removed in
commit 58cc0f637f, so I claim that no copyright applies anymore. (Though
technically the input.conf addition still might be copyrighted, so I'm
just dropping it to get rid of the thought.)
"kiriuja" added 2f376d1b39 (sub_load etc.) and be54f4813 (switch_audio).
The latter is gone. I would argue that the former is fully rewritten
with commits b7052b431c9 and 0f155921b0. But like in the step_property
case, I will be overly conservative for now, and mark them as GPL-only,
as this is potentially shaky and should be thought through first. (Not
bothering with the command define/enum in the header, as it will be
unused in LGPL mode anyway.)
keycodes.c/h can be GPL, except for commit 2b1f95dcc2f8, which is a
patch by someone who wasn't asked yet. Before doing something radical, I
will wait for a reply.
2017-06-19 11:02:35 +00:00
|
|
|
input/cmd_* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
input/event.* LGPL
|
input: change license to LGPL
cehoyos adds the step_property command in 7a71da01d, and it could be
argued that copyright of this still applies to the later add/cycle
commands (a668ae0ff90c4). While I'm not sure if this is really the case,
stay conservative for now and mark these commands as GPL-only. Mark the
command.c code too, although that is not being relicensed yet.
I'm leaving the MP_CMD_* enum items, as they are obviously different.
In commit 116ca0c7682, "veal" (essentially an anonymous author) adds an
"osd_show_property_text" command (well, the commit message says "based
on" that person's code, so it's not clear how much is from him or from
albeu, who agreed to LGPL). This was later merged again with the
"osd_show_text" command, and then all original code was removed in
commit 58cc0f637f, so I claim that no copyright applies anymore. (Though
technically the input.conf addition still might be copyrighted, so I'm
just dropping it to get rid of the thought.)
"kiriuja" added 2f376d1b39 (sub_load etc.) and be54f4813 (switch_audio).
The latter is gone. I would argue that the former is fully rewritten
with commits b7052b431c9 and 0f155921b0. But like in the step_property
case, I will be overly conservative for now, and mark them as GPL-only,
as this is potentially shaky and should be thought through first. (Not
bothering with the command define/enum in the header, as it will be
unused in LGPL mode anyway.)
keycodes.c/h can be GPL, except for commit 2b1f95dcc2f8, which is a
patch by someone who wasn't asked yet. Before doing something radical, I
will wait for a reply.
2017-06-19 11:02:35 +00:00
|
|
|
input/input.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
input/ipc.c LGPL
|
|
|
|
input/ipc-unix.c LGPL
|
|
|
|
input/ipc-win.c LGPL
|
input: change license to LGPL
cehoyos adds the step_property command in 7a71da01d, and it could be
argued that copyright of this still applies to the later add/cycle
commands (a668ae0ff90c4). While I'm not sure if this is really the case,
stay conservative for now and mark these commands as GPL-only. Mark the
command.c code too, although that is not being relicensed yet.
I'm leaving the MP_CMD_* enum items, as they are obviously different.
In commit 116ca0c7682, "veal" (essentially an anonymous author) adds an
"osd_show_property_text" command (well, the commit message says "based
on" that person's code, so it's not clear how much is from him or from
albeu, who agreed to LGPL). This was later merged again with the
"osd_show_text" command, and then all original code was removed in
commit 58cc0f637f, so I claim that no copyright applies anymore. (Though
technically the input.conf addition still might be copyrighted, so I'm
just dropping it to get rid of the thought.)
"kiriuja" added 2f376d1b39 (sub_load etc.) and be54f4813 (switch_audio).
The latter is gone. I would argue that the former is fully rewritten
with commits b7052b431c9 and 0f155921b0. But like in the step_property
case, I will be overly conservative for now, and mark them as GPL-only,
as this is potentially shaky and should be thought through first. (Not
bothering with the command define/enum in the header, as it will be
unused in LGPL mode anyway.)
keycodes.c/h can be GPL, except for commit 2b1f95dcc2f8, which is a
patch by someone who wasn't asked yet. Before doing something radical, I
will wait for a reply.
2017-06-19 11:02:35 +00:00
|
|
|
x input/keycodes.* (pending)
|
2017-05-05 06:38:30 +00:00
|
|
|
input/pipe-win32.c LGPL
|
|
|
|
libmpv/*.* LGPL
|
|
|
|
misc/*.* LGPL
|
options: change license of most files to LGPL (except options.c/.h)
All authors of the current code have agreed (as far as this commit
requires).
options.c/options.h will take more effort, because it contains all the
option declarations, and thus is touched extremely often.
m_option.c is technically still GPL, because of commit 2c82d5a1d85378dd0
(michael has agreed to LGPL, but only once the core of mpv is LGPL).
The geometry parsing code in m_option.c was originally by someone who
could not be reached. However, it was heavily rewritten anyway, and only
the syntax remains (i.e. not copyright-relevant).
parse_commandline.c contains a change by "adland" (commit 1d0ac71ae8ba),
who could not be reached - this this specific part is GPL only.
Fortunately, it matters only for DVD (and even then is more like a hack,
but whatever).
There are some other relevant changes, but they have all been reverted,
moved somewhere else, deleted, or replaced.
2017-06-12 18:55:17 +00:00
|
|
|
options/m_config.* LGPL
|
|
|
|
options/m_option.c almost LGPL
|
|
|
|
options/m_option.h LGPL
|
2017-06-12 15:00:20 +00:00
|
|
|
options/m_property.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x options/options.* very hard (lots of options and history)
|
options: change license of most files to LGPL (except options.c/.h)
All authors of the current code have agreed (as far as this commit
requires).
options.c/options.h will take more effort, because it contains all the
option declarations, and thus is touched extremely often.
m_option.c is technically still GPL, because of commit 2c82d5a1d85378dd0
(michael has agreed to LGPL, but only once the core of mpv is LGPL).
The geometry parsing code in m_option.c was originally by someone who
could not be reached. However, it was heavily rewritten anyway, and only
the syntax remains (i.e. not copyright-relevant).
parse_commandline.c contains a change by "adland" (commit 1d0ac71ae8ba),
who could not be reached - this this specific part is GPL only.
Fortunately, it matters only for DVD (and even then is more like a hack,
but whatever).
There are some other relevant changes, but they have all been reverted,
moved somewhere else, deleted, or replaced.
2017-06-12 18:55:17 +00:00
|
|
|
options/parse_commandline.* LGPL
|
|
|
|
options/parse_configfile.* LGPL
|
2017-06-12 14:41:21 +00:00
|
|
|
options/path.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/android/* LGPL (BSD)
|
|
|
|
osdep/ar/* LGPL (BSD)
|
|
|
|
osdep/atomic.h LGPL
|
2017-05-08 11:11:46 +00:00
|
|
|
osdep/compiler.h LGPL
|
2017-05-08 11:18:17 +00:00
|
|
|
osdep/endian.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/glob-win.c LGPL
|
|
|
|
osdep/io.* LGPL
|
|
|
|
osdep/macosx_application.h unknown
|
|
|
|
osdep/macosx_application.m unknown
|
|
|
|
osdep/macosx_application_objc.h unknown
|
|
|
|
osdep/macosx_compat.h unknown
|
|
|
|
osdep/macosx_events.* unknown
|
|
|
|
osdep/macosx_events_objc.h unknown
|
|
|
|
osdep/macosx_touchbar.* unknown
|
|
|
|
osdep/macosx_versions.h unknown
|
|
|
|
osdep/main-fn-cocoa.c LGPL
|
|
|
|
osdep/main-fn.h LGPL
|
|
|
|
osdep/main-fn-unix.c LGPL
|
|
|
|
osdep/main-fn-win.c LGPL
|
2017-06-12 15:06:03 +00:00
|
|
|
osdep/mpv.exe.manifest LGPL
|
|
|
|
osdep/mpv.rc LGPL
|
2017-06-12 14:41:21 +00:00
|
|
|
osdep/path.h LGPL
|
|
|
|
osdep/path-macosx.m LGPL
|
|
|
|
osdep/path-unix.c LGPL
|
|
|
|
osdep/path-win.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/semaphore.h LGPL
|
|
|
|
osdep/semaphore_osx.c LGPL
|
|
|
|
osdep/strnlen.h LGPL
|
|
|
|
osdep/subprocess.* LGPL
|
|
|
|
osdep/subprocess-posix.c LGPL
|
|
|
|
osdep/subprocess-win.c LGPL
|
2017-06-14 12:28:05 +00:00
|
|
|
osdep/terminal.h LGPL
|
|
|
|
osdep/terminal-unix.c LGPL
|
|
|
|
osdep/terminal-win.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/threads.* LGPL
|
|
|
|
osdep/timer.c LGPL
|
2017-05-05 10:34:56 +00:00
|
|
|
osdep/timer.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/timer-darwin.c LGPL (MIT)
|
2017-05-05 10:34:56 +00:00
|
|
|
osdep/timer-linux.c LGPL
|
|
|
|
osdep/timer-win2.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
osdep/w32_keyboard.c unknown
|
|
|
|
osdep/w32_keyboard.h unknown
|
|
|
|
osdep/win32-console-wrapper.c LGPL (BSD)
|
|
|
|
osdep/win32/* LGPL (ISC)
|
|
|
|
osdep/windows_utils.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/audio.c extremely hard (complex history, libaf ties)
|
2017-05-05 06:38:30 +00:00
|
|
|
player/client.* LGPL (ISC)
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/command.c extremely hard (also some GPL-only things)
|
|
|
|
x player/command.h hard
|
|
|
|
x player/configfiles.c unknown
|
|
|
|
x player/core.h extremely hard
|
2017-06-20 11:09:28 +00:00
|
|
|
player/external_files.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
player/lavfi.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/loadfile.c extremely hard
|
2017-05-05 06:38:30 +00:00
|
|
|
player/lua/*.* LGPL
|
|
|
|
player/lua.c LGPL
|
|
|
|
player/misc.c LGPL
|
|
|
|
player/osd.c hard
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/playloop.c extremely hard
|
2017-05-05 06:38:30 +00:00
|
|
|
player/screenshot.* LGPL
|
|
|
|
player/scripting.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
x player/sub.c easy (probably almost no mplayer code)
|
|
|
|
x player/video.c extremely hard
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/ai_* will stay GPL (TV code)
|
|
|
|
stream/audio_in.* will stay GPL (TV code)
|
2017-05-11 15:02:43 +00:00
|
|
|
stream/cache.c LGPLv3+
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/cache_file.c LGPL
|
2017-05-11 05:29:01 +00:00
|
|
|
stream/cookies.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/dvb* must stay GPL
|
|
|
|
stream/frequencies.* must stay GPL
|
|
|
|
stream/rar.* LGPL
|
|
|
|
stream/stream_avdevice.c unknown
|
|
|
|
stream/stream_bluray.c unknown
|
2017-06-20 08:15:22 +00:00
|
|
|
stream/stream.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_cb.c LGPL
|
|
|
|
stream/stream_cdda.c unknown
|
|
|
|
stream/stream_dvb.* must stay GPL
|
|
|
|
stream/stream_dvd.c unknown
|
|
|
|
stream/stream_dvd_common.* unknown
|
|
|
|
stream/stream_dvdnav.c unknown
|
|
|
|
stream/stream_edl.c LGPL
|
2017-05-11 06:07:09 +00:00
|
|
|
stream/stream_file.c LGPL
|
2017-06-16 14:27:57 +00:00
|
|
|
stream/stream_lavf.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_libarchive.* LGPL
|
|
|
|
stream/stream_memory.c LGPL
|
|
|
|
stream/stream_mf.c unknown
|
2017-05-08 10:45:50 +00:00
|
|
|
stream/stream_null.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_rar.c LGPL
|
2017-05-11 06:12:14 +00:00
|
|
|
stream/stream_smb.c will stay GPLv3
|
2017-05-05 06:38:30 +00:00
|
|
|
stream/stream_tv.c will stay GPL
|
|
|
|
stream/tv* will stay GPL
|
|
|
|
sub/* LGPL
|
|
|
|
ta/* LGPL (ISC)
|
|
|
|
video/decode/d3d.* LGPL
|
dec_video: change license to LGPL (almost)
"Almost" because this might contain copyright by michael, who agreed
with LGPL, but only once the core is LGPL. This is preparation for that
to happen.
Apart from that, the usual remarks apply. In particular, dec_video.c
started out quite chaotic with no modularization, but was later
basically gutted, and in general rewritten a bunch of times. Not going
to give a history lesson.
Special attention needs to be given to 3 patches by cehosos, who did not
agree to the relicensing:
240b743ebdf: --field-dominance
e32cbbf7dc3: reinit VO if aspect ratio changes
306f6243fdf: use container aspect if codec aspect unset (?)
The first patch is pretty clearly still in the current code, and needs
to be disabled for LGPL.
The functionality of the second patch is still active, but implemented
completely different, and as part of general frame parameter changes (at
the time of the patch, MPlayer already reinitialized the VO on frame
size and pixel format changes - all this was merged into a single check
for changing image parameters).
The third patch makes me a bit more uncomfortable. It appears the code
was moved to dec_video.c in de68b8f23c8c, and further changed in
82f0d373, 0a0bb905, and bf13bd0d. You could claim that cehoyos'
copyright still sticks. Fortunately, we implement alternative aspect
detection, which is simpler and probably preferable, and which arguably
contains none of the original code and logic, and thus should be fully
safe.
While I don't know if cehoyos' copyright actually still applies, I'm
more comfortable with making the code GPL-only for now. Also change the
default to use the (in future) plain LGPL code, and deprecate the one
associated with the GPL code, so we can eventually remove the GPL code.
But it's also possible we decide that the copyright doesn't apply, and
undo the deprecation and GPL guards.
I expect that users won't notice anything. If you ask me, the old aspect
method was probably an accidental bug instead of intentional behavior.
Although, the new aspect method was broken too, so I had to fix it.
2017-06-18 16:27:48 +00:00
|
|
|
video/decode/dec_video.* almost LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/decode/hw_cuda.c LGPL
|
|
|
|
video/decode/hw_d3d11va.c LGPL
|
|
|
|
video/decode/hw_dxva2.c LGPL
|
|
|
|
video/decode/hw_videotoolbox.c LGPL
|
vd, vd_lavc: change license to LGPL (almost)
iive agreed only to LGPL 3.0+ only. All of his relevant changes are for
XvMC, for which mpv completely dropped support back in mplayer2 times.
But you could claim that the get_format code represents some residual
copyright (everything else added by iive was removed, only get_format
still is around in some form). While I doubt that this is relly
copyright-relevant, consider it is for now.
michael is the original author of vd_lavc.c, so this file can become
LGPL only after the core becomes LGPL.
cehoyos did not agree with the LGPL relicensing, but all of his code is
gone.
Some others could not be reached, but their code is gone as well. In
particular, vdpau support, which was originally done by Nvidia, had
larger impact on vd_lavc.c, but vdpau support was first refactored a few
times (for the purpose of modularization) and moved to different files,
and then decoding was completely moved to libavcodec.
Lastly, assigning the "opaque" field was moved by Gwenole Beauchesne in
commit 8e5edec13eab. Agreement is pending (due to copyright apparently
owned by the author's employer). So just undo the change, so we don't
have to think about whether the change is copyrightable.
2017-06-15 13:52:18 +00:00
|
|
|
video/decode/lavc.h almost LGPLv3+
|
|
|
|
video/decode/vd.h LGPL
|
|
|
|
video/decode/vd_lavc.c almost LGPLv3+
|
2017-05-05 06:38:30 +00:00
|
|
|
video/filter/refqueue.* LGPL
|
vf.c, vf.h: change license to LGPL
Most authors have agreed. Like with vo.c, we don't take module
declarations into consideration (see 0e09533c73dc0).
Notable issues:
115bfb9762: the author has (probably) not agreed. The vf.c changes were
removed with the removal of filter DR, though (see c54fc507da8e).
7b25afd742: the same author adds VOCTRLs for deinterlacing switching at
runtime. Put them under a HAVE_GPL ifdef just to be sure. (It looks like
we could remove the VOCTRLs immediately, as they're needed only for some
compatibility things, but no need to do that yet.)
02b199e5e9: the author had a conditional agreement to LGPL, which
doesn't allow us to change it just yet, but the code added here was
completely removed anyway. (These days, the pts is passed as mp_image
field, and put_image is gone.)
3532cd532e: same author, but code removed with DR removal.
f0626e2f8d: same author, but code was moved to mp_image.c.
e5b4b495c3: agreed to LGPLv3+ only, but the code was removed in
cfa1f9e082 anyway.
086c324692: author was not asked - minor warning fix, but no mpv
includes malloc.h anymore.
e9d0a1d609: author was not asked - removed again in 33b62af947.
c260a1139d: author could not be reached - but this code was removed when
mpv changed the image allocation code to essentially use FFmpeg's
pixdesc.
2017-05-11 12:44:46 +00:00
|
|
|
video/filter/vf.c LGPL
|
|
|
|
video/filter/vf.h LGPL (mostly)
|
2017-05-05 06:38:30 +00:00
|
|
|
video/filter/vf_buffer.c LGPL
|
|
|
|
video/filter/vf_crop.c will be deleted
|
|
|
|
video/filter/vf_d3d11vpp.c LGPL
|
|
|
|
video/filter/vf_dsize.c will be deleted
|
|
|
|
video/filter/vf_eq.c will be deleted
|
|
|
|
video/filter/vf_expand.c will be deleted
|
|
|
|
video/filter/vf_flip.c will be deleted
|
|
|
|
video/filter/vf_format.c will be deleted
|
|
|
|
video/filter/vf_gradfun.c will be deleted
|
|
|
|
video/filter/vf_lavfi.* LGPL
|
|
|
|
video/filter/vf_mirror.c will be deleted
|
|
|
|
video/filter/vf_noformat.c will be deleted
|
|
|
|
video/filter/vf_pullup.c will be deleted
|
|
|
|
video/filter/vf_rotate.c will be deleted
|
|
|
|
video/filter/vf_scale.c will be deleted
|
|
|
|
video/filter/vf_stereo3d.c will be deleted
|
|
|
|
video/filter/vf_sub.c will be deleted
|
|
|
|
video/filter/vf_vapoursynth.c LGPL
|
|
|
|
video/filter/vf_vavpp.c LGPL
|
|
|
|
video/filter/vf_vdpaupp.c LGPL
|
|
|
|
video/filter/vf_yadif.c will be deleted
|
|
|
|
video/csputils.* LGPL
|
video/fmt-conversion, img_format: change license to LGPL
The problem with fmt-conversion.h is that "lucabe", who disagreed with
LGPL, originally wrote it. But it was actually rewritten by "reimar"
later. The original switch statement was replaced with a lookup table.
No code other than the imgfmt2pixfmt() function signature survives.
Neither the format pairs (PIXFMT<->IMGFMT), nor the concept of mapping
them, can be copyrighted.
So changing the license should be fine, because reimar and all other
authors involved with the new code agreed to LGPL.
We also don't consider format pairs added later as copyrightable.
(The direct-mapping idea mentioned in the "Copyright" file seems
attractive, and I might implement in later anyway.)
Likewise, there might be some format names added to img_format.h, which
are not covered by relicensing agreements. These all affect "later"
additions, and they follow either the FFmpeg PIXFMT naming or some other
pre-existing logic, so this should be fine.
2017-06-18 13:12:11 +00:00
|
|
|
video/fmt-conversion.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/gpu_memcpy.* will be deleted
|
|
|
|
video/hwdec.* LGPL
|
2017-06-18 13:45:24 +00:00
|
|
|
video/image_writer.* LGPL
|
video/fmt-conversion, img_format: change license to LGPL
The problem with fmt-conversion.h is that "lucabe", who disagreed with
LGPL, originally wrote it. But it was actually rewritten by "reimar"
later. The original switch statement was replaced with a lookup table.
No code other than the imgfmt2pixfmt() function signature survives.
Neither the format pairs (PIXFMT<->IMGFMT), nor the concept of mapping
them, can be copyrighted.
So changing the license should be fine, because reimar and all other
authors involved with the new code agreed to LGPL.
We also don't consider format pairs added later as copyrightable.
(The direct-mapping idea mentioned in the "Copyright" file seems
attractive, and I might implement in later anyway.)
Likewise, there might be some format names added to img_format.h, which
are not covered by relicensing agreements. These all affect "later"
additions, and they follow either the FFmpeg PIXFMT naming or some other
pre-existing logic, so this should be fine.
2017-06-18 13:12:11 +00:00
|
|
|
video/img_format.* LGPL
|
2017-06-16 17:35:24 +00:00
|
|
|
video/mp_image.* almost LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/mp_image_pool.* LGPL
|
2017-06-17 15:08:51 +00:00
|
|
|
video/out/aspect.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/bitmap_packer.* LGPL
|
|
|
|
video/out/cocoa* unknown
|
|
|
|
video/out/d3d_shader_420p.h LGPL
|
|
|
|
video/out/d3d_shader_nv12.h LGPL
|
|
|
|
video/out/d3d_shader_yuv.hlsl LGPL
|
|
|
|
video/out/dither.* LGPL
|
|
|
|
video/out/drm_common.* LGPL
|
|
|
|
video/out/filter_kernels.* LGPL (BSD)
|
af_format: change license to LGPL
This case is a bit weird, because MPlayer certainly also has a file
named af_format.c. Both appear to have the function of converting audio
data between sample formats.
However, mpv's af_format.c is a rewrite, and doesn't actually do
conversion by itself. It's similar to vf_format.c, and forces the
generic filter chain code to insert conversion filters, instead of doing
conversion explicitly.
mpv's current af_format.c started out as af_force.c in d9582ad0a41. It
was renamed to af_format.c in e60b8f181d, while the old af_format.c was
split into two new filters. In 943c785619 the filename was changed to
af_format.c as well.
The new af_format.c does not contain any libaf code, except for some
potentially copy & pasted skeleton and boilerplate code. (We don't
account for this in per-filter file licenses, as the old libaf code
has to be removed fully, at which point the filters will have to be
ported to another framework, which will removed that boilerplate code.)
The old filters based on af_format.c were progressively replaced and
removed. Support for non-native endian and formats with signedness
different from native FFmpeg was completely removed in 831d7c3c400b.
The old 24 bit conversion code was removed in 552dc0d564 (made
unnecessary by 5a9f817bfde8).
Also list hwdec_vaglx.c as GPL-only, which doesn't have anything to do
with this commit.
2017-05-11 09:00:15 +00:00
|
|
|
video/out/opengl/hwdec_vaglx.c GPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/opengl/* LGPL
|
vo.c, vo.h, vo_null.c: change license to LGPL
Most contributors have agreed. vo.c requires a "driver" entry for each
video output - we assume that if someone who didn't agree to LGPL added
a line, it's fine for vo.c to be LGPL anyway. If the affected video
output is not disabled at compilation time, the resulting binary will be
GPL anyway.
One problem are the changes by Nick Kurshev (usually using "nick" as SVN
username). He could not be reached. I believe all changes to his files
are actually gone, but here is a detailed listing:
fa1d5742bc: nick introduces a new VO API. It was removed in 64bedd9683.
Some of this was replaced by VOCTRLs are introduced in 7c51652a1b,
obviously replacing at least some functionality by his API.
b587a3d642: nick adds a vo_tune_info_t struct. Removed in 64bedd9683
too.
9caad2c29a: nick adds some VOCTRLs, which were silently removed in
8cc5ba5ab8 (they became unused probably with the VIDIX removal).
340183b0e9: nick adds VO-based screenshots, which got removed in
2f4b840f62. Strangely the same name was introduced in 01cf896a2f again,
but this is a coincidence and worked differently (also it was removed
yet again in 2858232220).
104c125e6d: nick adds an option for "direct rendering". It was renamed
in 6403904ae9 and fully removed in e48b21dd87.
5ddd8e92a1: nick adds code to check the VO driver preinit arg to every
single VO driver. The argument itself and any possibly remaining code
associated with it was removed in 1f5ffe7d30.
f6878753fb: nick adds header inclusion guards. We assume this is not
relevant for copyright.
Some of nick's code was merely moved to other files, such as the
equalizer stuff added in 555c676683 and moved in 4db72f6a80 and
12579136ff, and don't affect copyright of these files anymore.
Other notes:
fef7b17c34: a patch by someone who wasn't asked for relicensing added a
symbol that was removed again in 1b09f4633.
4a8a46fafd: author probably didn't agree to LGPL, but the function
signature was changed later on anyway, and nothing of this is left.
7b25afd742: the same author adds a symbol to what is vo.h today, which
this relicensing commit removes, as it was unused. (It's not clear
whether the mere symbol is copyrightable, but no need to take a risk.)
3a406e94d7, 9dd8f241ac: slave mode things by someone who couldn't be
reached. This aspect of the old slave mode was completely removed.
bbeb54d80a: patch by someone who was not asked, but the added code was
completely removed again.
2017-05-10 12:32:34 +00:00
|
|
|
video/out/vo.c LGPL
|
|
|
|
video/out/vo.h LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/vo_caca.c unknown
|
|
|
|
video/out/vo_direct3d.c unknown
|
|
|
|
video/out/vo_drm.c LGPL
|
2017-06-18 13:45:24 +00:00
|
|
|
video/out/vo_image.c LGPL
|
2017-06-13 18:22:15 +00:00
|
|
|
video/out/vo_lavc.c LGPL
|
vo.c, vo.h, vo_null.c: change license to LGPL
Most contributors have agreed. vo.c requires a "driver" entry for each
video output - we assume that if someone who didn't agree to LGPL added
a line, it's fine for vo.c to be LGPL anyway. If the affected video
output is not disabled at compilation time, the resulting binary will be
GPL anyway.
One problem are the changes by Nick Kurshev (usually using "nick" as SVN
username). He could not be reached. I believe all changes to his files
are actually gone, but here is a detailed listing:
fa1d5742bc: nick introduces a new VO API. It was removed in 64bedd9683.
Some of this was replaced by VOCTRLs are introduced in 7c51652a1b,
obviously replacing at least some functionality by his API.
b587a3d642: nick adds a vo_tune_info_t struct. Removed in 64bedd9683
too.
9caad2c29a: nick adds some VOCTRLs, which were silently removed in
8cc5ba5ab8 (they became unused probably with the VIDIX removal).
340183b0e9: nick adds VO-based screenshots, which got removed in
2f4b840f62. Strangely the same name was introduced in 01cf896a2f again,
but this is a coincidence and worked differently (also it was removed
yet again in 2858232220).
104c125e6d: nick adds an option for "direct rendering". It was renamed
in 6403904ae9 and fully removed in e48b21dd87.
5ddd8e92a1: nick adds code to check the VO driver preinit arg to every
single VO driver. The argument itself and any possibly remaining code
associated with it was removed in 1f5ffe7d30.
f6878753fb: nick adds header inclusion guards. We assume this is not
relevant for copyright.
Some of nick's code was merely moved to other files, such as the
equalizer stuff added in 555c676683 and moved in 4db72f6a80 and
12579136ff, and don't affect copyright of these files anymore.
Other notes:
fef7b17c34: a patch by someone who wasn't asked for relicensing added a
symbol that was removed again in 1b09f4633.
4a8a46fafd: author probably didn't agree to LGPL, but the function
signature was changed later on anyway, and nothing of this is left.
7b25afd742: the same author adds a symbol to what is vo.h today, which
this relicensing commit removes, as it was unused. (It's not clear
whether the mere symbol is copyrightable, but no need to take a risk.)
3a406e94d7, 9dd8f241ac: slave mode things by someone who couldn't be
reached. This aspect of the old slave mode was completely removed.
bbeb54d80a: patch by someone who was not asked, but the added code was
completely removed again.
2017-05-10 12:32:34 +00:00
|
|
|
video/out/vo_null.c LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/vo_opengl.c LGPL
|
|
|
|
video/out/vo_opengl_cb.c LGPL
|
|
|
|
video/out/vo_rpi.c LGPL
|
|
|
|
video/out/vo_sdl.c LGPL
|
|
|
|
video/out/vo_tct.c LGPL
|
|
|
|
video/out/vo_vaapi.c probably impossible (some company's code)
|
|
|
|
video/out/vo_vdpau.c probably impossible (nVidia's code)
|
|
|
|
video/out/vo_wayland.c LGPL
|
|
|
|
video/out/vo_x11.c probably impossible
|
|
|
|
video/out/vo_xv.c probably impossible
|
|
|
|
video/out/w32_common.* medium
|
|
|
|
video/out/wayland* LGPL
|
|
|
|
video/out/win32/* LGPL
|
2017-06-17 19:10:17 +00:00
|
|
|
video/out/win_state.* LGPL
|
2017-05-05 06:38:30 +00:00
|
|
|
video/out/x11_common.* probably impossible
|
|
|
|
video/out/x11_icon.bin must stay GPL
|
|
|
|
video/sws_utils.* LGPL
|
|
|
|
video/vaapi.* hard (GPL-only parts must be ifdefed)
|
|
|
|
video/vdpau.c hard (GPL-only parts must be ifdefed)
|
|
|
|
video/vdpau_functions.inc LGPL
|
|
|
|
video/vdpau.h unknown
|
|
|
|
video/vdpau_mixer.* actual code must be rewritten
|
|
|
|
video/vt.* LGPL
|
2017-06-16 17:48:46 +00:00
|
|
|
|
|
|
|
Other:
|
|
|
|
x Build system nominally LGPL, but might contain GPL traces
|
|
|
|
x English translations removed, but traces might be in C code
|
|
|
|
x Logo GPL (?), might have to exclude from LGPL builds
|