-
-
Notifications
You must be signed in to change notification settings - Fork 481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install COPYING.txt #21571
Comments
comment:1
I was about to make this ticket as well... |
comment:2
Please feel free to work on it, or any other of the tickets that I have created. |
comment:3
I think really, to get this right more work needs to be done on cleaning up the setup.py. |
comment:5
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
Instead of copying, perhaps we can move it to |
comment:8
Cc'ing a few people to see if this change to the layout of the license file(s) is acceptable. New commits:
|
Commit: |
comment:9
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
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
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
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
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
I agree with Erik. The licenses of Sage-the-distribution and Sage-the-library should not be confused. Whatever goes into |
comment:15
Are you saying that
should only print the license of sagelib? |
comment:16
Cc'ing people who work on distro packaging to get more input on what |
comment:17
I don't know what Perhaps, if the full sage distribution license file is installed to a standard place in the sage distribution then |
comment:18
I patched the Debian package to display the Debian copyright file for 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. |
This comment has been minimized.
This comment has been minimized.
comment:20
Per the title, this should apply a similar fix for |
comment:21
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 We should have a consensus on where those files live and apply it. |
comment:22
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:24
Should each package have a file with its license, and then COPYING.txt would be autogenerated from those? Either from all standard packages, or from all packages, or from all packages which will be installed according to |
comment:25
Replying to @jhpalmieri:
I don't think that is necessary. Each package should install its own license if required. The question is specifically about I think doing something like #27171 would be appropriate. |
Changed keywords from none to sd111 |
This comment has been minimized.
This comment has been minimized.
Changed branch from u/mkoeppe/install_copying_txt_in_sage_local_and_use_it_from_misc_copying_py to none |
Changed commit from |
comment:29
Some thought should go into this one. First... we don't install COPYING.txt in Gentoo because it's redundant. The type of license is part of the package, and it's up to the maintainer to figure out what license type should go in the package. (This allows users to restrict what licenses are allowed on his machine.) One consequence of that is that the Gentoo developer has to dig through the source of the package, and list every license that he sees. If the main project is GPL-2 but if one file says BSD at the top, we include both. This is not legally accurate, though; it's done only because we don't want maintainers to have to worry about legal issues! So if you decide to include every COPYING.txt from every spkg, be aware that you're doing essentially the same thing. This overlooks two subtle issues. The first is that. when installed, all of the licenses used had damned well better be compatible. If not, you have a legal problem. Then, if they are compatible, they are often subsumed into the most restrictive license in a way that makes e.g. "GPL-3" the only effective license. If you release code as public domain, I can take it and make it GPL-3. So while I may say that my package has both "public domain" and "GPL-3" code, it would make more sense to say that the license is GPL-3. When linked, it will be the GPL-3 that is in effect. Adding a COPYING.txt that mentions the public domain would be misleading at best. So, to summarize, copyright is stupid, and we should be really sure that we know what problem we're trying to solve here before we solve it. |
comment:30
Technical aspect first: currently sage has a function called license that essentially read As you can imagine, it thrills me. The second issue is that the current file which is a meta distribution COPYING.txt is supposed to aggregate the license of all the packages shipped. As a set file, unless it lists all possible licenses ever, it is obsolete by design. It ought to be generated. Legal point, yes copyright can be stupid. But license compatibility really kicks in when you distribute binaries. So long as you distribute only source code and you build it yourself, you don't have to worry about it. Of course who does build by themselves these days :) As sage-on-gentoo I seek a solution to the first aspect. Runtime shouldn't depend on SAGE_ROOT. sagemath needs to fix the second aspect as well for themselves. |
comment:31
The technical problem can be solved by deleting The legal issues can be solved by... somebody else. |
comment:32
I'll add a simple license file for sagelib only to |
Dependencies: #30912 |
comment:34
Sage development has entered the release candidate phase for 9.3. Setting a new milestone for this ticket based on a cursory review of ticket status, priority, and last modification date. |
Use the installed location for
COPYING.txt
fromsage.misc.copying
.Use
src/doc/bootstrap
to install a copy insrc/doc
somewhere as preparation for installation.Perhaps autogenerate
COPYING.txt
from portions inbuild/pkgs/
Depends on #30912
CC: @williamstein @vbraun @jdemeyer @dimpase @tobihan @kiwifb @infinity0 @orlitzky
Component: build
Keywords: sd111
Issue created by migration from https://trac.sagemath.org/ticket/21571
The text was updated successfully, but these errors were encountered: