[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

license issue: calling a GPLv2 library

From: Gottfried
Subject: license issue: calling a GPLv2 library
Date: 20 Jun 2006 00:25:40 -0700
User-agent: G2/0.2


I developped the Windows .NET program LiMath_Optimierung. It is
intended to solve Linear Optimization and similar problems (see
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:
"Can I release a non-free program that's designed to load a GPL-covered
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

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]