[FFmpeg-devel] Support master branch of OpenJPEG and Grok J2K codecs

Ronald S. Bultje rsbultje at gmail.com
Mon Apr 4 15:28:40 CEST 2016


Hi,

On Mon, Apr 4, 2016 at 9:21 AM, Aaron Boxer <boxerab at gmail.com> wrote:

> Hi Ronald,
>
>
> On Mon, Apr 4, 2016 at 8:56 AM, Ronald S. Bultje <rsbultje at gmail.com>
> wrote:
>
> > Hi,
> >
> > On Mon, Apr 4, 2016 at 8:43 AM, Aaron Boxer <boxerab at gmail.com> wrote:
> >
> > > Hi Ronald,
> > >
> > >
> > > On Mon, Apr 4, 2016 at 8:34 AM, Ronald S. Bultje <rsbultje at gmail.com>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > On Mon, Apr 4, 2016 at 7:59 AM, Aaron Boxer <boxerab at gmail.com>
> wrote:
> > > >
> > > > > On Mon, Apr 4, 2016 at 7:13 AM, wm4 <nfxjfg at googlemail.com> wrote:
> > > > >
> > > > > > On Sun, 3 Apr 2016 17:31:25 -0400
> > > > > > Aaron Boxer <boxerab at gmail.com> wrote:
> > > > > >
> > > > > > > Hi Folks,
> > > > > > >
> > > > > > > Here is a small patch to get FFmpeg working with both OpenJPEG
> > > master
> > > > > and
> > > > > > > Grok master, for J2K support.  The comment on the commit has
> all
> > of
> > > > the
> > > > > > > details; the main change is to remove the OPJ_STATIC flag from
> > > > > configure,
> > > > > > > so that FFmpeg can be configured with a dynamic build of both
> > > codecs.
> > > > > > >
> > > > > > > I also want to reiterate that because FFmpeg can be distributed
> > > under
> > > > > GPL
> > > > > > > v3, and Grok is licensed under the AGPL, there are no licensing
> > > > issues
> > > > > > > regarding distributing FFmpeg together with Grok.
> > > > > > >
> > > > > > > Quoting from Wikipedia:
> > > > > > >
> > > > > > > "By contrast, GPLv3 and AGPLv3 each include clauses (in section
> > 13
> > > of
> > > > > > each
> > > > > > > license) that together achieve a form of mutual compatibility
> for
> > > the
> > > > > two
> > > > > > > licenses. These clauses explicitly allow the "conveying
> > > > > > > <https://en.wiktionary.org/wiki/convey#Verb>" of a work formed
> > by
> > > > > > linking
> > > > > > > code licensed under the one license against code licensed under
> > the
> > > > > other
> > > > > > > license,[3]
> > > > > > > <
> > > > >
> > >
> https://en.wikipedia.org/wiki/Affero_General_Public_License#cite_note-3
> > > > > > >
> > > > > > > despite the licenses otherwise not allowing relicensing under
> the
> > > > terms
> > > > > > of
> > > > > > > each other.[4]
> > > > > > > <
> > > > > >
> > > > >
> > > >
> > >
> >
> https://en.wikipedia.org/wiki/Affero_General_Public_License#cite_note-fsf2-4
> > > > > > >
> > > > > > > In this way, the copyleft of each license is relaxed to allow
> > > > > > distributing
> > > > > > > such combinations.[4] "
> > > > > > > <
> > > > > >
> > > > >
> > > >
> > >
> >
> https://en.wikipedia.org/wiki/Affero_General_Public_License#cite_note-fsf2-4
> > > > > > >
> > > > > > >
> > > > > > > So, this patch will expand the choice of J2K codecs for all
> users
> > > who
> > > > > use
> > > > > > > FFmpeg under the GPLv3 license.
> > > > > >
> > > > > > AGPL is evil. That alone warrants creating a better, actually
> free
> > > > > > version of the decoder.
> > > > > >
> > > > >
> > > > > The only difference between AGPL and GPL is the proviso that users
> > > > > connecting to a program using AGPL code
> > > > > must be provided with the full source code for the program. This is
> > to
> > > > > close the loophole in the GPL where
> > > > > someone can take free software, put it in the "cloud", and then
> treat
> > > it
> > > > as
> > > > > closed, non-free software, because they
> > > > > do not have to distribute modifications.
> > > > >
> > > > > Please explain why you think this is a Bad Thing (TM)  ?
> > > >
> > > >
> > > > Because it's a fork, not in the codebase sense but in the licensing
> > > sense,
> > > > but the effect is the same. We will not be able to combine multiple
> > > > branches of the fork because each of them is only compatible in its
> own
> > > > direction - "LGPL code can be merged into AGPL code to create AGPL
> > code"
> > > > but not the other way around.
> > > >
> > > > That is fundamentally unfair for those of us that actually _want_ a
> > > > LGPLv2.1-or-later codebase. Why would you get all our spoils but not
> > the
> > > > other way around?
> > > >
> > >
> > > Sorry, I was wrong in my original statements. I've learned a bit more
> > about
> > > how these
> > > licenses work.
> > >
> > > This is not a fork. FSF allows GPL 3 and AGPL 3 code to be combined.
> > > If FFmpeg can be distributed according to GPL 3, then it can included
> > AGPL
> > > 3 code.
> > >
> > > Very simple.
> >
> >
> > Oh, no, no, no. Very simple for _you_, with your _simple_ goal of using
> > ffmpeg and profiting from it by AGPL'ing your component.
> >
> > But for me, as a maintainer, can I combine GPLv2 with AGPLv3? For
> example,
> > can I link a GPLv2 application with a AGPLv3 build of ffmpeg and
> distribute
> > the result? Can I link an AGPLv3 build of ffmpeg with a closed-source
> > application and distribute the result? Can "big" users of ffmpeg,
> companies
> > that fund out project (through e.g. GSoC), like, say, Google, use AGPLv3
> > builds of ffmpeg without a change in their respective requirements for
> > complying with the license terms?
> >
> > Or, to say it differently: who profits from AGPLv3 components? FFmpeg? Or
> > just you? I think it's just you, and that's extremely selfish. It's not
> in
> > the best interest of our project to accept AGPLv3 components, it's only
> in
> > your self-interest that it be accepted. And _that_'s a fundamental
> problem.
> >
> >
> All of your arguments could be applied equally to GPL v3 components. And
> yet,
>

I'm not a fan (from a licensing perspective) of our GPL-only components,
but in some cases I'm willing to accept it because I don't really see an
alternative. For example, when was the last time you saw a LGPL-licensed
H.264 encoder that kicked ass?

I've seen plenty liberally-licensed j2k codecs. I would want to encourage
their use and development rather than splinter the playing field even more.
So, if you wish, yes, I'm encouraging you and other j2k experts to stop
developing grok and instead focus on the more liberally-licensed libs that
already exist.

Ronald


More information about the ffmpeg-devel mailing list