cvs commit: src/lib/libdwarf Makefile _libdwarf.h dwarf.h dwarf_abbrev.c dwarf_attr.c dwarf_attrval.c dwarf_cu.c dwarf_dealloc.c dwarf_die.c dwarf_dump.c dwarf_errmsg.c dwarf_errno.c dwarf_finish.c dwarf_form.c dwarf_init.c dwarf_loc.c ...

M. Warner Losh imp at bsdimp.com
Fri May 23 16:58:22 UTC 2008


In message: <e7db6d980805230938k54da7389ia9635139d9f642df at mail.gmail.com>
            "Peter Wemm" <peter at wemm.org> writes:
: On Wed, May 21, 2008 at 8:11 PM, M. Warner Losh <imp at bsdimp.com> wrote:
: > In message: <200805220214.m4M2EYTM061847 at repoman.freebsd.org>
: >            John Birrell <jb at FreeBSD.org> writes:
: > :   The API for this library is deliberately different to the GPL'd
: > :   libdwarf to avoid licensing problems.
: >
: > What licensing problems does it avoid?  APIs can't be copyrighted, and
: > therefore can't be GPL'd.
: >
: > Warner
: 
: Well.. the GNU and linux folk have an interesting spin on this.  They
: seem to maintain that if an API is specific to a GPL'ed code blob,
: then programs that use that specific API are therefore derivatives.

Yes, they do...

: There was a case a few years ago about the gmp library.  They
: maintained that a 3rd party consumer of libgmp was a GPL violation if
: it wasn't distributed under GPL compatible terms.  I seem to recall
: that the 'fgmp' (free-gmp) library came out, and a new release of the
: 3rd party package was made with the references in the documentation
: changed to something like 'uses fgmp or a fgmp-compatible library like
: gmp' or some such.  It was all a giant circus and waste of effort,
: especially since fgmp wasn't really a viable gmp replacement.

There have been several court cases that show just the opposite,
especially when it comes to an established interface.  However, the
interface wasn't GPL'd, it was the contamination of the code calling
it before there was a !GPL'd implementation that was at issue...

: The next point is that the Linux folks (including Linus) seem to
: consider that making calls to the linux kernel causes your driver to
: be a derivative, unless the API you're calling has been blessed as a
: public interface.  (To be fair, I can see the point for their specific
: circumstances, but their interpretation of copyright seems to be quite
: a stretch to me).

True, but in this case the interface isn't copyrighted, just its use.

: Back to this case.  There are non-GPL implementations of libdwarf out
: there.  I think the API is well and truly fair game at this point.

Agreed.  that was rather my point: why have a gratuitously different
interface.

Warner


More information about the cvs-src mailing list