diff options
author | Joshua V. Dillon <jvdillon@google.com> | 2018-10-01 15:58:21 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-10-01 16:05:58 -0700 |
commit | 8559bc2c4c7616c5da8b4f7a3e1405c549a6068d (patch) | |
tree | 88f60b1bd6af3abb1b0d0e6a4eff4400965596ab /tensorflow/python/ops | |
parent | 6509437545f8fc973b39489c285811ea8cc8b15a (diff) |
Add email comment explicitly authorizing distributions/special_math.py be released under Apache 2.0.
PiperOrigin-RevId: 215296386
Diffstat (limited to 'tensorflow/python/ops')
-rw-r--r-- | tensorflow/python/ops/distributions/special_math.py | 61 |
1 files changed, 59 insertions, 2 deletions
diff --git a/tensorflow/python/ops/distributions/special_math.py b/tensorflow/python/ops/distributions/special_math.py index 31b7a36fd3..ccc667cae3 100644 --- a/tensorflow/python/ops/distributions/special_math.py +++ b/tensorflow/python/ops/distributions/special_math.py @@ -12,6 +12,62 @@ # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================== + +# Functions "ndtr" and "ndtri" are derived from calculations made in: +# https://root.cern.ch/doc/v608/SpecFuncCephesInv_8cxx_source.html +# In the following email exchange, the author gives his consent to redistribute +# derived works under an Apache 2.0 license. +# +# From: Stephen Moshier <steve@moshier.net> +# Date: Sat, Jun 9, 2018 at 2:36 PM +# Subject: Re: Licensing cephes under Apache (BSD-like) license. +# To: rif <rif@google.com> +# +# +# +# Hello Rif, +# +# Yes, Google may distribute Cephes files under the Apache 2 license. +# +# If clarification is needed, I do not favor BSD over other free licenses. +# I would agree that Apache 2 seems to cover the concern you mentioned +# about sublicensees. +# +# Best wishes for good luck with your projects! +# Steve Moshier +# +# +# +# On Thu, 31 May 2018, rif wrote: +# +# > Hello Steve. +# > My name is Rif. I work on machine learning software at Google. +# > +# > Your cephes software continues to be incredibly useful and widely used. I +# > was wondering whether it would be permissible for us to use the Cephes code +# > under the Apache 2.0 license, which is extremely similar in permissions to +# > the BSD license (Wikipedia comparisons). This would be quite helpful to us +# > in terms of avoiding multiple licenses on software. +# > +# > I'm sorry to bother you with this (I can imagine you're sick of hearing +# > about this by now), but I want to be absolutely clear we're on the level and +# > not misusing your important software. In former conversation with Eugene +# > Brevdo (ebrevdo@google.com), you wrote "If your licensing is similar to BSD, +# > the formal way that has been handled is simply to add a statement to the +# > effect that you are incorporating the Cephes software by permission of the +# > author." I wanted to confirm that (a) we could use the Apache license, (b) +# > that we don't need to (and probably you don't want to) keep getting +# > contacted about individual uses, because your intent is generally to allow +# > this software to be reused under "BSD-like" license, and (c) you're OK +# > letting incorporators decide whether a license is sufficiently BSD-like? +# > +# > Best, +# > +# > rif +# > +# > +# > + """Special Math Ops.""" from __future__ import absolute_import @@ -135,7 +191,7 @@ def _ndtri(p): # Constants used in piece-wise rational approximations. Taken from the cephes # library: - # https://github.com/scipy/scipy/blob/master/scipy/special/cephes/ndtri.c + # https://root.cern.ch/doc/v608/SpecFuncCephesInv_8cxx_source.html p0 = list(reversed([-5.99633501014107895267E1, 9.80010754185999661536E1, -5.66762857469070293439E1, @@ -305,7 +361,8 @@ def log_ndtr(x, series_order=3, name="log_ndtr"): else: raise TypeError("x.dtype=%s is not supported." % x.dtype) - # The basic idea here was ported from py/scipy/special/cephes/ndtr.c. + # The basic idea here was ported from: + # https://root.cern.ch/doc/v608/SpecFuncCephesInv_8cxx_source.html # We copy the main idea, with a few changes # * For x >> 1, and X ~ Normal(0, 1), # Log[P[X < x]] = Log[1 - P[X < -x]] approx -P[X < -x], |