Hello, I developped the Windows .NET program LiMath_Optimierung. It is intended to solve Linear Optimization and similar problems (see http://www.informatikfuchs.de/Software/GLPK/LiMath_Optimierung.htm) The Linear Programming part is based on GNU GLPK. GNU GLPK is a function library licensed under GPLv2. The GLPK part is encapsulated into a dynmic link library (DLL). The GUI program (LiMath_Optimierung) calls functions of this DLL.
I would like to offer LiMath_Optimierung as a shareware program i.e for some fee and without the source code. Please only discuss the license issue, don't tell me whether you like Windows or Bill Gates or something like that. The closest statement I found about this issue is the following: http://www.gnu.org/licenses/gpl-faq.html#NFUseGPLPlugins: "Can I release a non-free program that's designed to load a GPL-covered plug-in? If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case." The statement that my program calls GLPK functions and waits for them to return is true but not one main function. GLPK has not one main function, but several functions. My first question is Is this second feature (one main function) essential in this case where there is no single main function or only an example? What consequences does it have for me, if it is a borderline case. During my investigations I also contacted the copyright-owner of GLPK. Here an excerpt from his answer: "Nevertheless, I think your case is a borderline case, because there are many packages having api which is similar to glpk api (cplex, for examples), so you can say that you call *some* lp/mip solver, not necessarily glpk. It seems to me that the best way is *not* to include glpk code in your program; instead that you say to the user that he needs (optionally) to download glpk from there and there and install it such and such in order to use your program." At the first glance this seems to be a very sophisticated argument but after further thinking about it seems to be the solution: When I look to the set of functions in GLPK there is a group of special functions I do not use in my program, a second group are trival functions like getting or setting the number of rows and columns of a matrix and a third group are essential functions like reading a model, solving a model, etc. Such functions must be incorporated in every library for Linear Programming. So the following statement would be true: Someone can create a solver-DLL based on some Linear Programming library and regarding the interface requirements of my programm. Then my program works with such a library. So my program is a general GUI program for solving Linear Programming problems and in no way coupled to GLPK. The question would be: Is it enough to state this in the program description or is it necessary to separate them into two download archives. Thank you for your opinion to this issue. Regards Gottfried _______________________________________________ gnu-misc-discuss mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-misc-discuss
