[SciPy-Dev] FFTLog

Joshua Wilson josh.craig.wilson at gmail.com
Sun Oct 23 23:32:50 EDT 2016


TBH I'd rather we try to use SciPy's version anyway rather than have an
implementation of unknown quality sitting around in the wrong module. It
people want this feature (I don't know enough about it to have an opinion),
then I can send a PR to your fork with necessary changes to special. I
*think* this can be done in a portable way even though we can't use
ISO_C_BINDING. (Or can we? It's from the 2003 standard but gfortran and
ifort support it.)

On Sun, Oct 23, 2016 at 3:00 AM, Ralf Gommers <ralf.gommers at gmail.com>
wrote:

>
>
> On Wed, Oct 12, 2016 at 6:38 PM, Dieter Werthmüller <
> dieter at werthmuller.org> wrote:
>
>> Everyone,
>>
>> I have a response from Takuya Ooura, appended below. He has no problem
>> with it either, I just don't know if his response is explicit enough
>> (again).
>>
>> What do you think, is this enough?
>>
>
> Hmm, it's slightly ambiguous. I would tend to say no, better to get a
> clear statement. It sounds like he's happy, so you just need to spell out
> exactly what you need him to say. Or you add a BSD-3 license and "Copyright
> Takuya Ooura" at the top of that file in your scipy fork, point him to it,
> and say "can you please agree to that exact text".
>
> Cheers,
> Ralf
>
>
>
>
>>
>> Regards,
>> Dieter
>>
>> ========== START email correspondence with Takuya Ooura ==========
>> Subject: Re: cdgamma - license
>> From: Takuya Ooura <ooura at kurims.kyoto-u.ac.jp>
>> Date: Wed, 12 Oct 2016 21:31:01 +0900 (JST)
>> To: dieter at werthmuller.org
>>
>> Dear Dieter Werthm üller,
>>
>> Please use the modified version of cdgamma.f.
>> The license of my code is similar to the BSD-3-Clause license at present.
>>
>> --
>> Takuya Ooura
>> Email : ooura at kurims.kyoto-u.ac.jp
>>
>> >Dear Takuya Ooura,
>> >
>> >Firstly thank you very much for making your code available on your
>> website.
>> >
>> >I am writing to you regarding your cdgamma.f function. Andrew Hamilton
>> >used a modified version of it for his FFTLog, and got your written
>> >permission to distribute the modified version in his code.
>> >
>> >We would like to include FFTLog in the scientific library of the python
>> >programming language, SciPy, and with it the modified version of
>> cdgamma.f.
>> >
>> >The copyright statement distributed with your code states
>> >
>> >  Copyright(C) 1996 Takuya OOURA (email: ooura at mmm.t.u-tokyo.ac.jp).
>> >  You may use, copy, modify this code for any purpose and
>> >  without fee. You may distribute this ORIGINAL package.
>> >
>> >which makes it impossible for SciPy to include the modified version of
>> >cdgamma.f in FFTLog into their library, as the version in FFTLog is a
>> >MODIFIED version, and not the original version.
>> >
>> >Would it be possible that you could give SciPy the permission to
>> >distribute cdgamma.f under a permissive license? My suggestion would be
>> >the BSD-3-Clause license,
>> >https://opensource.org/licenses/BSD-3-Clause
>> >But any other BSD or MIT compatible license would be fine as well.
>> >
>> >Thank you for your time and for making cdgamma.f available on your
>> website.
>> >
>> >Best regards,
>> >Dieter Werthm üller
>>
>> ========== END email correspondence with Takuya Ooura ==========
>>
>>
>> On 08/10/16 15:04, Joshua Wilson wrote:
>>
>>> Dieter,
>>>
>>> First, a warning: this is going to involve some fun. ;-) Before going
>>> too far you should probably check that the different versions of the
>>> complex Gamma functions use the same branch cuts, etc. Note that if you
>>> want this to work in your external git repo you'll need to build against
>>> scipy master.
>>>
>>> Steps should be roughly:
>>> -- Write a Cython script that wraps the Cython version of SciPy's
>>> loggamma. See
>>>
>>> https://scipy.github.io/devdocs/special.cython_special.html#
>>> module-scipy.special.cython_special
>>> <https://scipy.github.io/devdocs/special.cython_special.html
>>> #module-scipy.special.cython_special>
>>>
>>> for info on cimporting loggamma.
>>> -- Export the wrapper as a C function using these steps:
>>>
>>> http://docs.cython.org/en/latest/src/userguide/external_C_co
>>> de.html#using-cython-declarations-from-c
>>> <http://docs.cython.org/en/latest/src/userguide/external_C_c
>>> ode.html#using-cython-declarations-from-c>
>>>
>>> -- Add the Cythonized C file to your setup and add an Interface block to
>>> your Fortran code letting it know how to call the C function.
>>>
>>> On Sat, Oct 8, 2016 at 1:11 PM, Dieter Werthmüller
>>> <dieter at werthmuller.org <mailto:dieter at werthmuller.org>> wrote:
>>>
>>>     Joshua
>>>
>>>     Thanks for your input. How could I include the Cython loggamma
>>>     function within my setup script, so that fftlog.f would pick it up?
>>>
>>>     Adjusting fftlog.f to pick up dfft*.f from
>>>     scipy/fftpack/src/dfftpack worked without problems. So if I could do
>>>     the same for loggamma, then the only new file would be fftlog.f, for
>>>     which we have the permission.
>>>
>>>     Thanks,
>>>     Dieter
>>>
>>>
>>>     On 07/10/16 21:18, Joshua Wilson wrote:
>>>
>>>         Re log gamma: under the hood the SciPy versions are in C (real
>>>         version)
>>>         and Cython (complex version), so linking them up with Fortran
>>>         code is
>>>         definitely doable.
>>>
>>>         On Fri, Oct 7, 2016 at 8:16 PM, Ralf Gommers
>>>         <ralf.gommers at gmail.com <mailto:ralf.gommers at gmail.com>
>>>         <mailto:ralf.gommers at gmail.com <mailto:ralf.gommers at gmail.com>>>
>>>         wrote:
>>>
>>>
>>>
>>>             On Sat, Oct 8, 2016 at 1:58 PM, Dieter Werthmüller
>>>             <dieter at werthmuller.org <mailto:dieter at werthmuller.org>
>>>         <mailto:dieter at werthmuller.org <mailto:dieter at werthmuller.org>>>
>>>         wrote:
>>>
>>>                 Evening,
>>>
>>>                 I wrote to Andrew Hamilton, and below is his answer. He
>>> has
>>>                 basically no problem with it at all, I just don't know
>>>         if his
>>>                 response is explicit enough.
>>>
>>>                 I think my email was quite extensive, and I assume that
>>>         is as
>>>                 much as we will get from him. I also do not expect him
>>>         to change
>>>                 his on "13 Mar 1999, 21:17" from TeX translated
>>> website...
>>>
>>>                 What do you think, is this enough?
>>>
>>>
>>>             Yes, that's perfectly fine. Thanks for clarifying that
>>> Dieter.
>>>
>>>             Cheers,
>>>             Ralf
>>>
>>>
>>>                 I also wrote to Takuya Ooura, and will let you know of
>>> his
>>>                 response, if I get one. However, as there are other
>>> complex
>>>                 logarithmic double precision gamma functions around, one
>>>         already
>>>                 in scipy, this piece is not mission critical.
>>>
>>>                 Regards,
>>>                 Dieter
>>>
>>>                 ========== START email correspondence with Andrew
>>> Hamilton
>>>                 ==========
>>>                 Subject: Re: FFTLog - license
>>>                 From: Andrew Hamilton <andrew.hamilton at colorado.edu
>>>         <mailto:andrew.hamilton at colorado.edu>
>>>                 <mailto:andrew.hamilton at colorado.edu
>>>         <mailto:andrew.hamilton at colorado.edu>>>
>>>                 Date: 07/10/16 18:22
>>>                 To: Dieter Werthmüller <dieter.werthmuller at gmx.ch
>>>         <mailto:dieter.werthmuller at gmx.ch>
>>>                 <mailto:dieter.werthmuller at gmx.ch
>>>         <mailto:dieter.werthmuller at gmx.ch>>>
>>>                 CC: Andrew.Hamilton at colorado.edu
>>>         <mailto:Andrew.Hamilton at colorado.edu>
>>>                 <mailto:Andrew.Hamilton at colorado.edu
>>>
>>>         <mailto:Andrew.Hamilton at colorado.edu>>
>>>
>>>
>>>                 Dieter,
>>>
>>>                 I approve your adding the license language you suggest to
>>>                 FFTLog, and making available the resulting package for
>>>         distribution.
>>>
>>>                 Andrew
>>>
>>>                 On 10/07/2016 03:42 PM, Dieter Werthmüller wrote:
>>>                 > Dear Andrew,
>>>                 >
>>>                 > Please apologize me bothering you again.
>>>                 >
>>>                 > After I published the code to wrap your FFTLog for
>>>         Python I
>>>                 thought that
>>>                 > it would be much better if your FFTLog would make it
>>>         straight
>>>                 into the
>>>                 > scientific library of Python. This would make your
>>> FFTLog
>>>                 available to a
>>>                 > much wider audience.
>>>                 >
>>>                 > I contacted the developers of SciPy
>>>         (http://scipy.org), and
>>>                 they are
>>>                 > interested in including your code. However, there is
>>>         one issue:
>>>                 > licensing. Code that is published on the web without a
>>>         license
>>>                 file is
>>>                 > copyrighted under law, and SciPy can for this reason
>>> not
>>>                 include your
>>>                 > code into their library.
>>>                 >
>>>                 > All I ask for is if you could confirm to us by email
>>>         that we
>>>                 are allowed
>>>                 > to distribute your FFTLog under the BSD-3-Clause
>>> license:
>>>                 > https://opensource.org/licenses/BSD-3-Clause
>>>         <https://opensource.org/licenses/BSD-3-Clause>
>>>                 <https://opensource.org/licenses/BSD-3-Clause
>>>         <https://opensource.org/licenses/BSD-3-Clause>>
>>>                 >
>>>                 > The license is just a suggestion, any other BSD or MIT
>>>         compatible
>>>                 > license would be fine as well. (For the same, legal
>>>         reasons we
>>>                 recommend
>>>                 > to publish a license file on your website too, but
>>> that is
>>>                 obviously
>>>                 > entirely up to you. It might, however, clarify things
>>> for
>>>                 future visitors.)
>>>                 >
>>>                 > It would only affect your fftlog.f file, and the
>>>         changes you
>>>                 made to
>>>                 > cdgamma.f. I will write Takuya OOURA as well regarding
>>> the
>>>                 original
>>>                 > cdgamma.f-file, asking him the same favour. And the
>>> three
>>>                 drfft*.f are
>>>                 > already in the SciPy-library with the whole FFTPack.
>>>                 >
>>>                 > If you are interested why this issue arises, Jake
>>>         Vanderplas,
>>>                 one of the
>>>                 > developers of SciPy, wrote an interesting article
>>>         about the topic:
>>>                 >
>>>
>>>         http://www.astrobetter.com/blog/2014/03/10/the-whys-and-hows
>>> -of-licensing-scientific-code/
>>>         <http://www.astrobetter.com/blog/2014/03/10/the-whys-and-how
>>> s-of-licensing-scientific-code/>
>>>
>>>         <http://www.astrobetter.com/blog/2014/03/10/the-whys-and-how
>>> s-of-licensing-scientific-code/
>>>         <http://www.astrobetter.com/blog/2014/03/10/the-whys-and-how
>>> s-of-licensing-scientific-code/>>
>>>                 >
>>>                 > Thank you again for your time and for making FFTLog
>>>         available!
>>>                 > Best regards,
>>>                 > Dieter
>>>                 >
>>>                 ========== END email correspondence with Andrew Hamilton
>>>         ==========
>>>
>>>                 On 07/10/16 15:13, Ralf Gommers wrote:
>>>
>>>
>>>
>>>                     On Sat, Oct 8, 2016 at 9:11 AM, Ralf Gommers
>>>                     <ralf.gommers at gmail.com
>>>         <mailto:ralf.gommers at gmail.com> <mailto:ralf.gommers at gmail.com
>>>         <mailto:ralf.gommers at gmail.com>>
>>>                     <mailto:ralf.gommers at gmail.com
>>>         <mailto:ralf.gommers at gmail.com>
>>>                     <mailto:ralf.gommers at gmail.com
>>>         <mailto:ralf.gommers at gmail.com>>>> wrote:
>>>
>>>
>>>
>>>                         On Sat, Oct 8, 2016 at 8:59 AM, Dieter
>>> Werthmüller
>>>                         <dieter at werthmuller.org
>>>         <mailto:dieter at werthmuller.org> <mailto:dieter at werthmuller.org
>>>         <mailto:dieter at werthmuller.org>>
>>>                     <mailto:dieter at werthmuller.org
>>>         <mailto:dieter at werthmuller.org>
>>>                     <mailto:dieter at werthmuller.org
>>>         <mailto:dieter at werthmuller.org>>>> wrote:
>>>
>>>                             Jake,
>>>
>>>                             Thanks for the clarification. I will try to
>>>         get the
>>>                     permissions
>>>                             from the
>>>                             authors.
>>>
>>>                             What is regarded as sufficient? Is an email
>>>         from the
>>>                     author,
>>>                             granting
>>>                             me/SciPy to distribute their code with a
>>>         specific,
>>>                     BSD-style license
>>>                             sufficient? Or do they necessarily have to
>>>         change
>>>                     the websites where
>>>                             they host the code to include the license?
>>>
>>>
>>>                         An email stating that the code can be
>>>         distributed under
>>>                     a BSD
>>>                         license  (or MIT or other compatible license) is
>>>         enough.
>>>
>>>
>>>                     Some delay on the line, missed Jake's answer. Email
>>> is
>>>                     enough, but a
>>>                     change in the repo would of course be even better.
>>>
>>>                     Ralf
>>>
>>>
>>>
>>>
>>>                     _______________________________________________
>>>                     SciPy-Dev mailing list
>>>                     SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>
>>>         <mailto:SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>>
>>>                     https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>         <https://mail.scipy.org/mailman/listinfo/scipy-dev>
>>>                     <https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>         <https://mail.scipy.org/mailman/listinfo/scipy-dev>>
>>>
>>>                 _______________________________________________
>>>                 SciPy-Dev mailing list
>>>                 SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>
>>>         <mailto:SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>>
>>>                 https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>         <https://mail.scipy.org/mailman/listinfo/scipy-dev>
>>>                 <https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>         <https://mail.scipy.org/mailman/listinfo/scipy-dev>>
>>>
>>>
>>>
>>>             _______________________________________________
>>>             SciPy-Dev mailing list
>>>             SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>
>>>         <mailto:SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>>
>>>             https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>         <https://mail.scipy.org/mailman/listinfo/scipy-dev>
>>>             <https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>         <https://mail.scipy.org/mailman/listinfo/scipy-dev>>
>>>
>>>
>>>
>>>
>>>         _______________________________________________
>>>         SciPy-Dev mailing list
>>>         SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>
>>>         https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>         <https://mail.scipy.org/mailman/listinfo/scipy-dev>
>>>
>>>     _______________________________________________
>>>     SciPy-Dev mailing list
>>>     SciPy-Dev at scipy.org <mailto:SciPy-Dev at scipy.org>
>>>     https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>     <https://mail.scipy.org/mailman/listinfo/scipy-dev>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> SciPy-Dev mailing list
>>> SciPy-Dev at scipy.org
>>> https://mail.scipy.org/mailman/listinfo/scipy-dev
>>>
>>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at scipy.org
>> https://mail.scipy.org/mailman/listinfo/scipy-dev
>>
>
>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> https://mail.scipy.org/mailman/listinfo/scipy-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20161023/a3055b5b/attachment.html>


More information about the SciPy-Dev mailing list