Re: clearing the use of a QP solver, and example code posted to a mailing list
Thank you for your advise Paul.
I agree with your assessment and so will not reply point-by-point, but
it confirms for me that it seems the best approach is to request a
permissive licence from the author of ql0001.f, and failing that, work
towards removing the hard dependency on it from Siconos.
Working on this software has opened my eyes to how much old Fortran
code is out there that, mostly unintentionally, has no proper
licensing. As the years go by these authors will only get harder to
contact. It is a crisis.
On Wed, May 2, 2018 at 11:18 PM, Paul Wise <email@example.com> wrote:
> On Wed, May 2, 2018 at 10:08 PM, Stephen Sinclair wrote:
>> I am preparing a package for Siconos: http://siconos.gforge.inria.fr/
>> This software contains several 3rd-party sources used for numerical
>> solutions etc.
> In general, Debian and other distributions do not like it when
> projects embed copies of their dependencies or other 3rd-party sources
> in their own source repository or tarballs. Please talk to upstream
> about removing them, or only adding them to their binary packages.
>> with the exception of the QP solver, ql0001.f. As far as I
>> can tell this comes originally from
>> http://www.klaus-schittkowski.de/ql.htm and, therefore, it has a
>> non-DSFG license (free for educational use), which, as an upstream
>> contributor, I have documented here:
> I agree with your assessment that this is not DFSG-free.
> Since the QL author is easily contactable you might want to ask for
> relicensing to something DFSG-free, like GPLv3+.
>>  https://github.com/ScilabOrg/scilab/blob/master/scilab/modules/optimization/src/fortran/ql0001.f
> I quote the license from that URL for posterity:
> c !!!! NOTICE !!!! c
> c 1. The routines contained in this file are due to Prof. K.Schittkowski
> c of the University of Bayreuth, Germany (modification of routines
> c due to Prof. MJD Powell at the University of Cambridge). They can
> c be freely distributed.
> c 2. A minor modification was performed at the University of Maryland.
> c It is marked in the code by "c umd".
> c A.L. Tits and J.L. Zhou
> c University of Maryland
> Personally, I do not believe this text constitutes a DFSG-free license grant.
>> Now, due to this I have made sure that Siconos compiles and runs
>> without this file, but it implies significantly disabling the software
>> as the QP solver is important to its functionality. Given that this
>> code (ql0001.f) is just an updated (and slightly modified by Siconos
>> authors) version of the code found in Scilab , already packaged in
>> Debian, I am wondering whether it really needs to be removed from the
>> archive for the Siconos package to be DSFG-friendly. The authors of
>> Siconos consider it free specifically because it is already used by
>> Scilab, but I cannot tell whether the version in Scilab was released
>> under a different license. It is also hard to tell since the upstream
>> author does not host the source code as far as I can tell, but only a
>> usage example and a license.
> I believe that Scilab folks didn't consider the implications of the
> original licensing when including the file into Scilab, nor when
> modifying it. I don't think the code can be considered DFSG-free. I
> think it should be removed from both Scilab and Siconos upstream. I
> don't believe the license above even allows distributing copies of the
> file. It allows transferring the code to someone else (making a copy
> and deleting your copy), but not giving out copies.
>> A second issue: one header file  used in the project contains code
>> that was taken from a mailing list post  from 2008, and does not
>> have a license. However, it consists merely of a function
>> demonstrating how to use the lu_factorize function from BOOST uBLAS to
>> compute a determinant. Although I have emailed the original author,
>> it was posted many years ago, and I have not received a reply after a
>> few weeks. It seems silly to worry about a license for, basically,
>> example code posted to a list with the clear intention of being used,
>> but the function is not 100% trivial. Does fair use or something play
>> in here? How to deal with this?
> Debian is distributed in locations where fair use does not exist so we
> cannot rely on fair use defences to copyright infringement. I'm not
> sure if the function can be considered copyrightable but I think the
> best approach here would be to delete the function from the code and
> then have someone reimplement it.