[Ffmpeg-devel] Patch for dynamic liba52.so loading

Måns Rullgård mru
Sat Jun 11 21:35:44 CEST 2005


Rich Felker <dalias at aerifal.cx> writes:

> On Sat, Jun 11, 2005 at 04:53:56PM +0200, M?ns Rullg?rd wrote:
>> Rich Felker <dalias at aerifal.cx> writes:
>> 
>> >> > Of course there are multiple codec contexts. Is there a good reason
>> >> > for dynamic loading support? IMO it's unnecessary complexity that
>> >> > should just be removed..
>> >> 
>> >> There is no technical reason for dynamic loading.  It allows
>> >> libavcodec to be distributed under the LGPL, and still use liba52,
>> >> even if you believe the lies being perpetrated by the FSF.
>> >
>> > As long as the party setting it up for this use is not also
>> > distributing liba52 or outerwise doing something for it that requires
>> > accepting the GPL on liba52 I agree. On the other hand, if someone
>> > makes a proprietary program that needs to decode ac3, and distributes
>> > it with libavcodec compiled for dynamic liba52 loading, then offers a
>> > separate download of liba52 under GPL terms, they ARE infringing on
>> > liba52. Making them separate downloads or separating them in other
>> > ways does not get around the fact that they have prepared a non-GPL
>> > derivative work of liba52, thus invalidating their rights to
>> > distribute liba52 under the GPL.
>> 
>> The point is that linking against liba52 (or any other library) does
>> not create a derived work.  There is a fair amount of evidence that
>> making use of a library through its API, does not amount to creating a
>> derived work.  The bits from the library that end up in the executable
>> linking to it (names of functions, mainly), are not subject to
>> copyright protection.  This is analogous to writing an article, in
>> which references to various books are made.  This does in no way
>> infringe on the copyright of the books referenced.
>> 
>> If APIs were protected by copyright, then creating a compatible
>> implementation would also be creating a derived work, and would
>
> The legal definition of "derived work" is totally irrelevant to what I
> said. If the vendor is distributing copies of liba52 WHATSOEVER, they
> must have permission to do so.

The GPL grants them such permission, provided (for instance) that they
do not modify liba52, and also distribute the sources.  This is
independent from what else they happen to be distributing in addition.

> Otherwise they are infringing copyright. The GPL __ONLY__ allows
> them to make copies under certain conditions, one of which is that
> any "derivative work" (according to the GPL's definition, not the
> copyright definition) MUST be licensed under the GPL.

Incidentally, the GPL explicitly defines a "work based on the
program", which is the term used throughout the text, by referring to
copyright law:

    0. This License applies to any program or other work which contains
  a notice placed by the copyright holder saying it may be distributed
  under the terms of this General Public License.  The "Program",
  below, refers to any such program or work, and a "work based on the
  Program" means either the Program or any derivative work under
  copyright law:

Go back and read the GPL again, then let's discuss.

-- 
M?ns Rullg?rd
mru at inprovide.com





More information about the ffmpeg-devel mailing list