Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

LGPL relicensing #2033

Open
wm4 opened this Issue Jun 8, 2015 · 382 comments

Comments

Projects
None yet
Owner

wm4 commented Jun 8, 2015 edited

FAQ

  • What, why?

    The mpv project (a MPlayer and mplayer2 fork) is relicensing its code base from GPLv2 or later to LGPLv 2.1 or later. For that, we're asking MPlayer, mplayer2, and mpv contributors to give us permission. This includes occasional or one-time contributors. For reasons why we are doing this and for details on the relicensing process see the sections below.

  • How do I give my permission?

    Posting something informal like

    I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to 
    the GNU Lesser General Public License (LGPL) version 2.1 or later
    

    in this github issue or per email to wm4 (nfxjfg@googlemail.com) should be sufficient. (I've also sent a lot of mails via a private mail account, because the gmail one looks like it could be dismissed as spam too easily.)

    If you post on a github issue, and your github account doesn't show your real name or an email address you used for MPlayer development, please make sure to identify yourself so that we can link you to specific MPlayer contributions!

    If you don't want to give permission to relicense some specific parts, but don't mind that the core is relicensed in general, it's possible that we negotiate a list of files or a list of commits we're allowed to relicense. This could explicitly exclude parts you want to keep GPL. You could also choose to state that relicensing any code still remaining in mpv is fine (this would exclude anything that is still in MPlayer, but not mpv).

  • I never contributed much and I don't even know if my code is still there. Why did I get email about this / why was I pinged on github? Do I even have to give my permission?

    Some people say that their contribution was too minor and uncopyrightable, or that their code was replaced or refactored. This could be true. But we are not lawyers. It's not always sure what constitutes a minor/uncopyrightable change, or when new code is considered to be derived from some piece of replaced/refactored code. So getting as many agreements as possible is very helpful for us, even if the original authors of a patch think it doesn't matter, or it was a minor patch many years ago. Please respond to relicensing requests, even if you think it's not necessary!

    It's also possible that you were asked, even though you did not contribute to MPlayer directly. For example you could have contributed to a different project, and MPlayer incorporated some of its code. That code would still be copyrighted by you (at least partially), so we need to ask for relicensing permission.

  • Were the email for relicensing requests sent automatically?

    No. Every single of them was sent manually. They were sent only to people for which there was at least a chance that their agreement would be required.

  • Did the MPlayer project agree with this?

    Most of the MPlayer developers agreed (including original and current developers). Most contributors who have been asked so far agreed as well. See the status of MPlayer contributors.

  • Do you assume non-replies mean agreement (OpenSSL style relicensing)?

    No. Copyright law doesn't work this way. If someone doesn't reply, and he has copyright on parts we want to relicense, we will have to remove their code to succeed.

  • What happens if I don't agree?

    Then the entire relicensing of mpv will fail. If there are only some cases, we'll probably try to remove the code of contributors who have not agreed (if possible). My plan B would be writing a new player from scratch.

    Note that it might be fine to agree to relicensing of only some parts. We're mostly interested in relicensing the core, so a LGPL libmpv is possible. Also see the next FAQ entry below.

  • Will all of mpv be relicensed?

    Most likely only the core and components required for libmpv. For example, it's unlikely that the X11 windowing code, the V4L TV code, or the DVD code get relicensed. These parts will remain GPL, and will not be compiled in LGPL configurations. On the other hand, many patches touching X11 also added code to other parts of the player, such as adding new options (which would later be supported by other windowing code) - we'd still want to relicense those changes.

    Due to the aforementioned messy licensing state of the VO windowing backends, it looks like mpv CLI LGPL will be unusable on some systems (e.g. X11), while LGPL libmpv will hopefully be useful.

    In addition, the following parts were removed from mpv, and we won't ask for relicensing those parts: mencoder, the GUI, Linux 2.4 kernel drivers (!), dozens of decoder library wrappers, the win32 codec loader, ancient video outputs, filters, the build system, documentation in general, and imported libraries such as a bunch of mpeg decoders. Some libraries were moved to separate projects and have already been relicensed a long time ago, like libswscale and libass. mpv is highly reliant on FFmpeg for decoders and demuxers, which probably accounts for most of the core code removed.

  • Will the license of MPlayer change?

    Definitely not. To make it easier for us, we're skipping a lot of MPlayer code in the relicensing that is not used by mpv anymore (and that was not used to derive new mpv code from it). This is possible because mpv dropped large parts of MPlayer code (see previous question). All this means that even if you'd apply the relicensing agreements to MPlayer, you wouldn't get anything working out of it.

  • Do I lose the rights to my code?

    No, you retain copyright and own your code. The effect is merely that others (the mpv project) can use your code under LGPL instead of only the GPL.

  • I made contributions to MPlayer, but I wasn't contacted?

    Please reply to this github issue to give your agreement/disagreement.

See also VLC's LGPL relicensing FAQ.

Reasons

The reason is mostly that the player got turned into a library (libmpv), and the associated problems of a GPL lib for a library user. Here's a detailed list of reasons why this is desirable, alternatives, and some discussion:

  • The main reason is easily the fact that mpv prefers embedding video by accessing the host application's OpenGL context. This means the host application has to link to libmpv directly and run in the same process as mpv, just for the GL context. This is called the opengl-cb API in libmpv. While technically possible in many cases, sharing some sort of video context (like an OpenGL context) over process boundaries is fragile and complex, so linking to libmpv is required.

    MPlayer on the other hand embeds an OS window over process boundaries (with the -wid option). This is becoming technically unfeasible, and the libmpv opengl-cb API sidesteps many issues with it.

    While mpv can still be embedded using the "old" method (and by using e.g. the JSON API), we prefer the opengl-cb, and don't want license issues to hamper this. Nor do we want the rendering method to have an influence on the application's license.

  • MPlayer always provided the slave mode, which allows closed source application to use MPlayer's playback capabilities. And there are even examples of this happening (MPlayerX). So MPlayer being GPL did not prevent it to be used from non-GPL applications. It follows that the MPlayer projects and its developers at least tolerate slave mode being used from non-GPL applications. I see no reason why this difference should be made just with the technical difference of in-process vs. out-of-process and C API vs. text protocol. Thus allowing libmpv to be used from non-GPL application is just natural. Relicensing to LGPL would achieve this.

  • GPL-incompatible dependencies such as OpenSSL are a big issue for library users, even if the library user is ok with the GPL. OpenSSL specifically is not compatible with the GPL, unless all involved GPL projects include an OpenSSL exception (but this is equivalent to a license change, so why not just use the less problematic LGPL). Note that not-GPL does not mean closed-source. There are many potential users who want to stick to other open source licenses that are not GPL.

  • Even many GNU libraries don't force GPL on the user (consider glibc, Guile, gettext, GNU lightning, GNU pth).

  • LGPL is almost like GPL, except it gives more freedom to the library user. This should be a rather inoffensive change (compared to e.g. changing it to BSD). Since (lib)mpv is a complete player, rather than something like a multimedia library, the "freedom" of libmpv isn't in danger either. For example, if you wanted to add a filter or a decoder to your playback chain, you would have to do that in libmpv itself (licensing the addition as LGPL), rather than making it a closed-source part of your evil proprietary application.

  • Even if libmpv were to stay GPL, it would not necessarily lead to more applications going open source. It's far more likely such an application would choose something like libvlc or gstreamer as backend instead. This could even happen with potential libmpv users which are open source, but not GPL, as its authors might want to escape from the complications of the GPL license. Likewise, existing non-GPL applications, which just want to integrate video playback as another feature, would obviously not be able to pick a GPL libmpv (libmpv isn't that attractive as they would relicense to GPL just to use it). My conclusion is that libmpv going LGPL would give back more to the open source community than a GPL libmpv.

  • VLC did it too, and nothing bad happened.

  • Parts of MPlayer code have been relicensed/"extracted" under more liberal licenses before: libswscale (LGPL), libass (ISC)

  • An exception for non-GPL libmpv usage might work. This would be a GPL linking exception. It'd require as much effort as a switch to LGPL, so we might as well change to LGPL.

  • Some libmpv user opinions: #2033 (comment) and #2033 (comment)

