Adopting orphaned math packages

260 views
Skip to first unread message

Michael Orlitzky

unread,
Dec 17, 2019, 12:38:37 PM12/17/19
to sage-devel
SageMath uses a few packages that appear to have been abandoned
upstream. The most recent example I have in mind is Symmetrica:

http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/

The package's website (symmetrica.de) and contact address are both dead.
The upstream contact (Axel Kohnert) listed in SPKG.txt also has a dead
email address on the Bayreuth site.

Since the last release was over a decade ago, it contains a lot of old
bugs, and we've been patching it ourselves over the years. So has
everyone that ships it: Gentoo[0], Arch[1], Debian[2], Conda[3],
Fedora[4], etc.

At some point, it becomes a waste of time to duplicate this effort. And
presumably, SageMath is the only modern consumer of the library. What do
people think about adopting these sorts of packages under the SageMath
umbrella (on Github?) where we can maintain them properly and make new
releases?

My end-game here is that I would like to add Symmetrica to Gentoo, since
Dima was kind enough to add support for a system copy in Trac #28208.
But I don't want to be in the business of adding dead software to the
main repository, or of patching a tarball from 2008 myself for eternity.



[0]
https://github.com/cschwan/sage-on-gentoo/tree/master/sci-libs/symmetrica/files

[1]
https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/symmetrica

[2]
https://salsa.debian.org/science-team/symmetrica/tree/master/debian/patches

[3] https://anaconda.org/isuruf/symmetrica/files

[4] https://src.fedoraproject.org/rpms/symmetrica/tree/master

Dima Pasechnik

unread,
Dec 17, 2019, 1:11:26 PM12/17/19
to sage-devel


On Tue, 17 Dec 2019, 18:38 Michael Orlitzky, <mic...@orlitzky.com> wrote:
SageMath uses a few packages that appear to have been abandoned
upstream. The most recent example I have in mind is Symmetrica:

  http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/

The package's website (symmetrica.de) and contact address are both dead.
The upstream contact (Axel Kohnert) listed in SPKG.txt also has a dead
email address on the Bayreuth site.

Axel is no longer with us. Here is a death notice from 2013.




Since the last release was over a decade ago, it contains a lot of old
bugs, and we've been patching it ourselves over the years. So has
everyone that ships it: Gentoo[0], Arch[1], Debian[2], Conda[3],
Fedora[4], etc.

At some point, it becomes a waste of time to duplicate this effort. And
presumably, SageMath is the only modern consumer of the library. What do
people think about adopting these sorts of packages under the SageMath
umbrella (on Github?) where we can maintain them properly and make new
releases?

My end-game here is that I would like to add Symmetrica to Gentoo, since
Dima was kind enough to add support for a system copy in Trac #28208.
But I don't want to be in the business of adding dead software to the
main repository, or of patching a tarball from 2008 myself for eternity.



[0]
https://github.com/cschwan/sage-on-gentoo/tree/master/sci-libs/symmetrica/files

[1]
https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/symmetrica

[2]
https://salsa.debian.org/science-team/symmetrica/tree/master/debian/patches

[3] https://anaconda.org/isuruf/symmetrica/files

[4] https://src.fedoraproject.org/rpms/symmetrica/tree/master

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/940a6988-5f6e-34c9-d63e-7b28ce0bd6dc%40orlitzky.com.

Michael Orlitzky

unread,
Dec 17, 2019, 5:44:28 PM12/17/19
to sage-...@googlegroups.com
On 12/17/19 1:11 PM, Dima Pasechnik wrote:
>
>
>
> Axel is no longer with us. Here is a death notice from 2013.
>
> https://images.app.goo.gl/iLwwbzF1YyB7qLev9
>

