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

Måns Rullgård mru
Sat Jun 11 18:06:25 CEST 2005

"Fran?ois Revol" <revol at free.fr> writes:

>> 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
>> require proper permission from the copyright holder.  Creating a
>> compatible implementation is precisely what the FSF has done in the
>> case of the OpenSSL compatibility layer of GnuTLS.  If the FSF
>> requires users of the APIs of their libraries to allow the GPL to
>> extend the using application, then how can they consider themselves
>> having the right to duplicate the interfaces of others?
> Now that's an interesting pov on the GPL :) I always wondered if it
> applied at all to header files...  which define APIs.

I forgot adding an acronym: IANAL.  Anything I say on legal matters
may be totally wrong.  I can only guarantee that it makes sense to me.

> Like, I made a tuntap driver for BeOS that is compatible with the
> Linux API.  I had to make a header file of course, that ended up
> being quite the same (of course as it's the same API) as the Linux
> one. Except the Linux header is "covered by the GNU General Public
> Licence ...". Why would I be forced to put my driver under GPL while
> I never even read the code of the Linux one ?

That's a good example.  Now consider this: an application (A) uses a
GPL library (B), and, according to the FSF, is covered by the GPL.
Suppose that there exists a compatible library (C), under a
GPL-incompatible license.  By the same logic that made A a derivative
of B, it will now also be a derivative of C.  Hence, A must comply
with the license requirements of both B and C.  These licenses being
incompatible, such compliance is impossible, rendering A
undistributable.  Anyone who thinks this makes sense, please explain
it to me.

M?ns Rullg?rd
mru at inprovide.com

More information about the ffmpeg-devel mailing list