[MPlayer-dev-eng] Re: help on libmpdemux usage (Modifié par Jérôme Cornet)

D Richard Felker III dalias at aerifal.cx
Thu Jan 15 18:20:32 CET 2004


On Thu, Jan 15, 2004 at 03:34:26PM +0100, Romain Dolbeau wrote:
> >It does not matter. GPL does not permit you to make QuickTime modules
> >out of GPL code.
> 
> The GPL prevent "derived work" IIRC. Nobody ever went
> to a court so see what a judge think a "derived work" is.
> It's very easy to argue than a component that links to
> a pre-existing, published interface is NOT a "derived work".

That's not the question. The question is whether a binary _containing_
libmpdemux is a derived work of MPlayer, and the answer is of course
YES! Distributing that derived work is not legal if it doesn't meet
the conditions of the GPL. And if that derived work is linked, even
dynamically, to QuickTime, then it's not meeting the conditions of the
GPL.

> After all, an ELF or MACH-O loader IS a published interface
> to which you need to "link". So why can non-GPL OSes load
> GPL software, or GPL OSes load non-GPL software ?

Because of the exception in the GPL @ line 159.

> >No, into the QuickTime framework, which is NON-FREE. This is not
> >acceptable. If you go forward with this project you will be flamed
> >badly in public, and possibly subject to legal action from MPlayer
> >developers, if it is feasible. So please drop it now.
> 
> MPlayer is already linked to QuickTime, in MacOS X.
> And to a few other frameworks like OpenGL or Cocoa.
> Are you going to claim MPlayer is already breaching
> the GPL by itself ?

You can't breach the GPL on code to which you hold copyright, since
you don't need to accept it yourself. Obviously for all code written
by MPlayer developers, they're implicitly giving their permission to
make binaries that use QuickTime codecs by putting that functionality
in the source to begin with. This does NOT imply that they're giving
their permission for parts of MPlayer source to be used in the (highly
proprietary) QuickTime framework.

As for non-inhouse GPL code in MPlayer, that's another matter and it's
slightly questionable (e.g. libmpeg2). But I doubt anyone will
complain, since the libmpeg2 functionality of MPlayer is in no way
related to the binaryware QuickTime codecs, and MPlayer does its job
playing mpeg1/2 files perfectly fine without the (runtime loaded) qt
dll's.

If one really wanted, one could built 2 MPlayer binaries: one with
QuickTime but not libmpeg2, and the other with libmpeg2 but not
QuickTime. So for all practical purposes, the two aren't linked.
There's certainly no dependence between them, unlike the example we're
dealing with of incorporating libmpdemux into QuickTime.

> Or do you claim that doing the
> exact same thing is legal if the loader is a shell
> (some of them non GPL, not everyone uses bash),

ROTFL, this shows your ignorance. The shell has nothing to do with
program loading.

> but not if it is QuickTime Player ? What if the module
> was a wrapper that simply launched mplayer via exec() ?

Then it wouldn't work. :)

> Seems to me more politics than anything else.

Yes, the purpose of the GPL is political: to keep code free and ensure
that it's not taken for the purpose of enhancing proprietary software
while providing no benefit to free software.

> That's
> fine, it's *your* code, and you can do whatever you
> want with it, but I think you need something more
> restrictive than the GPL for what (I understand)
> you want.

It's not possible to be more restrictive than the GPL in this area.
It's the maximum allowed under the law (in most countries at least).

Rich





More information about the MPlayer-dev-eng mailing list