-
Notifications
You must be signed in to change notification settings - Fork 160
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
Warning if some components of the core system are missing. #788
Warning if some components of the core system are missing. #788
Conversation
Let me explain in more details the motivation behind introducing warnings. I've tested today the current state of the GAP packages (in the Debian/Ubuntu sense of the word "package"). This is a brand new installation of Ubuntu 16.04 in Windows Azure cloud. core systemLet's try to start GAP:
Now follow these suggestions:
Note that suggested packages (gap-doc gap-dev gap-trans-groups gap-prim-groups gap-small-groups gap-pkg-io fonts-stix libjs-mathjax-doc) are not installed automatically. So, after this step, ignoring the suggested packages, we get the following system (version 4.7.9, since it takes time for the new releases to propagate):
Observe missing small, primitive and transitive group libraries. suggested packagesAttempting to fix this, I am naturally assuming that if I will follow the suggestions, I will get quite complete GAP installation:
Now GAP looks as follows:
Observe that monolithic primitive and transitive group libraries are there, but most of the subcomponents of the Small Groups Library are missing, despite fixing small groups libraryNow check if there are any other GAP packages (which hopefully will have
Now we see that there is also
Observe that both of these belong to GAP 4.7.8 (IIRC there were no changes in them indeed). install everythingI've installed all GAP components reported by
Now the core system looks better, the group libraries are complete, but the selection of packages is much smaller (see packages redistributed with GAP 4.7.8 at http://www.gap-system.org/Releases/4.7.9.html). run standard testsI've also tried to run standard tests:
Indeed, there is no
I've copied it from my GAP 4.7.9 installation, and after that was able to run
and the rest of the failures were caused by the missing GrpConst package:
|
This warning is not helpful for newcomers to GAP, and would likely lead to more misunderstanding between GAP packagers in Linux and other (e.g. Sage) distributions. I have already explained this in the corresponding issue #776 why this is not a good idea. You are passing internal GAP licensing problems over to other people, who have even less power to deal with them. So this should not be merged, I think. |
it is downright misleading to refer to these missing parts as core parts GAP. Indeed,
|
The real bug here is that Debian mistakenly packaged the small groups package as free/suggested, whereas it should be in non-free. So really you should never see it under suggested packages, or only after manually editing Of course you are free to broadcast to the world that your software is broken unless you track down some non-free piece but I'm pretty sure that this'll make your entire software non-free as far as Debian is concerned. I don't have a policy link that'll spell that out but you can always ask on the debian-legal mailinglist if you want a binding answer. |
Debian should either distribute a working GAP, or distribute nothing. The current situation makes both GAP and Debian look bad. |
One should not limit this issue to the Small Groups Library - there are also Primitive and Transitive groups, which are included in the core system, and have no separate license. The referenced pages just say explicitly "This library is part of the main GAP distribution" . However Debian distributes them as separate packages Each GAP release provides archives of the core system without packages. These are available in ftp://ftp.gap-system.org/pub/gap/gap4core/ and are intended mainly for package developers and authors of the alternative distributions. Clearly, the version number in these archives matches the version number of the distribution visible at http://www.gap-system.org/Releases/. But since the result of I support making all three data libraries a proper packages - this would be definitely the proper way of doing things. For backwards compatibility, they could be made needed by the system from the very beginning. This will allow to document properly dependency on them. Also, the SglPPow package that further extends the Small Groups Library for some orders could be made suggested for SmallGroups. But while this will happen not earlier than in GAP 4.9, for now I do think that the warning will be helpful for newcomers to GAP. Seeing it, they may start to enquire whether the functionality of the system that they have got is adequate. If they will begin to search for the answers, they should be able then to find the way to get other components. |
@alex-konovalov : one cannot insist on "core", or whatever, GAP being under GPL, yet having a part of it (SmallGroups) which is not GPL-compatible. The rest is negotiable, but this is a real sticking point. I don't speak for Debian; I've sent an email to Bill (I don't know if he has a github account, but his certainly does not use public github hosting) notifying him of this conversation. |
@dimpase thanks, but this PR is not about licensing SGL (that should be discussed with its authors). My suggestion is only about telling the user that some functionality may be missing, and I've tried to formulate it in a non-controversial way. This PR only adds warnings of the form
and
and to me their text seems fine - it just states the facts. |
@alex-konovalov the problem is in the "canonical" (i.e. from St Andrews) GAP distribution. It violates GPL by including SGL, which has an incompatible license, without mentioning this anywhere (indeed, it's impossible to find this out from Actually, I think On the other hand, indeed, one can consider TPGL and PPGL as integral parts of GAP, I give you this. But your warning is inviting a copyright violation by mentioning SGL. You may qualify this by saying in your warning that SGL has a non-GPL license. |
I don't know GAP well, but it's obvious that the whole situation needs to be made more clear: clearly and consistently state what you consider to be GAP-core and what its license is. And if any piece of GAP-core is not GPL, then GAP-core as a whole cannot be GPL either. I think you should really try to keep GAP-core GPL-compatible, which means either removing small groups from GAP-core or somehow changing the license of small groups. |
Whether warning or not, I think it should be made clear that the Debian versions of GAP are not equal to the versions of GAP distributed on http://www.gap-system.org/Releases/index.html, and it should be pointed out what the main differences are. |
In my eyes the current behaviour of GAP is sufficient. It shows in the banner which components and packages are loaded. If some of them are not loaded they are not listed. I cannot see any reason for a "Warning" here, and would prefer if this pull request was not merged. The observations about the Debian distribution of GAP contain nothing new. It will never be possible for Debian to distribute GAP as is (for various licensing reasons). So, if someone has problems with the Debian packages we should still suggest to use the GAP distribution directly, as we always did. I do not agree with the comments made here about the license of the small groups package. This package has a very sensible license and if Debian/Sage or whoever sees a reason to classify this as "non-free", then that is their problem, not ours. |
@frankluebeck fine, I will close this PR then. Let's just remember about #775, #791 and #792 to convert three libraries into proper packages which is a good thing anyway and will allow to document dependencies properly. |
It would still be nice if this could be addressed:
|
No, it doesn't. It does not allow modifications. It makes it impossible for anybody to expand the package or to re-use parts of the package in some other project. |
@jdemeyer Being sensible is not the same as "I like it that way". |
@frankluebeck : thanks for taking time to look into this. Regarding the license of the small groups package, I already said somewhere that it has an effect of limiting academic freedoms and damaging the research area (indeed, how one could improve upon the work done on this package, without either doing everything from scratch, or needing the approval of the original authors). I don't see why you think that it is "sensible". |
@fingolfin : indeed, mafia practices are very sensible (from mafia point of view) :-) |
If people want to have this discussion yet again, please do so on the GAP mailing list gap@gap-system.org |
@dimpase Wow, that's a very wild comparison. I think comparing the SGL license to murdering, thieving and extortion is way beyond reasonable. |
@fingolfin : tldr? : SGL license kills 3rd parties research in the area. |
This checks for components that may be missing if the distribution on core system has been rearranged.
For example, if some parts of the small groups library (and also
trans
andprim
) are missing, the banner will contain a warning:(in this case I have removed
small/small9
, but that affected other components because of their interdependencies).In case of all three group libraries missing, the warning will look like this:
I also learned during this implementation that missing
trans
causes errors while loading Browse package, and missingprim
- errors for CTblLib and IRREDSOL (not surprising, since package authors of course assume that these are parts of the core system).