Relicensing process

We will ask mpv, MPlayer, and mplayer2 developers for their agreement. We will probably skip contributors who contributed documentation or website changes only (MPlayer has extensive documentation in multiple languages, all in the main code repository). We will also skip developers who have contributed only to now-removed code (such as vo_svga.c or libswscale).

We will also ask people who have contributed single patches a long time ago, as long as their code was used as base for further developments. It's important and appreciated that these people give their agreement as well.

So far I think it's ok to relicense a source file if:

  • all current contents of the file are written by authors who agreed with the LGPL switch
  • removed contents do not count, as long as new code was not "derived" from it (such as simple refactoring)
  • care has to be taken that lines, which merely went through cosmetic changes or refactoring, are considered as "current content" (i.e. mere git blame output is not necessarily meaningful)

I also wonder whether this can be done:

  • Authors which only did minor cosmetic changes of some sort do not have a copyright on the file (consider code reindenting). Extreme care has to be taken here - copyright always sticks, even with simple changes. It's not clear when a change is uncopyrightable. Most seem to agree that entirely cosmetic changes, e.g. pure whitespace changes, are not copyrightable. Some set the bar for copyrightable much higher.

Further, some projects which have gone through relicensing claim there is a threshold above which relicensing can be done without the rest of the developers agreeing:

