[Cython] License information on each individual files

Robert Bradshaw robertwb at gmail.com
Wed Jul 23 06:57:32 CEST 2014


On Sun, Jul 20, 2014 at 12:37 AM, Stefan Behnel <stefan_ml at behnel.de> wrote:
>
> 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.

Agreed, but if someone wrote a new Python-to-C compiler and grabbed
all our UtilityCodes to do so that would IMHO constitute a derivative
work.

> >> 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...

Yep. That's been the position every time the topic has come up, and
has been on our wiki for quite a while. I've clarified it here:

https://github.com/cython/cython/pull/306


More information about the cython-devel mailing list