[Cython] License information on each individual files

Nathaniel Smith njs at pobox.com
Sat Jul 19 19:42:20 CEST 2014


On Sat, Jul 19, 2014 at 7:39 AM, Stefan Behnel <stefan_ml at behnel.de> 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.

[...]
> 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) :-(.
This might be okay because of the language in the GPL that's designed
to make it possible to write e.g. GPL'ed Win32 programs, but I'm not
at all sure.

> 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/)

-n

-- 
Nathaniel J. Smith
Postdoctoral researcher - Informatics - University of Edinburgh
http://vorpus.org


More information about the cython-devel mailing list