A spectacularly poor choice of words on my part, in that case =(

E. Madison Bray

unread,
Dec 18, 2019, 5:19:54 AM12/18/19
to sage-devel
On Tue, Dec 17, 2019 at 6:38 PM Michael Orlitzky <mic...@orlitzky.com> wrote:
>
> SageMath uses a few packages that appear to have been abandoned
> upstream. The most recent example I have in mind is Symmetrica:
>
> http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/
>
> The package's website (symmetrica.de) and contact address are both dead.
> The upstream contact (Axel Kohnert) listed in SPKG.txt also has a dead
> email address on the Bayreuth site.
>
> Since the last release was over a decade ago, it contains a lot of old
> bugs, and we've been patching it ourselves over the years. So has
> everyone that ships it: Gentoo[0], Arch[1], Debian[2], Conda[3],
> Fedora[4], etc.
>
> At some point, it becomes a waste of time to duplicate this effort. And
> presumably, SageMath is the only modern consumer of the library. What do
> people think about adopting these sorts of packages under the SageMath
> umbrella (on Github?) where we can maintain them properly and make new
> releases?
>
> My end-game here is that I would like to add Symmetrica to Gentoo, since
> Dima was kind enough to add support for a system copy in Trac #28208.
> But I don't want to be in the business of adding dead software to the
> main repository, or of patching a tarball from 2008 myself for eternity.

We have already adopted a couple libraries under the umbrella of the
sagemath org on GitLab:

https://gitlab.com/sagemath

Most notably lcalc and zn_poly (I have been maintaining somewhat the
latter; I also started a few months ago on an effort to redo its built
system but the whole thing is a bit of a mess and I got sidetracked
and didn't finish...). In each case I believe that was with
permission of their original authors.

Looking in the latest source tarball for SYMMETRICA there are
absolutely zero license or copyright notifications. And if the author
is deceased, does that mean it's public domain? I don't know.

What I did with zn_poly, as there was no existing repository for it
either, is I got as many source tarballs for as many versions as I
could, unpacked each one in chronological order into a git repository,
and committed and tagged each version. So at least now there is a
version history represented in the repository:

https://gitlab.com/sagemath/zn_poly/commits/master

I then also applied each existing patch that was maintained in
SageMath, or at least those that seemed generally applicable. I also
added some meager continuous integration:

https://gitlab.com/sagemath/zn_poly/pipelines

How many different source tarballs for symmetrica do we have?
Effectively we only need the most recent, though it would be nice for
historical preservation to try to find older versions as well. Then,
if you want to volunteer to help maintain it, I can help you set that
up as we did with lcalc and zn_poly.

David Joyner

unread,
Dec 18, 2019, 5:25:59 AM12/18/19
to sage-devel

What I did with zn_poly, as there was no existing repository for it
either, is I got as many source tarballs for as many versions as I
could, unpacked each one in chronological order into a git repository,
and committed and tagged each version.  So at least now there is a
version history represented in the repository:

https://gitlab.com/sagemath/zn_poly/commits/master

I then also applied each existing patch that was maintained in
SageMath, or at least those that seemed generally applicable.  I also
added some meager continuous integration:

https://gitlab.com/sagemath/zn_poly/pipelines

How many different source tarballs for symmetrica do we have?
Effectively we only need the most recent, though it would be nice for
historical preservation to try to find older versions as well.  Then,
if you want to volunteer to help maintain it, I can help you set that
up as we did with lcalc and zn_poly.

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.

Antonio Rojas

unread,
Dec 18, 2019, 6:19:06 AM12/18/19
to sage-devel


El miércoles, 18 de diciembre de 2019, 11:19:54 (UTC+1), E. Madison Bray escribió:

Looking in the latest source tarball for SYMMETRICA there are
absolutely zero license or copyright notifications.  And if the author
is deceased, does that mean it's public domain?  I don't know.



"Symmetrica is public domain"

which links to:

/*
Copyright (c) 1987-2010 , symmetrica (at) symmetrica.de

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/

David Joyner

unread,
Dec 18, 2019, 6:31:14 AM12/18/19
to sage-devel
This is consistent with the text provided in https://directory.fsf.org/wiki/License:ISC
 

--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.

Michael Orlitzky

unread,
Dec 18, 2019, 9:04:19 PM12/18/19
to sage-...@googlegroups.com
On 12/18/19 5:19 AM, E. Madison Bray wrote:
>
> We have already adopted a couple libraries under the umbrella of the
> sagemath org on GitLab:
>
> https://gitlab.com/sagemath
>

Ah, perfect...


> How many different source tarballs for symmetrica do we have?
> Effectively we only need the most recent, though it would be nice for
> historical preservation to try to find older versions as well. Then,
> if you want to volunteer to help maintain it, I can help you set that
> up as we did with lcalc and zn_poly.

That would be great. I don't object to doing the work; I object to being
the seventh person to do the work.

The FTP site hosting the symmetrica-1.0 tarball is no longer running,
and I haven't been able to find a copy on the wayback machine or on
Google. Our own archive site seems to be down as well,

http://old.files.sagemath.org/

but for what it's worth, we updated to symmetrica-2.0 twelve years ago
in trac #1417 from a version titled "0.3.3" that I can find no mention
of anywhere else.

Tracking down v1.0 seems like it might be possible (it's got to be
sitting on somebody's hard drive, somewhere), but beyond that I think
the return on investment would be rather low.

Dima Pasechnik

unread,
Dec 19, 2019, 4:24:02 AM12/19/19
to sage-devel
I gather at some point Debian had Symmetrica 1.0 (?) - cf. "Conflicts:
libsymmetrica-dev" below, and now they have 2.0:

$ apt-cache show libsymmetrica2-dev
Package: libsymmetrica2-dev
Source: symmetrica
Version: 2.0+ds-6
Installed-Size: 20851
Maintainer: Debian Science Maintainers
<debian-scienc...@lists.alioth.debian.org>
Architecture: amd64
Provides: libsymmetrica-dev
Depends: libsymmetrica2 (= 2.0+ds-6)
Suggests: symmetrica-doc
Conflicts: libsymmetrica-dev
Description-en: Symmetrica Combinatoric C Library -- development package
Symmetrica is a library for combinatorics. It has support for the
representation theory of the symmetric group and related groups,
combinatorics of tableaux, symmetric functions and polynomials,
Schubert polynomials, and the representation theory of Hecke algebras
of type A_n.
.
This package contains the header files, static libraries and symbolic
links that developers using the Symmetrica Combinatoric C Library will
need.
Description-md5: b024a819394dc5eaa49ca1db910fcff5
Multi-Arch: same
Homepage: http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA
Tag: devel::library, role::devel-lib
Section: libdevel
Priority: optional
Filename: pool/main/s/symmetrica/libsymmetrica2-dev_2.0+ds-6_amd64.deb
Size: 2550356
MD5sum: 6763330ea1a25575b3aafed0466037e9
SHA256: b7d341cd53777bccd56125dc615781fb9cc9b6461a0ac9dca02dd3fd63de01fe



>
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/8d988677-0abc-2631-5e94-b6080bdde6dc%40orlitzky.com.

E. Madison Bray

unread,
Dec 20, 2019, 10:54:11 AM12/20/19
to sage-devel
On Thu, Dec 19, 2019 at 3:04 AM Michael Orlitzky <mic...@orlitzky.com> wrote:
>
> On 12/18/19 5:19 AM, E. Madison Bray wrote:
> >
> > We have already adopted a couple libraries under the umbrella of the
> > sagemath org on GitLab:
> >
> > https://gitlab.com/sagemath
> >
>
> Ah, perfect...
>
>
> > How many different source tarballs for symmetrica do we have?
> > Effectively we only need the most recent, though it would be nice for
> > historical preservation to try to find older versions as well. Then,
> > if you want to volunteer to help maintain it, I can help you set that
> > up as we did with lcalc and zn_poly.
>
> That would be great. I don't object to doing the work; I object to being
> the seventh person to do the work.
>
> The FTP site hosting the symmetrica-1.0 tarball is no longer running,
> and I haven't been able to find a copy on the wayback machine or on
> Google. Our own archive site seems to be down as well,
>
> http://old.files.sagemath.org/

Strange. I remember that working relatively recently. Maybe I can
ping the right people about it. If nothing else, I have access to the
server it is/was hosted on so let me see what files I can find on
there.

> but for what it's worth, we updated to symmetrica-2.0 twelve years ago
> in trac #1417 from a version titled "0.3.3" that I can find no mention
> of anywhere else.

Heh, that figures :)

> Tracking down v1.0 seems like it might be possible (it's got to be
> sitting on somebody's hard drive, somewhere), but beyond that I think
> the return on investment would be rather low.

Indeed, it was only a suggestion of something to do if possible--no
need to go out of our way.

E. Madison Bray

unread,
Dec 20, 2019, 10:57:50 AM12/20/19
to sage-devel
I found .spkg archives (which are essentially just zipfiles, or
tarballs, I forget which, containing the upstream sources along with
some Sage-specific stuff) for 0.3, 0.3.1, and 0.3.2 if you want them.
But perhaps it's not even terribly meaningful if they're *that* old
and we don't have anything between 0.3.2 and 2.0.

Michael Orlitzky

unread,
Dec 30, 2019, 3:41:55 PM12/30/19
to sage-...@googlegroups.com
On 12/20/19 10:57 AM, E. Madison Bray wrote:
>
> I found .spkg archives (which are essentially just zipfiles, or
> tarballs, I forget which, containing the upstream sources along with
> some Sage-specific stuff) for 0.3, 0.3.1, and 0.3.2 if you want them.
> But perhaps it's not even terribly meaningful if they're *that* old
> and we don't have anything between 0.3.2 and 2.0.

Up to you. I looked in earnest for a copy of v1.0 and wasn't able to
find one. I'm ready to give up and move forward.

Can you please set things up on gitlab?

The only thing I plan to do immediately is merge the patches that
everyone is already carrying, and make a v2.0.1 release.

E. Madison Bray

unread,
Jan 6, 2020, 10:36:13 AM1/6/20
to sage-devel
Sorry for the delay; I went ahead and created an empty project under
our organization and added (I assume) you as a maintainer, so have at
it: https://gitlab.com/sagemath/symmetrica

Michael Orlitzky

unread,
Jan 8, 2020, 10:28:59 PM1/8/20
to sage-...@googlegroups.com
On 1/6/20 10:35 AM, E. Madison Bray wrote:
>
> Sorry for the delay; I went ahead and created an empty project under
> our organization and added (I assume) you as a maintainer, so have at
> it: https://gitlab.com/sagemath/symmetrica
>

Thanks, I've gotten it to a point where it's usable. Most sage and
distro patches have been applied (see the issue list for some hand
wringing), and there's now a real build system thanks mainly to the
Debian maintainer.

Please give it a try and see what I broke.

E. Madison Bray

unread,
Jan 9, 2020, 6:27:50 AM1/9/20
to sage-devel
Great, I'll give it a try. It's nice they were able to help you add a
proper autoconf-based build system. I'm going to test it out on
Cygwin.

Maybe said Debian maintainer can help me out on my automake rework of
zn_poly's build system:
https://gitlab.com/sagemath/zn_poly/tree/autotooling I started
working on it last year and it basically works for building the
library. But I ran into some complications, mainly related to the
fact that it reuses source files in different combinations from
different directories to build different targets, in a way that is
normally incompatible with automake (I think I probably just need to
reorganize the sources a bit but I was trying to see how far I could
get without moving any files around; alas maybe that's just what needs
to be done).

I'll also see if I can add a .gitlab-ci.yml for symmetrica.

Michael Orlitzky

unread,
Jan 10, 2020, 11:36:24 PM1/10/20
to sage-...@googlegroups.com
We wound up targeting symmetrica-3.0.0 now, since it turns out every
distro had moved the public def.h and macro.h headers, and that's a
breaking change if we adopt it upstream. My personal TODO list is mostly
done. I'm going to add some more stuff to the README, but probably won't
make any more code changes before v3 unless someone points out an issue.


On 1/9/20 6:27 AM, E. Madison Bray wrote:
>
> Great, I'll give it a try. It's nice they were able to help you add a
> proper autoconf-based build system. I'm going to test it out on
> Cygwin.

I'll wait to hear if this worked first, though. There are some questions
about Windows support in issues #2 and #6 that I think I've answered,
but who knows.


> Maybe said Debian maintainer can help me out on my automake rework of
> zn_poly's build system:

That's another one that I'd be afraid to add to Gentoo in its current
state, so I'm sure you'll hear from me eventually.

E. Madison Bray

unread,
Jan 13, 2020, 10:55:18 AM1/13/20
to sage-devel
On Sat, Jan 11, 2020 at 5:36 AM Michael Orlitzky <mic...@orlitzky.com> wrote:
>
> We wound up targeting symmetrica-3.0.0 now, since it turns out every
> distro had moved the public def.h and macro.h headers, and that's a
> breaking change if we adopt it upstream. My personal TODO list is mostly
> done. I'm going to add some more stuff to the README, but probably won't
> make any more code changes before v3 unless someone points out an issue.
>
>
> On 1/9/20 6:27 AM, E. Madison Bray wrote:
> >
> > Great, I'll give it a try. It's nice they were able to help you add a
> > proper autoconf-based build system. I'm going to test it out on
> > Cygwin.
>
> I'll wait to hear if this worked first, though. There are some questions
> about Windows support in issues #2 and #6 that I think I've answered,
> but who knows.

It seems to work fine. Those issues seem to pertain specifically to
native Windows builds for conda--it's not relevant to Cygwin.
Reply all
Reply to author
Forward
0 new messages