(please cc: me because I am not on this mailing list) Hi Debian legal experts --
I am trying to package a set of numerical libraries I have developed for my research as free software, under the LGPL. These libraries allow a simple C interface to high-powered matrix-based numerical code, and also support some things like fast training and evaluation of neural networks, and hidden Markov models. I have also developed an RScheme interface for these libraries and will soon have a Guile interface as well (I like numerical programming in Scheme, call me crazy). I would eventually like to become a Debian developer and package these libraries (and a couple related packages) for Debian. The libraries are written primarily in C, but use Fortran libraries for most of their inner loops. The libraries I use most are BLAS and LAPACK (available at netlib.org, and as the Debian lapack packages). I am using BLAS and LAPACK because it seems that much of the best numerical libraries are written in Fortran, and for machines like the SGI O2 I use at work, the hardware vendors of engineering workstations provide versions of BLAS which are highly optimized for the hardware. For making a portable interface between these FORTRAN libraries and my C code, I have been using the cfortran package (http://www-zeus.desy.de/~burow/cfortran/) which seems to be the most general solution available. The package is mainly a c header file, cfortran.h which allows you to create prototypes for Fortran functions which will work for most any Fortran compiler and operating system. Unfortunately, cfortran.doc includes the following text: > THIS PACKAGE, I.E. CFORTRAN.H, THIS DOCUMENT, AND THE CFORTRAN.H EXAMPLE > PROGRAMS ARE PROPERTY OF THE AUTHOR WHO RESERVES ALL RIGHTS. THIS PACKAGE AND > THE CODE IT PRODUCES MAY BE FREELY DISTRIBUTED WITHOUT FEES, SUBJECT TO THE > FOLLOWING RESTRICTIONS: > - YOU MUST ACCOMPANY ANY COPIES OR DISTRIBUTION WITH THIS (UNALTERED) NOTICE. > - YOU MAY NOT RECEIVE MONEY FOR THE DISTRIBUTION OR FOR ITS MEDIA > (E.G. TAPE, DISK, COMPUTER, PAPER.) > - YOU MAY NOT PREVENT OTHERS FROM COPYING IT FREELY. > - YOU MAY NOT DISTRIBUTE MODIFIED VERSIONS WITHOUT CLEARLY DOCUMENTING YOUR > CHANGES AND NOTIFYING THE AUTHOR. > - YOU MAY NOT MISREPRESENTED THE ORIGIN OF THIS SOFTWARE, EITHER BY EXPLICIT > CLAIM OR BY OMISSION. > > THE INTENT OF THE ABOVE TERMS IS TO ENSURE THAT THE CFORTRAN.H PACKAGE NOT BE > USED FOR PROFIT MAKING ACTIVITIES UNLESS SOME ROYALTY ARRANGEMENT IS ENTERED > INTO WITH ITS AUTHOR. > > THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER > EXPRESSED OR IMPLIED. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF > THE > SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE > COST > OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. THE AUTHOR IS NOT > RESPONSIBLE > FOR ANY SUPPORT OR SERVICE OF THE CFORTRAN.H PACKAGE. > > Burkhard Burow > [EMAIL PROTECTED] I assume that this precludes cfortran.h from being included in any Debian distribution. I don't know whether it precludes binaries generated with code including this header from being distributed by Debian (I'm assume that debian-policy would make this difficult). In the document "Adding Fortran 77 Support to Automake" (http://www.slac.stanford.edu/~langston/am-f77_toc.html) at this location (http://www.slac.stanford.edu/~langston/am-f77_2.html#SEC20) there is a footnote which states: > (3) > For example, the cfortran package addresses all of these > inter-language issues, and runs under nearly all Fortran 77, C and C++ > compilers on nearly all platforms. However, cfortran is not yet Free > Software, but it will be in the next major release. This node is dated 10 October 1998, and cfortran has not been re-released since then. Maybe some day my problem will disappear :). Could you please suggest some way that I might be able to get around this? Help from anyone with a background in using Fortran code with free software is especially welcome. Here is one thought I have. First, I assume that my own code can be licensed with the LGPL, but with an extra clause stating that it may be used with cfortran.h. Then, I could make a set of headers for Fortran functions specifically for use with G77, not using cfortran.h. A distribution of code based on this could be usable by Debian, but might not work on systems which do not use G77. I could then put cfortran.h on my web page so that people could download it and set up my distribution to use it if it is seen during the ./configure process. Would this work? Any better ideas? Thanks! -Chris -- Christopher Lee http://www.cs.cmu.edu/~chrislee [EMAIL PROTECTED]

