[Cython] License information on each individual files
Stefan Behnel
stefan_ml at behnel.de
Sun Jul 20 09:37:17 CEST 2014
Nathaniel Smith, 19.07.2014 19:42:
> On Sat, Jul 19, 2014 at 7:39 AM, Stefan Behnel wrote:
>> Sturla Molden, 19.07.2014 00:36:
>>> Robert Bradshaw wrote:
>>>> It's not just the initial patch; I'm primarily worried about the
>>>> maintenance burden
>>>
>>> And also, will it break utility code and binary blobs? It might not even be
>>> safe to put it in every file.
>>>
>>> And when put in files with utility C code, will it be included in the
>>> generated .c file and taint this file with a notification about Cython's
>>> Apache license?
>>
>> Well, on the technical side, stuff at the beginning of a utility code file
>> should just be ignored, up to the first header line (starting with a
>> sequence of at least 5 comment characters). Some of them already contain
>> leading comments anyway.
>>
>> On the legal side, the licensing state of the generated code does not
>> change by copying the license description from the global license file into
>> each code file, because the global license already applies to the complete
>> code base anyway (unless stated otherwise).
>>
>> However, what *is* the licensing state of the generated code? Strictly
>> speaking, the code generated by Cython, all parts of which are embedded in
>> Cython's own source code, could be considered a "derivative work" by some.
>
> I suspect that "some" includes most lawyers and judges ;-). There's
> tons of copyrightable code copied into Cython output.
The bulk of what gets "copied" are really just tiny character sequences
each of which would be impossible to protect legally. And they even get
substantially modified before being written out. But there's probably still
plenty of room for lawyers to sell days of work here, and the utility code
files form a major piece of work by themselves that gets copied into the
generated code in substantial (i.e. protectable) chunks.
>> From my side, that statement definitely still applies. I really don't want
>> to have anything to say on what users do with the code generated from their
>> own source code. I do not even consider the generated code a "derivative
>> work" myself, but IANAL...
>>
>> Anyway, as far as I understand it, the worst case is that people who ship
>> Cython generated code have to add a copy of the Apache License to their
>> package as well as any attribution notices we ship. That's annoying, but
>> not really the end of the world.
>
> No, the worst case is that GPL2 projects can't legally use code
> written in Cython (perhaps even indirectly via other projects) :-(.
Interesting:
https://www.apache.org/licenses/GPL-compatibility.html
I wasn't aware of that problem, but now that I read about it, it's not
really a surprise.
>> Also, utility code files could be exempt from the license explicitly by
>> stating so (although they'd then need another license to allow for safe
>> contributions to them).
>
> There's substantial prior art for this kind of thing, see e.g. the GCC
> runtime exception, the Classpath exception, etc.
>
> You might want to send an email to help at softwarefreedom.org describing
> the situation and asking for advice. (See
> https://www.softwarefreedom.org/about/contact/)
Thanks for the pointer. Since it's a legal issue, it's usually best to
leave it to those who know their way around in that well minded area.
Stefan
More information about the cython-devel
mailing list