Opened 3 years ago

Last modified 13 months ago

#21571 new enhancement

Install COPYING.txt

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-7.5
Component: build Keywords:
Cc: was, vbraun, jdemeyer, dimpase, thansen, fbissey, infinity0 Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/install_copying_txt_in_sage_local_and_use_it_from_misc_copying_py (Commits) Commit: 91f7b9a81eb741d5f7a1cf3591767644652da946
Dependencies: Stopgaps:

Description (last modified by jdemeyer)

Use the installed location for COPYING.txt from sage.misc.copying.

Change History (23)

comment:1 Changed 3 years ago by embray

I was about to make this ticket as well...

comment:2 Changed 3 years ago by mkoeppe

Please feel free to work on it, or any other of the tickets that I have created. If I didn't put my name on "Authors", I haven't done any work on it yet; so there's no danger of duplicating work.

comment:3 follow-up: Changed 3 years ago by embray

I think really, to get this right more work needs to be done on cleaning up the setup.py.

comment:4 in reply to: ↑ 3 Changed 3 years ago by mkoeppe

Replying to embray:

I think really, to get this right more work needs to be done on cleaning up the setup.py.

Is it feasible to do this one on top of #21604 and #21600, or is more cleaning needed first?

comment:5 Changed 3 years ago by embray

I mean, part of the problem is "COPYING.txt" does not even exist in the root of the Python source code (that is, at or below setup.py). When we make a source distribution of sagelib it's going to have to have all the files it needs in it. So for starters we're going to have to copy COPYING.txt into src/

comment:6 Changed 3 years ago by mkoeppe

Instead of copying, perhaps we can move it to src/ and replace it by a very short notice in COPYING.txt, pointing the user to src/COPYING.txt for more detail. This would avoid duplication.

comment:7 Changed 3 years ago by mkoeppe

  • Branch set to u/mkoeppe/install_copying_txt_in_sage_local_and_use_it_from_misc_copying_py

comment:8 Changed 3 years ago by mkoeppe

  • Cc was vbraun jdemeyer dimpase added
  • Commit set to 91f7b9a81eb741d5f7a1cf3591767644652da946
  • Milestone changed from sage-7.4 to sage-7.5

Cc'ing a few people to see if this change to the layout of the license file(s) is acceptable.


New commits:

91f7b9aMove COPYING.txt to src/COPYING.txt, leaving behind a short notice

comment:9 Changed 3 years ago by embray

I have a slight preference for just copying it. My mind is still that sagelib and all stuff related to the distribution should eventually be split into separate repositories. But that's of course an uphill battle so I'm fine with any interim solution.

comment:10 Changed 3 years ago by embray

Actually, now that I take a closer look the license file for sagelib should really be entirely different. Almost none of the copyright notices for all the differenge sage packages apply to sagelib itself. Instead src/COPYING.txt could probably be little more than another copy of the applicable GPL.

comment:11 follow-up: Changed 3 years ago by mkoeppe

But we need a comprehensive license file to display to the user. It should display all relevant licenses of the packages that Sage uses, as it does now.

comment:12 Changed 3 years ago by embray

That's....not true. It only needs to include licences for sources that are distributed with it. It does not need to be distributed with licences for all packages it might happen to link to.

comment:13 Changed 3 years ago by embray

Sage-the-distribution provides its own distribution for all those packages so it makes sense there. But the "COPYING.txt" for sagelib itself only needs the licence for sagelib.

comment:14 in reply to: ↑ 11 Changed 3 years ago by jdemeyer

I agree with Erik. The licenses of Sage-the-distribution and Sage-the-library should not be confused. Whatever goes into src should be about Sage-the-library only.

comment:15 Changed 3 years ago by mkoeppe

Are you saying that

sage: copying()

should only print the license of sagelib?

comment:16 Changed 2 years ago by mkoeppe

  • Cc thansen fbissey infinity0 added

Cc'ing people who work on distro packaging to get more input on what copying() should print.

comment:17 Changed 2 years ago by embray

I don't know what copying() should print, but the license file that needs to be included in the source tarball for just sagelib should just be the license for sagelib.

Perhaps, if the full sage distribution license file is installed to a standard place in the sage distribution then copying() could also try to read and display that. But if sage is installed, say, by a Linux distro not using the full sage distribution then it's not as relevant.

comment:18 Changed 2 years ago by infinity0

I patched the Debian package to display the Debian copyright file for copying():

https://anonscm.debian.org/cgit/debian-science/packages/sagemath.git/tree/debian/copyright

which is basically everything not in the spkgs (which we're using Debian packages in the place of). So, sagelib but also build scripts and other misc things left in the source tree.

comment:19 Changed 14 months ago by jdemeyer

  • Description modified (diff)
  • Summary changed from Install COPYING.txt in SAGE_LOCAL and use it from misc/copying.py to Install COPYING.txt and VERSION.txt

comment:20 Changed 14 months ago by embray

Per the title, this should apply a similar fix for VERSION.txt as discussed in https://trac.sagemath.org/ticket/25056#comment:39

comment:21 Changed 14 months ago by fbissey

The branch needs to be rebased. And we have to be clear about what we are doing here. #25056 means that in sage-8.2 the sage start up script will refer to SAGE_ROOT/VERSION.txt I fixed that in sage-on-gentoo but it will bite debian and the other.

We should have a consensus on where those files live and apply it.

comment:22 follow-up: Changed 13 months ago by embray

  • Summary changed from Install COPYING.txt and VERSION.txt to Install COPYING.txt

Upon re-reading this issue I don't think we should conflate handling of VERSION.txt into it. There was still some question in this issue as to handle the actual license text--IMO there needs to be separate license files covering Sage-the-distribution (and hence licenses of all the bundled software and the license for the build tools) and Sage-the-library.

The VERSION.txt issue is simply matter of having a reasonable standard place to install this file. I will open a new ticket for that with a proposed solution and set it as a blocker for 8.2.

comment:23 in reply to: ↑ 22 Changed 13 months ago by slelievre

Replying to embray:

The VERSION.txt issue is simply matter of having a reasonable standard place to install this file. I will open a new ticket for that with a proposed solution and set it as a blocker for 8.2.

For reference the new ticket Erik opened for this is #25150.

Note: See TracTickets for help on using tickets.