Relicensing plan

The actual relicensing will be done as follows:

  • Phase 1: broadly probe for consent (done)
    • ask everyone who submitted a patch to mpv
    • contact everyone who wrote a major piece of code and ask for permission
  • Phase 2: ask every contributor (mostly done, waiting for remaining replies)
    • go through the commit list, and look at every single of those ~44k commits
    • if the commit message says the patch was by someone else (or we know it was by someone else or copied from somewhere else), contact that external controbutor as well
    • if the code is most likely still present in mpv (directly or refactored), and not in code we don't want to relicense, make sure that person was contacted
  • Phase 3: actual relicensing (mostly done)
    • try to relicense each source file
    • go through every change to that file, and make sure that for each change (unless it was completely removed) the author was contacted and agreed
    • if that is not the case, do one of those things, depending on what's possible:
      • guard the code as GPL-only (so it won't be compiled for LGPL binaries)
      • remove/replace the code
      • declare the change as trivial
      • fail the relicensing and go with plan B, and write a new player
    • in some cases, code might have been copied from other source files or projects, which complicates this step
  • Phase 4: verification and finishing up
    • add a preliminary --enable-lgpl-preliminary configure option
    • post to mplayer-dev-eng mailing list for anyone who wants to verify
    • let it sit for a few weeks or so
    • make the LGPL change final by renaming the configure option to --enable-lgpl and updating the main copyright notice

More information

Other arguments pro-LGPL: #2033 (comment) #2033 (comment)

MPlayer developers status: #2033 (comment)

MPlayer thread: http://lists-archives.com/mplayer-dev-eng/39326-relicensing-mplayer-or-parts-of-it-to-lgpl.html

VLC LGPL switch reasons & FAQ (yes, they mostly apply to us too): https://www.videolan.org/press/lgpl.html

VLC reasons against GPLv3 (also mostly applies to us): http://www.videolan.org/press/2007-1.html

@wm4 wm4 added the meta label Jun 8, 2015

Owner

wm4 commented Jun 8, 2015 edited

I'll make a little survey and ask who agrees with relicensing their code to LGPLv2+ for mpv. Doing this in this github issue is especially useful, because for some contributors I only have their github handle at best, and communication exclusively happened over Github (and partially IRC), this should work. (Also, this is the trivial part, as opposed to asking MPlayer contributors from ancient times.)

The following already agreed on IRC: @avih @pigoz @lachs0r @rcombs

The following includes all github users who posted a pull request on this project. Sorry if I got someone whose PRs were not actually accepted.

Contributor

svenstaro commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Owner

wm4 commented Jun 8, 2015

Of the above people, please post in this issue with on of the following:

  • I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later
  • I disagree that my contributions are relicensed to LGPL
Contributor

jleclanche commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

Argon- commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

grigorig commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

maletor commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

I agree that my past contributions to mpv, mplayer2, or MPlayer are
relicensed to the GNU Lesser General Public License (LGPL) version 2 or
later.

Contributor

MagikBSD commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Owner

wm4 commented Jun 8, 2015

(For the record, I have no idea whether the phrase I chose is legally binding. But it ought to be enough - it's as formal as you can get on github, and github is used as exlusive medium of communication here.)

Contributor

MadFishTheOne commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

veprbl commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

EvanPurkhiser commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

ahodesuka commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

chengsun commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

EDIT: I see my only contribution was a one-line manpage fix, which has since been removed anyway.

Owner

wm4 commented Jun 8, 2015

Some users I "forgot" so far, or didn't highlight properly: @bjin @ChrisK2

Contributor

Nyx0uf commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

percontation commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

@ghost

ghost commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

Ionic commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later, or, at your option, BSD 2-clause or BSD 3-clause.

Member

ghedo commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

hroncok commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

paulguy commented Jun 8, 2015

I haven't seen any of my contributions get included, but in case they do at a later time:
I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Member

rossy commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Contributor

andre-d commented Jun 8, 2015

Ditto
On Jun 8, 2015 1:41 PM, "James Ross-Gowan" notifications@github.com wrote:

I agree that my past contributions to mpv, mplayer2, or MPlayer are
relicensed to the GNU Lesser General Public License (LGPL) version 2 or
later


Reply to this email directly or view it on GitHub
#2033 (comment).

Contributor

lu-zero commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to an OSI-approved license, including GNU Lesser General Public License (LGPL) version 2 or later.

If another license is chosen I retain my right to not accept such relicensing.

(In short, LGPL 2.1 and 3 are ok, MIT and BSD ok, any future LGPL 4 or whatever, you have to ask me again).

Contributor

avih commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Member

atomnuker commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

Member

rr- commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

🐴

Owner

wm4 commented Jun 8, 2015

To clarify a few things...

  • I accidentally wrote "LGPL 2 or later" - I fixed it to "LGPL 2.1 or later", but this has no consequence, since 2.1 is "later" than 2, thus sub-licensing is allowed. However, the 2.0 version was called "GNU Library General Public License, version 2.0" ("Library" not "Lesser"), but I hope it's clear that these are the same anyway.
  • The plan is to strictly choose "LGPL 2.1 or later" if there's a change, not any other license.
  • If we go through with the change, and you disagree, it just means your code will not be compiled into a --enable-lgpl version. (But only if the code is independent enough.)
Owner

wm4 commented Jun 8, 2015

@lu-zero:

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to an OSI-approved license, including GNU Lesser General Public License (LGPL) version 2 or later.

(In short, LGPL 2.1 and 3 are ok, MIT and BSD ok, any future LGPL 4 or whatever, you have to ask me again).

You contradict yourself with the bit about LGPLv4, since with "LGPLv2.1 or later" you agree that LGPLv4 can be applied.

Contributor

olifre commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

m45t3r commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later, or, at your option, MIT License/BSD-2 clause License.

Contributor

juanfra684 commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

mixi commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

Contributor

lu-zero commented Jun 8, 2015

LGPL 4 is not an OSI-approved license as today list since it does not exist and I do not agree to relicense to something unknown.

The "later" in this case covers the intersection of OSI-approved licenses and LGPL-licenses, thus 2.1 and 3. By considering my contributions MIT, you should be able to use them even in the case LGPL-4 is not something I agree with and I do not want my code be bound to.

Contributor

bjin commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

spaam commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

Contributor

CrisBRM commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

Contributor

gs93 commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

Contributor

gunmantheh commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Contributor

benf commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Owner

wm4 commented Jun 8, 2015

@lu-zero: well, the standard LGPL license header is usually:

 * mpv is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.

(This is also what Libav does.)

So if you do not agree to LGPLv4, it would have to be something like "either version 2.1 of the License, or version 3.0". This is not very practical.

Contributor

wrl commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

Contributor

lu-zero commented Jun 8, 2015

I guess I can't convince you to pin versions (or later is quite evil) so:

"I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later, or, at your option, MIT License/BSD-2 clause License."

Contributor

Shudouken commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Contributor

jpalus commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

Contributor

MoSal commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

Contributor

qyot27 commented Jun 8, 2015

I'm not sure if anything I've contributed is still there, but:

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later, or, at your option, MIT, BSD-2 clause, or ISC License.

Contributor

Bilalh commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Contributor

sam142 commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Contributor

liuch commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later

Contributor

jaimeMF commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later, or any other license.

Contributor

amosonn commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

Why not just write version 3?

Contributor

haasn commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Contributor

foo86 commented Jun 8, 2015

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

Based on any residual copyright I have on vo.h, vo.c, and vo_x11.c, I agree that it can be made available under the GNU Lesser General Public License (LGPL) version 2 or later.

Owner

wm4 commented Apr 20, 2017

@aholtzma great to hear from you! We've been trying everything to reach you, so that's a relief.

Does this include vo_null.c and your libao changes too? (We might have failed to explicitly request permission for libao.) libao is basically the same case: what we need is the skeleton, that was used as base for all newer code.

A cornucopia of bad argumentation including using the overused logical fallacy "freer than free"!

LGPL is almost like GPL, except it gives more freedom to the library user.

New generations determined in destroying what previous generations have built just so they can conform.

@wm4

It may or may not happen that some code will fall under LGPL3, which could mean that the final license will be LGPL3. This would affect people/projects who really wanted to use libmpv under LGPL2, but cannot accept LGPL3. Does anyone have a problem with this?

The license chosen is LGPLv2+. This means that anyone using this software can choose between LGPLv2, LGPLv3, LGPLv4 and so forth.

Member

rossy commented Apr 24, 2017

@insanetesterftw

A cornucopia of bad argumentation including using the overused logical fallacy "freer than free"!

'Freedom' is a bit of a loaded term in the FOSS community, so it's hard to understand what you mean. Please consider the whole list of reasons.

Unlike MPlayer, mpv is now a multimedia playback library as well as a standalone video player. Multimedia playback is a pretty common task, so libmpv has a lot of competitors in this space, including proprietary libraries (DirectShow, Media Foundation, QuickTime.) Of course, most users of these libraries should be using libmpv instead, and the LGPL removes some barriers to doing so.

The FSF has this to say about the LGPL, which I think applies to libmpv:

However, if you require developers who use your library to release their whole programs under copyleft, they'll simply use one of the alternatives available, and that won't advance our cause either. The Lesser GPL was designed to fill the middle ground between these cases, allowing proprietary software developers to use the covered library, but providing a weak copyleft that gives users freedom regarding the library code itself.

One practical barrier to adoption of a GPL libmpv is the incompatibility with OpenSSL, and this affects non-GPL FOSS programs as well, especially on GNU/Linux, since both macOS and Windows have operating system APIs for SSL. It's a pain when two well-meaning FOSS projects can't share code because they happen to have chosen incompatible licences, especially if this only causes trouble for GNU/Linux users.

New generations determined in destroying what previous generations have built just so they can conform.

Assuming this is referring to MPlayer, I wouldn't worry. mpv has removed and rewritten a lot of MPlayer code, so even if mpv's relicencing is successful, it won't affect the licensing status of MPlayer.

The license chosen is LGPLv2+. This means that anyone using this software can choose between LGPLv2, LGPLv3, LGPLv4 and so forth.

I think you're misunderstanding what was meant by "some code will fall under LGPL3" here. This is referring to a specific MPlayer developer who agreed to relicence his code under LGPLv3 instead of LGPLv2.1+. If mpv keeps his code, the project as a whole would not be usable under the terms of LGPLv2.1 (only LGPLv3.)

Owner

wm4 commented May 9, 2017 edited

@axboe: asking for permission to relicense d65c851 to "LGPL v2.1 or later"

axboe commented May 9, 2017

You have my permission to do so.

@wm4 yes, vo_null.c and anything based on libao in audio/out/ is covered as well.

Owner

wm4 commented May 11, 2017

@jostillmanns: asking for permission for 1ee8ce7

@zonuexe zonuexe referenced this issue in tootsuite/mastodon May 11, 2017

Open

Add AGPL-3+ copyright notice in source files #2938

candux commented May 12, 2017

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to
the GNU Lesser General Public License (LGPL) version 2.1 or later

Owner

wm4 commented May 18, 2017

@sjourdois asking for permission to relicense 29ab7de to "LGPL v2.1 or later"

Contributor

tmm1 commented May 19, 2017

@isten @pnis Have either of you contributed to mplayer in the past?

Owner

wm4 commented Jun 20, 2017

@msvec asking for permission to relicense MPlayer commit 574eb89 from GPL to LGPL.

msvec commented Jun 20, 2017

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Owner

wm4 commented Jun 20, 2017

@xadlik asking for permission to relicense MPlayer commit 8337d9c from GPL to LGPL (if you're the same person).

Owner

wm4 commented Jun 20, 2017

@hrw asking for permission to relicense MPlayer commit 6822881 from GPL to LGPL (if you're the same person).

hrw commented Jun 20, 2017

vstax commented Jun 20, 2017

Hello Vincent, you've contacted me @ VM10124.spb.edu, however my reply can't seem to reach you as the IP seems to be BLed by t-online.de, so posting here.

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to
the GNU Lesser General Public License (LGPL) version 2.1 or later

Owner

wm4 commented Jun 20, 2017

@vstax oh, sorry. If anyone else has problems, I also have nfxjfg@gmail.com. (And there I hoped not using my spam sink address would help.)

Also thanks for the permission, and thanks to everyone else who agreed too.

Owner

wm4 commented Jun 21, 2017

@mzealey asking for permission to relicense MPlayer commits 0842caf and a2dfc7a from GPL to LGPL (already tried to send email a few times).

Owner

wm4 commented Jun 21, 2017

@ncopa asking for permission to relicense your mpv contributions to LGPL.

@wm4 wm4 closed this Jun 21, 2017

@wm4 wm4 reopened this Jun 21, 2017

mzealey commented Jun 21, 2017

@wm4 Sorry - old email address. Permission is fine

Owner

wm4 commented Jun 21, 2017

@mzealey thanks! And you're the same person? Is zealey.org your site? It was quite hard to reach you in summary.

now commented Jun 21, 2017

I’ve earlier confirmed via mail that you may re-license my insignificant patch to LGPL, but let this be a reconfirmation of that.

Owner

wm4 commented Jun 21, 2017

@now thanks, I got your mail. I don't usually reply to them because I'm thinking I probably annoyed them enough with my relicensing requests. I hope nobody takes that in the wrong way.

Owner

wm4 commented Jun 22, 2017

All @bugmen0t changes removed from git master (except ao_oss.c and tv_v4l2.c itself, which we can't relicense for other reasons).

mzealey commented Jun 23, 2017

@wm4 yes this is me :-)

Owner

wm4 commented Jun 24, 2017

For everyone's information, I'm counting all mpv changes authored after Dec 22 2015 as LGPL licensed, in corner cases after Jul 24 2015. This is because essentially the project policy was changed to require contributions in LGPL. Contributors not reading the guidelines might have been unaware of that, but not my problem if someone can't read the fine print. Of course this doesn't apply to MPlayer contributions in any way (none were merged during this time frame anyway).

  • The github pull request template was added on Fri Jun 17 2016: d0bd39e
  • CONTRIBUTING.md was added on Tue Dec 22 2015: 3de6c9a
  • contribute.md and Copyright was changed on Fri Jul 24 2015: 95b930f
Owner

wm4 commented Jun 24, 2017 edited

@wd0 ping! You didn't agree yet. Can you state whether you agree or disagree to the relicensing?
(Edit: for 38b05da)

Owner

wm4 commented Jun 24, 2017

Contributor

bucaneer commented Jun 24, 2017

Already agreed earlier in this thread: #2033 (comment)

Owner

wm4 commented Jun 24, 2017

(Oh, sorry.)

Owner

wm4 commented Jun 25, 2017

Pinging again the following people for MPlayer code LGPL relicensing permission (can't hurt to try...):
@covek
@pengvado
@taxy

ricotz commented Jun 26, 2017

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later.

Contributor

ncopa commented Jun 28, 2017

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

Member

rossy commented Jun 30, 2017

Ping @RunePetersen. Are you the author of 14ecebe?

@ahjolinna ahjolinna referenced this issue in alamminsalo/orion Jul 11, 2017

Closed

[question] Orion/Qt Licensing #191

ilnanny commented Jul 26, 2017

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2 or later.

timofonic commented Jul 28, 2017 edited

@wm4

Have you managed to contact Nick(ol) Kurshev?

  • I got given lots of feedback and extra information from Linux Russian users.
    • I'll ask them if they want to be mentioned or not.

People that may know him:

Found aliases:

Possible Cyrrilic names:

About Russian names

  • The surname is usually inherited from the father's surname unless agreed the other way around.
  • About names, using Nicks one as example:
    1. Don't use 'Ника', but 'Ник'. The 'Ника' one is genitive.
      • "а" ending is because of "[you should ask] Ник[а]".
    2. Most the time people in russia has father's surname. Previuosly it was allowed to concatenate mother's and father's surnames.
      • There's other alternatives. For example, using the great-grandfather
  • Middle name is just father first name most of time.
    • VERY VERY rarely it can be mother first name.
      • ending means belonging
    • Example: Lebedev Artemiy Tatiatovich, a russian artist/designer.
      • The "ich" ending means "belongs to".
      • Tatiana is his mother name.
        • He has no father name, since he's partialy orphan.

Possible Latin transliterations:

  • Nick Kurshev
    • The one he used in most of his software projects.
  • Nikolay Kurshev
  • Nick Courchev
  • Nicholas Kurshev
  • Mikola Kuršev
  • Ničolas Kuršev

Extra info

Authorship

Owner

wm4 commented Aug 3, 2017

@timofonic thanks for your help! Well, we've been completely unable to contact him. He seemed to have dropped off the internet too. I don't know what else we could actually try. It seems to be a common name too.

Getting his agreement would be good. I believe technically we're in the clear - there are only a few fragments of copyrightable code written by Nick that are still in the code base. But in some cases this is a rather close call.

@ilnanny thanks! I don't see any git or svn commits mapping to your name, though. Can you clarify?

@wm4 I got a bit tired of more searching, I might try it harder later if Russian Linux users help me again. Did you try to contact with people that knew him? Maybe they could locate him. Maybe even contacting to the university he graduated from would be another option. I consider this task would be a lot better done by Russian people because language barrier is a big issue for this kind of effort.

Owner

wm4 commented Aug 4, 2017

We tried to contact everyone who probably still knew Nick, and whose email addresses we had. Nothing came out of it. At this point, I've given up hope to contact him (or even knowing what happened to him), unless maybe someone who knows Russian can jump in.

Contributor

fhlfibh commented Aug 4, 2017 edited

I have some reason to believe that this person [del]
may be the very Nikolay Kurshev, a 48 y.o. programmer from Kazan city (Russia), who you're looking for.
I could make some more reseach later when time permits (but no promise) -- if you still need it, of course.

Owner

wm4 commented Aug 5, 2017

@fhlfibh we tried to call this guy via phone earlier, but it wasn't very successful. I think he said he isn't the one, but maybe the phone number was not correct. Also didn't react to facebook messages AFAIK. CC @tmm1

msva commented Aug 7, 2017

@timofonic well, as I said on the IRC, giving Lebedev as example was a bit wrong ☺ Actually, a bit correct "about russian names" would be:

Rissians has no "middle" name as some other nations, but they have patronymic name (name of the father plus suffix meaning belonging).
In some very rare cases (unrelated to that issue at all) it can be "matronymic" (based on the mother name).

There is not much examples in modern time, so Lebedev's is just a local russian meme, and his actual patronymic is "Anreevich" (son of Andrew)

nokitakaze commented Aug 7, 2017 edited

VERY VERY rarely it can be mother first name

No, it can not be. https://en.wikipedia.org/wiki/Patronymic#Russian
Artemiy "Tatiatovich" called by that because he uses too much of obscene language. There is a pun in russian, "obscene language" (mat / мат) is very similar to word "mother" (мать).
"All of people have father name, and only Artemiy Lebedev has mother name, because he uses MAT for too much".

https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D0%B1%D0%B5%D0%B4%D0%B5%D0%B2,_%D0%90%D1%80%D1%82%D0%B5%D0%BC%D0%B8%D0%B9_%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B5%D0%B2%D0%B8%D1%87 Lebedev Artemiy Andreevich (son of Andrey)

msva commented Aug 7, 2017

@nokitakaze too slow :)

@msva, see figure 1

@fhlfibh fhlfibh referenced this issue in lnoor/tinyrpc Aug 7, 2017

Closed

Question about former Linux Assembly guys #2

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to the GNU Lesser General Public License (LGPL) version 2.1 or later

@wm4 Would be hard to have automated statistics of LGPL vs GPL code? That would motivate others to replace the code 🥇

I agree that my past contributions to mpv, mplayer2, or MPlayer are relicensed to
the GNU Lesser General Public License (LGPL) version 2.1 or later

Owner

wm4 commented Sep 4, 2017 edited

@nicholson5158 can you tell us your name, or your MPlayer svn user name, or an email address under which you contributed?

Owner

wm4 commented Sep 4, 2017

Without any of that, we can't associate any code with you. Consider sending private mail to me (e.g. nfxjfg@googlemail.com).

@wm4 Would be hard to have automated statistics of LGPL vs GPL code? That would motivate others to replace the code

The manual listing in Copyright must be sufficient. The main thing missing is the replacement of the audio filter chain. I plan on redoing video filters, making them more general, and then implementing audio filtering on top of it. Other missing parts are some code fragments in the core (can be made optional, but still hurts), ao_alsa.c, x11_common.c, vaapi and vdpau hw decoding. The rest is already LGPL, or can stay GPL.

Owner

wm4 commented Sep 4, 2017

PS: audio filtering could also be optional. Coming up with a hack that does so would probably take at most 1 hour, but would also lack some features. Then most of the player could be immediately be put under the LGPL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment