Hi Paul

I’ve watching this thread with interest, and I must admit I’m reluctant to get 
too involved, but there are a couple of things I thought it might be helpful 
(!) to point out. 

> On 20 Mar 2019, at 13:53, Paul Jakma <p...@jakma.org> wrote:
> 
> On Wed, 20 Mar 2019, Ole Streicher wrote:
> 
>> My example
>> 
>> #include <log.h>
>> int main(void) { zlog_rotate(); return 0; }
>> 
>> is not an adaption of any GPL code. It is fully written by my
>> own.
> 
> It is written by you, and you have copyright in it (in some way, I 
> have the vague idea there can be complex legal details in that).
> 
> However, assuming this "zlog_rotate" function is non-trivial and a 
> copyrightable work, then the holder of the copyright in "zlog_rotate" 
> /also/ has copyright in your work. For your work is based upon the 
> "zlog_rotate" work - it /is/ an adaptation of it.
> 
> I know there are many programmers who can't get their head around that, 
> however I don't believe that's at all contraversial amongst lawyers.


This would only be true if the string of text “zlog_rotate” is itself 
copyrightable. And in all jurisdictions I’m aware of, it would fail that test. 

Incorporating the functionality of a work by reference is something that 
lawyers have been doing for years. We will write building contracts 
incorporating JCT Minor works and financial contracts incorporating IFEMAs and 
ISDAs. JCTs, IFEMAs and ISDAs are all standard form contracts which are 
copyrighted works, but unless we copy any or all of the content of those 
standard works, then we are not required to pay any licensing fees for only 
referring to them and incorporating them by name. 

There is an argument that the GPL overreaches copyright law, and says “if you 
incorporate a piece of GPLd work G into another work W, no matter how trivial 
that incorporation is, that other work must only be distributed under the GPL”. 
If that is true, then the distributing party may be in breach of its licence to 
work G, and may be at risk of having its licence to G terminated by its act of 
distributing work W, but the copyright owner of W will have no way of 
preventing the onward distribution of work W. There have been cases in the US 
which suggest that this sort of overreach is unacceptable (it’s essentially a 
way of trying to create new, more extensive copyright law by the back door), 
but I’m not a US lawyer, so can’t comment authoritatively. 

If the GPL doesn’t overreach copyright law, then it’s fine to distribute W 
under whatever licence you want. Of course, this only applies to the source. If 
you distribute the object code, then you will have created a combined work 
(which Larry Rosen has argued, I believe, is collective work as you can still 
reverse engineer it to extract the two components, but that’s not an argument 
I’d like to rely on). 

If, in order to write work W, you have to incorporate sufficient of work G (for 
example an interface definition) into it to make it work that some 
copyrightable part of G is incorporated, then this argument fails, but ONLY if 
the parts so copied are subject to the GPL. For example, imagine a program X 
uses plugins, and it has a published specification for the interface which is 
usable without licence (assuming either that the interface is not 
copyrightable, or there is an unrestricted licence) You write a piece of 
software to that specification, and release it under the GPL. Now it would be 
absurd to suggest that program X has to be released under the GPL, to comply 
with the licence of a piece of software which was written *after* it was 
written. Similarly, if I write another piece of software Y which uses your GPL 
plugin (thus replicating the plugin interface of program X), then there is no 
requirement on me to release my code under the GPL. I am copying X’s 
specification. 

This does, of course, suggest a way of violating the spirit of the GPL by 
distributing non-GPL component X and component Y in source code as an 
aggregation, and then also sending over a script to the recipient which 
combines them. Since the combination occurs prior to distribution, the argument 
goes, then this is fine. There are a few counterarguments to this. The first is 
that there is some form of secondary infringement. I have difficulty with this 
argument: causing someone to do something which is perfectly legal for them to 
do seems to be a stretch. The second is more interesting, and that is that my 
causing the script to run on the recipients machine, the person sending the 
code somehow has control of the recipient’s machine, and is therefore for the 
period of time that the script is running, they are dong the combination, 
immediately following which the result is distributed, in violation of the GPL, 
to the recipient. Far fetched? Well, think about what would happen if the 
activity took place inside a VM running on the recipient’s machine to which the 
sender had root access, until the point at which the combination completed, and 
the sender granted root access to the recipient. The law doesn’t really have 
the tools to deal with these situations, as I discussed a couple of years ago 
in the Legal Devroom at FOSDEM. 
https://archive.fosdem.org/2016/schedule/event/triggering_copyleft/

Best


Andrew



> 
>> Therefore, I don't need to respect the GPL to distribute it. The
>> same is true for the FRR code as far as I have seen it.
> 
> This is where you're at odds with the solicitors I have had advice from.
> 
 Unfortunately, solicitors don’t always give consistent advice...

Best



Andrew

>> Otherwise you must point to a certain code file and prove that it 
>> contains code which is a modified copy of an GPLed file. Which you not 
>> did yet.
> 
> I have given examples of files where the legal advice is that they are 
> derived works of the GPL code.
> 
> regards,
> -- 
> Paul Jakma | p...@jakma.org | @pjakma | Key ID: 0xD86BF79464A2FF6A
> Fortune:
> Armadillo:
>       To provide weapons to a Spanish pickle.
> 

Reply via email to