Hi Minh,

On Dec 14, 9:07 pm, Minh Nguyen <nguyenmi...@gmail.com> wrote:
> [...]
> Your patch adds the following source files to the Sage library:
>
> * STABIL.c
> * STABIL.h
>
> both of which are explicitly licensed under the terms of GPLv3. A
> policy of the Sage project is to include only code licensed under the
> terms of the GPLv2+ in the Sage library. That means that any code that
> goes into the Sage library must be covered by the GPL version 2 or any
> later version, but not explicitly version 3. Here are some options I
> can think of to remedy the situation:
>
> (1) Relicense your C source files under the terms of the GPLv2+, after
> which you should be able to get your C source files into the Sage
> library.

That would be fine with me, but the original implementation by Dmitrii
Pasechnik and Luitpold Babel is licensed under GPLv3+, and while my
code doesn't technically use any lines from the original
implementation, it borrows heavily from the organizational structure
(after all, it uses the same algorithm), so if I understand correctly
it would be improper to relicense my own code, even if the original
authors permitted it - even the original authors cannot now relicense
their GPLv3+ code as GPLv2. (Please correct me if this understanding
is incorrect.)

> (2) Create a Sage package (also known as an spkg) and write an
> interface to your spkg. Anything in the interface that is licensed
> under GPLv2+ can be included in the Sage library. For everything else,
> you need to include them in your spkg. See this [1] from sage-devel on
> options for packaging your code so that the spkg can be distributed
> with Sage.

I actually have created an spkg as well, which works fine. However,
distributing a mere two functions consisting of less than 40 KB of
code seemed like sort of a waste, especially considering that the user
would then need to import a base-level package "wlrefine" instead of
immediately being able to use it. Or is that what you meant by
"writing an interface to" the the spkg? Just putting a .py file in
$SAGE_ROOT/devel/sage/sage/graphs/ that loads the module from the
spkg? I notice that you didn't list the .pyx file the patch also adds
(wlrefine.pyx) - I guess that could be called an "interface" to the C
code. Is that what you mean?

> > There is a comment in STABIL.c which says something about line
> > continuation and doctests, but this should hopefully be fixed by my
> > patch at trac #10458 (http://trac.sagemath.org/sage_trac/ticket/10458
> > ).
>
> See the following sage-devel thread for discussion on this matter:
>
> https://groups.google.com/group/sage-devel/browse_thread/thread/d6125...

Yes, thanks for publicizing my trac ticket! :)

Yours,
    Keshav

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to