mpv/player
wm4 386e8cd16d player: change 3 remaining GPL-only code pieces to LGPL
There has been no new developments or agreements, but I was uncertain
about the copyright status of them. Thus this part of code was marked as
being potentially GPL, and was not built in LGPL mode. Now I've taken a
close look again, and decided that these can be relicensed using the
existing relicensing agreements.

OSD level 3 was introduced in commit 8d190244, with the author being
unreachable. As I decided in commit 6ddd95fd, OSD level 3 itself can
be kept, but the "osd" command had to go, and the "rendering" of OSD
level 3 (the HAVE_GPL code in osd.c) was uncertain. But the code for
this was rewritten: instead of duplicating the time/percent formatting
code, it was changed to use common code, and some weird extra logic was
removed. The code inside of the "if" is exactly the same as the code
that formats the OSD status line (covered by LGPL relicensing).

The current commands for adding/removing sub/audio tracks more or less
originated from commit 2f376d1b39, with the author being unreachable.
But the original code was very different, mostly due to MPlayer's
incredibly messy handling of subtitles in general. Nothing of this
remains in the current code. Even the command declarations were
rewritten. The commands (as seen from the user side) are rather similar
in naming and semantics, but we don't consider this copyrightable. So it
doesn't look like anything copyrightable is left.

The add/cycle commands were more or less based on step_property,
introduced in commit 7a71da01d6, with the patch author disagreeing with
the LGPL relicensing. But all code original to the patch has been
replaced in later mpv changes, and the original code was mostly copied
from MP_CMD_SET_PROPERTY anyway. The underlying property interface was
completely changed, the error handling was redone, and all of this is
very similar to the changes that were done on SET_PROPERTY. The command
declarations are completely different in the first place, because the
semantic change from step to add/cycle. The commit also seems to have
been co-authored by reimar to some degree. He also had the idea to
change the original patch from making the command modify a specific
property to making it generic.

(The error message line, especially with its %g formatting, might
contain some level of originality, so change that just to be sure.
This commit Copies and adapts the error message for SET_PROPERTY.)

Although I'm a bit on the fence with all the above things, it really
doesn't look like there's anything substantial that would cause issues.
I thus claim that there is no problem with changing the license to LGPL
for the above things. It's probably still slightly below the standard
that was usually applied in the code relicensing in mpv, but probably
still far above to the usual in open source relicensing (and above
commercial standards as well, if you look what certain tech giants do).
2017-11-24 14:12:10 +01:00
..
javascript
lua osc: make cycling visibility an input.conf key binding 2017-11-03 14:41:18 +01:00
audio.c audio: fix small memory leak 2017-10-27 13:54:08 +02:00
client.c
client.h
command.c player: change 3 remaining GPL-only code pieces to LGPL 2017-11-24 14:12:10 +01:00
command.h build: add preliminary LGPL mode 2017-09-21 13:56:27 +02:00
configfiles.c
core.h
external_files.c
external_files.h
javascript.c js: fix broken mp.set_property_number, mp.set_property_native 2017-09-23 14:41:17 +03:00
lavfi.c lavfi: fix warnings with newer libavfilter versions 2017-10-27 18:09:08 +02:00
lavfi.h
loadfile.c player: minor fix/simplification of OSD time/duration handling 2017-11-24 13:58:57 +01:00
lua.c lua: integrate stats.lua script 2017-10-09 20:47:33 +02:00
main.c player: log if NDEBUG is defined 2017-11-04 17:48:30 +01:00
misc.c
osd.c player: change 3 remaining GPL-only code pieces to LGPL 2017-11-24 14:12:10 +01:00
playloop.c player: minor fix/simplification of OSD time/duration handling 2017-11-24 13:58:57 +01:00
screenshot.c screenshot: create directories from template 2017-11-02 17:07:35 +01:00
screenshot.h
scripting.c lua: integrate stats.lua script 2017-10-09 20:47:33 +02:00
sub.c
video.c video: fix typo in log message 2017-10-22 16:51:09 +11:00