{"action":"created","issue":{"url":"https://api.github.com/repos/mpv-player/mpv/issues/2033","labels_url":"https://api.github.com/repos/mpv-player/mpv/issues/2033/labels{/name}","comments_url":"https://api.github.com/repos/mpv-player/mpv/issues/2033/comments","events_url":"https://api.github.com/repos/mpv-player/mpv/issues/2033/events","html_url":"https://github.com/mpv-player/mpv/issues/2033","id":86253833,"number":2033,"title":"Possible LGPL relicensing","user":{"login":"wm4","id":1387750,"avatar_url":"https://avatars.githubusercontent.com/u/1387750?v=3","gravatar_id":"","url":"https://api.github.com/users/wm4","html_url":"https://github.com/wm4","followers_url":"https://api.github.com/users/wm4/followers","following_url":"https://api.github.com/users/wm4/following{/other_user}","gists_url":"https://api.github.com/users/wm4/gists{/gist_id}","starred_url":"https://api.github.com/users/wm4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wm4/subscriptions","organizations_url":"https://api.github.com/users/wm4/orgs","repos_url":"https://api.github.com/users/wm4/repos","events_url":"https://api.github.com/users/wm4/events{/privacy}","received_events_url":"https://api.github.com/users/wm4/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mpv-player/mpv/labels/meta","name":"meta","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-06-08T16:53:55Z","updated_at":"2015-06-08T17:22:26Z","closed_at":null,"body":"I'm assessing the possibility and feasibility of relicensing the player to LGPL (\"v2 or later\"). The reason is mostly 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:\r\n- 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).\r\n- User applications really should not be forced to use the GPL, because it's a library that provides a rather basic service (media playback). Even many GNU libraries rarely force GPL on the user (consider glibc, Guile, gettext, GNU lightning, GNU pth).\r\n- 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.\r\n- 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.\r\n- Alternatively, we could make an effort to add an OpenSSL exception to the mpv GPL license, but this would be just as much as effort as changing to LGPL, and solves just a small aspect of the whole issue.\r\n- Likewise, 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, and I'm not sure if that would actually solve the OpenSSL issue - maybe.\r\n\r\nThere are no detailed plans yet. I don't even know if complete relicensing is possible, or if there are e.g. central MPlayer developers with important contributions still remaining in mpv, who disagree with their code being used under LGPL.\r\n\r\nSo far I think it's ok to relicense a source file if:\r\n\r\n- all current contents of the file are written by authors who agreed with the LGPL switch\r\n- removed contents do not count\r\n- 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)\r\n\r\nI also wonder whether this can be done:\r\n\r\n- authors which only did minor cosmetic changes of some sort do not have a copyright on the file (consider code reindenting)\r\n\r\nFurther, 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:\r\n- VLC thinks 99.99% of the code must be covered and 99% of all developers (https://mailman.videolan.org/pipermail/vlc-commits/2011-November/010353.html)\r\n- Dolphin and Mozilla think only 95% of all contributors must have agreed (https://dolphin-emu.org/blog/2015/05/25/relicensing-dolphin/ http://blogs.fsfe.org/ciaran/?p=58)\r\n\r\nI'll probably start relicensing my own code to LGPL right away, as well that of others as soon as they give their agreement. (It can't hurt to make some code LGPL, and the licenses are freely mixable. The OpenGL code in mpv is even GPL/LGPL dual-licensed.) **However, whether we're serious about this and go all the way is a completely different question.**"},"comment":{"url":"https://api.github.com/repos/mpv-player/mpv/issues/comments/110082443","html_url":"https://github.com/mpv-player/mpv/issues/2033#issuecomment-110082443","issue_url":"https://api.github.com/repos/mpv-player/mpv/issues/2033","id":110082443,"user":{"login":"svenstaro","id":1664,"avatar_url":"https://avatars.githubusercontent.com/u/1664?v=3","gravatar_id":"","url":"https://api.github.com/users/svenstaro","html_url":"https://github.com/svenstaro","followers_url":"https://api.github.com/users/svenstaro/followers","following_url":"https://api.github.com/users/svenstaro/following{/other_user}","gists_url":"https://api.github.com/users/svenstaro/gists{/gist_id}","starred_url":"https://api.github.com/users/svenstaro/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/svenstaro/subscriptions","organizations_url":"https://api.github.com/users/svenstaro/orgs","repos_url":"https://api.github.com/users/svenstaro/repos","events_url":"https://api.github.com/users/svenstaro/events{/privacy}","received_events_url":"https://api.github.com/users/svenstaro/received_events","type":"User","site_admin":false},"created_at":"2015-06-08T17:22:26Z","updated_at":"2015-06-08T17:22:26Z","body":"I agree."}}