On Tue, Dec 13, 2011 at 11:14 AM, Volker Braun <vbraun.n...@gmail.com> wrote:
> Since libSystem.B.dylib is a os library we shouldn't have to care. Also, I
> don't think apple ships openssl since its not featured in apple ads ;-)
>
> Question for notebook developers: Do we actually use python's ssl module?
> The notebook code seems to have gnutls support, see
> e.g. sagenb/notebook/gnutls_socket_ssl.py

Quick remark:  this was something we hacked together to make Twisted
work with GNUtls, since Twisted does not support that officially.
Using openssl instead would have been much easier.

As far as I know, the ways crypto libs are used in Sage are:

  (1) to make it so the notebook can be served securely.

  (2) Mercurial requires (at least) libcrypt, or it won't do anything.

  (3) It is likely (?) that the pycrypto Python library that Sage
includes depends on having "import crypt" work, but I'm not sure.

Personally, I would love to dump the following spkg's from Sage:

   gnutls
   python_gnutls
   gcrypt
   libgpg_error
   opencdk

and either (a) require a system-wide ssl, or (b) include openssl in Sage.

Sage used to be (b) -- i.e., it did not include any of the above
packages, and did include openssl.  Then a student in my class pointed
out that openssl is not GPL-compatible [1], so I suffered greatly
swapping it out for the above libraries.  However, we never binary
link any GPL code with openssl -- any linking is done via Python at
runtime -- so maybe shipping openssl would be OK.

More to the point, (a) would be a great solution, if we're already
requiring *some* systemwide libcrypt* to build Sage anyways.  Why not
make that explicit, get rid of five annoying packages (which take a
while to build, etc.), and be done with it?    According to [1] again,
"The GPL also contains a 'special exception' which allows your GPL-ed
program to link against GPL incompatible libraries which are shipped
as part of the operating system that the executable runs on.", so (a)
is legal.  However, it seems possible that (b) is not legal since the
GPL says "the source code distributed need not include  anything that
is normally distributed (in either source or binary  form) with the
major components (compiler, kernel, and so on) of the  operating
system on which the executable runs, unless that component itself
accompanies the executable."

[1] http://people.gnome.org/~markmc/openssl-and-the-gpl.html

 -- William

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



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

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