[copyleft-next] Fwd: Re: Modify Corresponding Source definition, mainly to delete 'install and run'. (14249c2)

Engel Nyst engel.nyst at gmail.com
Sun Dec 30 21:42:18 UTC 2012


Hello copyleft-next,

I apologize for the lack of clarity of my question on github. If I
may, I will try to express a few points of the meaning of the
question.

On 12/30/12, Richard Fontana <fontana at sharpeleven.org> wrote:
> On 12/30/2012 10:33 AM, Richard Fontana wrote:
>>> (iii) all relevant interface definition files;
>>
>> Is this intended to mean: the API?
>
> There are one or more interesting questions implied by this one.
>
> The reference to "interface definition files" was IIRC introduced in
> GPLv2's definition of complete corresponding source code. It was
> retained in GPLv3's definition of "Corresponding Source", and also in
> copyleft-next (with the addition of the adjective 'relevant' which I
> suppose reflected the germ of some questioning of this by me).
>
> I do not know what the GitHub commenter means by "the API", but in a
> way that itself is an interesting point. I have always assumed that
> the "interface definition files" referred to in GPLv2 are .h files of
> programs written in C (or C++).

I have always assumed the same on the intended meaning in GPL: that it
corresponds to .h files for C/C++. I believe I have seen this
interpretation often.

If this is the case, then they correspond, in Java, to simply .java
files, which define an interface. They're part of the source code, in
the sense covered by "Corresponding source" (i)... I'm not sure I
understand (and I never really did, for GPL), why would they be
specified separately.

> Could "interface definition files" mean something other than .h files
> in any sort of foreseeable GPL compliance context?

If they mean "like .h files in C/C++", then the way I see it, they
mean a collection of function signatures, structures definitions,
which is to say: the API, application programming interface, of a
library or application. Same as for .java APIs, essentially.

In my understanding of the Oracle vs Google trial, the APIs are not
copyrightable. (ref: http://www.groklaw.net/pdf3/OraGoogle-1211.pdf).
As such, I don't understand their place in a copyright license...

Please allow a IANAL disclaimer, for the following. I am using the
criterium: can I write this file in any essentially different way?
Answer is: no. (unless it contains original macros or abundant
documentation perhaps). Cosmetic changes, even if I fully rewrite it,
do not change that function signatures still have to be what they have
to be, to work. If they're not copyrightable, then they're not
licensable, are they?

I admit that for me, this particular issue is more due to intellectual
curiosity, than practical consequences. I am not aware of any case of
GPL enforcement issues on this. Eventually, it may be useful to
publicly (and visibly) correct the understanding on .h files, if that
isn't the intention of the term "interface definition files"?


More information about the copyleft-next mailing list