Support #1555
Software licence
Description
Gereon Kremer asks whether we are willing to release some or all of the source for CoCoA/CoCoALib under a different licence (in ptic, BSD or MIT)
His intended use is within the CVC4 software suite.
Discuss; decide.
Related issues
History
#1 Updated by John Abbott over 3 years ago
- Related to Design #855: Copyright and authorship? added
#2 Updated by John Abbott over 3 years ago
- ensure that all copyright lines are correct (Anna and me)
- remove the GPL blurb from each file
- insert MIT/BSD licence blurb in each file -- which is more appropriate?
- create a new type of release with the revised licence.
Do we give the release just to Gereon? Or should we make it available to all and sundry?
Note that Gereon would be free to further release the code we give him (assuming MIT/BSD permits that).
#3 Updated by John Abbott over 3 years ago
- Status changed from New to In Progress
- % Done changed from 0 to 10
- find out how many different copyright messages we need (headers, source, tests, examples, documentation, other (makefiles))
- in each file write a "placeholder" (e.g.
COPYRIGHT_FOR_HEADER
,COPYRIGHT_FOR_SOURCE
, _etc.) - before making a release go through all files and replace the placeholders by the relevant boiler-plate text.
I'm not entirely sure how one can replace a placeholder ID by a text containing several lines (which must be seen as a comment in the resulting file).
This does imply that we would need to specify under which licence to make the release (default GPL-3+)
#4 Updated by John Abbott about 3 years ago
- Assignee set to John Abbott
- in
include/CoCoA/
- in
src/AlgebraicCore/
- in
src/test/
- in
src/CoCoA-5/
but these files claim to be part of the source ofCoCoALib
-- is that right?
Makefile
-- all of them!CoCoAHelp.xml
examples/ex-*.C
doc/txt/*.txt
#5 Updated by John Abbott about 3 years ago
As mentioned in #855#note-15 the FSF gives advice at the following URL:
http://www.gnu.org/licenses/license-recommendations.html
Their suggestion for a non_GPL licence is Apache Version 2.0. I'll ask Gereon if that would be OK for him.
Gereon also said that he did not need a licence change for the documentation (but we should anyway clarify the licence for the documentation in those files which currently say nothing).
#6 Updated by John Abbott about 3 years ago
- add copyright notices to all files (incl.
Makefile
and other supporting files) - in source code add a restrictive copyright notice which is then replaced by GPL (or whatever we choose) when making a release.
Here is an initial (unsafe) shell script which replaces a single line containing a "keyword" string, by the contents of a file.
#! /bin/bash FILE=$1 STRING=$2 INSERT_FILE=$3 line=`cat -n "$FILE" | fgrep "$STRING" | head -1 | cut -f 1` echo "line = $line" nextline=`expr $line + 1` prevline=`expr $line - 1` head -n $prevline "$FILE" cat "$INSERT_FILE" tail -n +$nextline "$FILE"
Not yet sure how to make this script safer (e.g. explicit paths for head
and tail
; checking for non-zero rtn codes)
#7 Updated by John Abbott about 3 years ago
Currently our copyright notice in source code files says the following (following guidance from FSF about using GPL):
// CoCoALib is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // CoCoALib is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with CoCoALib. If not, see <http://www.gnu.org/licenses/>.
I presume the equivalent for Apache-2.0 should says more or less the same mutatis mutandis, especially the part about "without any warranty".
#8 Updated by John Abbott over 2 years ago
We need to consider also the copyright notices in the sources for CoCoA-5.
Should the copyright notice for CoCoA-5 files be identical to that of CoCoALib files?
#9 Updated by John Abbott over 2 years ago
- Related to Bug #1356: CoCoA-5 header files: should use a common prefix for CPP variables which enforce read-once added
#10 Updated by John Abbott over 2 years ago
We need to decide what the restrictive message should say.
Ideally it should be just 1 or 2 lines long, and placed very uniformly in all files so that the naive script above does not do anything stupid.
This is a private copy for your private use; you may not give it to others. A public open-source version can be obtained from http://cocoa.dima.unige.it/
#11 Updated by John Abbott about 2 years ago
- Target version changed from CoCoALib-0.99800 to CoCoALib-0.99850
This should not be hard, but will probably take quite a lot of time... which is very scarce at the moment.
Postponing.
#12 Updated by John Abbott about 2 years ago
- Status changed from In Progress to Resolved
- Target version changed from CoCoALib-0.99850 to CoCoALib-0.99800
- % Done changed from 10 to 60
I think I have done this mostly now.... quite a gruelling, mind-numbing task. And, yes, it did take a tediously long time.
Hope to make some tests soon.
#13 Updated by John Abbott about 2 years ago
- % Done changed from 60 to 80
Gereon has confirmed that the trial version seems to be fine for his purposes:
in ptic, he needed a revised copyright just for the source code of CoCoALib
(and does not care about the licence for documentation, or CoCoA-5 source code).
As mentioned before, a big change is that make a source release is no longer
an almost trivial operation of a making a copy of the source tree from CVS,
but instead requires potentially editing practically every source file ininclude/CoCoA/
and in src/AlgebraicCore/
. This is done by a development
of the script outlined in comment 6 above.
#14 Updated by Anna Maria Bigatti about 2 years ago
- Status changed from Resolved to Closed
- % Done changed from 80 to 100
- Estimated time set to 12.51 h
#15 Updated by Anna Maria Bigatti 30 days ago
- Related to Support #1687: Release CoCoALib 0.99850 added
#16 Updated by Anna Maria Bigatti 30 days ago
- Related to deleted (Support #1687: Release CoCoALib 0.99850)
#17 Updated by Anna Maria Bigatti 30 days ago
- Related to Support #1481: Release CoCoALib 0.99800 added