adda
adda copied to clipboard
Working as a library
There is an ongoing discussion, whether ADDA could (and should) be used as a
library (either statically or dynamically linked). See, e.g., discussion at
http://groups.google.com/d/msg/adda-discuss/pZfeBjS4eL0/wsaNcifA_54J
My current thoughts are the following:
1) I am still not aware of a case, where such functionality is strictly
necessary. In most cases it will remove some overhead, but total speed
improvement would be relatively insignificant. However, it may add some
convenience in using ADDA and building wrappers for it.
2) It is in principle possible but not trivial at all. In particular, the
problem is that ADDA heavily uses global variables (both really global - see
vars.c/h - and static inside source files). It has some advantages, but it
causes a lot of problems in using ADDA functions. So it is hard to get anything
useful out of these functions (as library calls) without significant additional
efforts.
3) Another problem is the license, which was recently pointed by Irwin Zaid.
ADDA is currently under GPL, and the latter can't be changed to anything less
restrictive, such as LGPL. That is because it uses (links against) FFTW3, which
is licensed under GPL (http://www.fftw.org/doc/License-and-Copyright.html).
Similar limitation (GPL license) is related to IGT routines
(fort/propaesplibreintadda.f) that were contributed several years ago by other
researchers. There are also a number of routines, which license is not
specified - see, e.g., another FFT routines fort/cfft99D.f or those in misc/
folder.
The license becomes relevant if any commercial (or not GPL) software wants to
use ADDA. The situation is somewhat ambiguous, but I think that it can run ADDA
(as is now) from the command line, but can't link to it as a library.
Original issue reported on code.google.com by yurkin on 10 Jul 2014 at 4:48