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.