adda icon indicating copy to clipboard operation
adda copied to clipboard

Working as a library

Open GoogleCodeExporter opened this issue 10 years ago • 10 comments

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

GoogleCodeExporter avatar Aug 12 '15 07:08 GoogleCodeExporter