[Insight-developers] Linear algebra licensing and ITK 3.18 Release

Tom Vercauteren tom.vercauteren at m4x.org
Tue Mar 16 04:38:41 EDT 2010


Hi Alexandre,

OpenNL looks like a promising library but, if LSQR can still be used,
I fail to see what the added value would be for ITK to move to it:

* OpenNL only covers sparse matrices and can thus not be used as a
drop-in replacement for all linear algebra matters. So it's does not
look like a long-run alternative.

* As far as I understand it, OpenNL would currently only be used to
replace LSQR which is also licensed under BSD (
http://www.stanford.edu/group/SOL/software/BSDlicense.txt ).

* Importing OpenNL adds one more dependency to an already long list of
third-party libraries. This means more maintenance and more code to
test. Of course this also implies porting OpenNL code to all our
supported platforms/compilers.


Basically, what I am saying is that I don't see the need to fix a
working thing. Of course, if LSQR reveals to be problematic because of
the ACM machinery, we will have to replace it and OpenNL might be a
good way to do it.

My two cents,
Tom

On Tue, Mar 16, 2010 at 08:35, Alexandre GOUAILLARD
<agouaillard at gmail.com> wrote:
> what about OpenNL 3.0? BSd, supports all kind of plateform AND gpu.
>
> http://gpgpu.org/2010/02/14/opennl-cuda-sparse-linear-solvers
>
> On Tue, Mar 16, 2010 at 7:15 AM, Tom Vercauteren
> <tom.vercauteren at m4x.org> wrote:
>> Hi Luis,
>>
>> Thanks for getting back to me.
>>
>> It looks like lbfgs and lbfgsb is much more of a problem than lsqr...
>>
>> Indeed, the authors of lsqr chose to also license their software as BSD.
>>  http://www.stanford.edu/group/SOL/software/BSDlicense.txt
>> So while ACM might own the copyright of the code for some obscure
>> reasons, at least we are not willingly infringing the authors will.
>>
>> L-BFGS L-BFGS-B seems more problematic, there is the same issue of
>> copyright potentially held by ACM
>>  http://portal.acm.org/citation.cfm?id=279236
>> but the authors refer to their software as a GPL one:
>>  http://www.eecs.northwestern.edu/~nocedal/lbfgsb.html
>>  http://www.eecs.northwestern.edu/~nocedal/lbfgs.html
>> even though this is not consistent with what is written on these pages
>>  "This software is freely available for educational or commercial purposes."
>>  "This software is freely available [...] all commercial products using it"
>>
>> We should think moving towards the elastix implementation of it:
>>  http://elastix.isi.uu.nl/doxygen/a00204.html
>> which is BSD
>>  http://elastix.isi.uu.nl/legal.php
>>
>> Another option could be
>>  http://www.chokkan.org/software/liblbfgs/
>>
>> I am adding this info to the bug entry.
>>
>> Hope this helps,
>> Tom
>>
>> On Mon, Mar 15, 2010 at 23:14, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>> Hi Tom,
>>>
>>>
>>> A)   Good point,
>>>       We should have filed a bug entry on this issue.
>>>
>>>       I just did so:
>>>       http://public.kitware.com/Bug/view.php?id=10422
>>>
>>>       and added an email trail of the discussions in the mailing list:
>>>       http://public.kitware.com/Bug/view.php?id=10422#bugnotes
>>>
>>>
>>> B)  At this point the main concern is     "lsqr".
>>>
>>>     but, during the weekend we heard (in the Slicer-dev mailing
>>>     list) that the lbfgsb optimizer may have similar issues.
>>>
>>>
>>> C)  The immediate things to try are:
>>>
>>>                    1) test       vnl_sparse_lu
>>>                    2) test       itpack
>>>
>>>      These two, are pieces of code that already in the ITK
>>>      repository and that could be replacements for "lsqr".
>>>
>>>
>>> D)  My understanding about the "lsqr" problem is that the
>>>      Fortran version of this routine(s) was published in ACM:
>>>
>>>           http://portal.acm.org/citation.cfm?id=355989
>>>
>>>       as Algorithm 583:
>>>
>>> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.1305&rep=rep1&type=pdf
>>>
>>>     and it is listed in the Collection of ACM algorithtms
>>>
>>>                    http://calgo.acm.org/
>>>
>>>     as
>>>
>>>                    http://calgo.acm.org/583.gz
>>>
>>>      and that this code is the same as the FORTRAN one in
>>>
>>>                  http://www.netlib.org/linalg/lsqr
>>>
>>>      that then was put into VXL
>>>
>>> http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/v3p/netlib/linalg/lsqr.f?revision=1.2&root=Insight&view=markup
>>>
>>>      from which the VXL  C version was generated:
>>>
>>> http://www.itk.org/cgi-bin/viewcvs.cgi/Utilities/vxl/v3p/netlib/linalg/lsqr.c?root=Insight&view=markup
>>>
>>>
>>> The software in ACM Algorithms is subject to this license
>>> http://www.acm.org/publications/policies/softwarecrnotice
>>>
>>> <quote>
>>> "Noncommercial Use
>>> The ACM grants to you (hereafter, User) a royalty-free, nonexclusive
>>> right to execute, copy, modify and distribute both the binary and
>>> source code solely for academic, research and other similar
>>> noncommercial uses, subject to the following conditions:"
>>> </quote>
>>>
>>>
>>>
>>>      The key question at this point is
>>>
>>>          Who holds the copyright of  "lsqr.f"    ?
>>>
>>>       Is it
>>>
>>>      1) Association for Computing Machinery, Inc. ?
>>>
>>> or
>>>
>>>      2) Michael Saunders (http://www.stanford.edu/~saunders/)
>>>          and Chris Page.
>>>
>>>      I'm sending emails to the three of them,
>>>      and I'm anticipating an interesting set of responses....
>>>
>>>      Once we figure out who is the copyright holder,
>>>      we can ask them about licensing....
>>>
>>>
>>>
>>>  Thanks for your persistence with this issue...
>>>
>>>
>>>        Luis
>>>
>>>
>>> ----------------------------------------------------------------------------------------
>>> On Fri, Mar 5, 2010 at 12:09 PM, Tom Vercauteren
>>> <tom.vercauteren at gmail.com> wrote:
>>>> Hi Luis and Bill,
>>>>
>>>> Sorry to come back to it, but I have to admit I am a bit lost on the
>>>> linear algebra problem that blocks the 3.18 release.
>>>>
>>>> Is there a bug tracker entry that lists the remaining issues that
>>>> needs to be solved before getting 3.18 out? I am not sure to know what
>>>> needs to be fixed exactly. Is it only lsqr as implied by your message
>>>> here:
>>>>  http://www.itk.org/pipermail/insight-users/2010-January/035063.html
>>>> or are there other potential problems?
>>>>
>>>> If it's only lsqr, are you sure that we are not allowed to use it? If
>>>> I look at the different lsqr packages here,
>>>>  http://www.stanford.edu/group/SOL/software/lsqr.html
>>>> I would be inclined to think that the lsqr code is licensed under the
>>>> CPL which seems to be incompatible with BSD*.
>>>> However, lsqr is only one part of the SOL package from Stanford:
>>>>  http://www.stanford.edu/group/SOL/software.html
>>>>
>>>> And from this page, it is clearly stated that
>>>>  "The software may alternatively be used under the terms of a  BSD License."
>>>>
>>>> Could that solve the 3.18 blocker?
>>>>
>>>> Anyhow, this raises some other related questions. What is the base
>>>> plan for 3.18?
>>>> 1) Find a decent set of patches that answers the licensing issues
>>>> or
>>>> 2) Try and get a suitable replacement for the linear algebra package as a whole
>>>>
>>>> Similarly is there a defined roadmap on this for ITK 4.0?
>>>>
>>>> In the meantime, I have updated the wiki page:
>>>>  http://www.itk.org/Wiki/Proposals:Sparse_Linear_Solvers
>>>>
>>>> Unfortunately, I have not been able to find a decent linear algebra
>>>> package that covers ITK's needs:
>>>> - Support high-level dense matrix algorithms (e.g. Cholesky, LU and QR
>>>> factorization, linear solvers, matrix exponential)
>>>> - Support high-level sparse matrix algorithm (e.g. least squares
>>>> solvers, linear solver)
>>>> - BSD-style license
>>>> - Maintained code
>>>>
>>>> Despites its headers-only LGPL awkwardnesses (see
>>>> http://public.kitware.com/pipermail/insight-users/2010-February/035070.html
>>>> ), the closest I can see is still Eigen.
>>>>
>>>> Regards,
>>>> Tom
>>>>
>>>> * IANAL
>>>>
>>>> On Mon, Mar 1, 2010 at 23:59, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>>>> Hi John,
>>>>>
>>>>> The ITK 3.18 release is stuck on finding a replacement
>>>>> for the linear solvers that we use from VNL/VXL.
>>>>>
>>>>> The code that we are currently using for solving linear
>>>>> equations is copyrighted by ACM and its license precludes
>>>>> commercial use. (therefore it is not compatible with ITK's
>>>>> license, and has to be removed).
>>>>>
>>>>> We have been looking at another linear solvers, but have
>>>>> not got to the point where we have a suitable replacement.
>>>>>
>>>>> You will find a summary of our exploration in the following
>>>>> Wiki page:
>>>>>
>>>>> http://www.itk.org/Wiki/Proposals:Sparse_Linear_Solvers
>>>>>
>>>>>
>>>>> We will appreciate any suggestions,
>>>>>
>>>>>
>>>>>       Thanks,
>>>>>
>>>>>
>>>>>              Luis
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------------
>>>>> On Mon, Mar 1, 2010 at 3:06 PM, John Drescher <drescherjm at gmail.com> wrote:
>>>>>> On Thu, Dec 3, 2009 at 10:16 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>>>>>> The agenda for tomorrow's tcon has been posted at:
>>>>>>>
>>>>>>> http://www.itk.org/Wiki/Agenda%26Status_120309
>>>>>>>
>>>>>>> It includes a suggested list of items to work on
>>>>>>> for the release of ITK 3.18 by January 2010.
>>>>>>>
>>>>>>
>>>>>> BTW, What happened to this release?
>>>>>>
>>>>>> John
>>>>>> _____________________________________
>>>>>> Powered by www.kitware.com
>>>>>>
>>>>>> Visit other Kitware open-source projects at
>>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>>
>>>>>> Kitware offers ITK Training Courses, for more information visit:
>>>>>> http://www.kitware.com/products/protraining.html
>>>>>>
>>>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>>>
>>>>>> Follow this link to subscribe/unsubscribe:
>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>
>>>>> _____________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Kitware offers ITK Training Courses, for more information visit:
>>>>> http://www.kitware.com/products/protraining.html
>>>>>
>>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>
>>>>
>>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>


More information about the Insight-developers mailing list