Mark, thank you for pointing out an important point that I did not though about. However, in that case the problem does not happen since the code is already GPL (see https://github.com/MathieuDutSik/DualDescriptionADM)
I use GLPK for solving linear program in algebraic computation. When GLPK approximate solution give exact solution, it does in very short time. Otherwise I use the much slower cddlib from above github repo but this is rare. Mathieu On 14 December 2016 at 18:22, Meketon, Marc <[email protected]> wrote: > I am, by no means, the expert on the GPL license that GLPK. My > understanding is that if you make the changes suggested below and then > proceed to distribute the software publicly (outside of your company), you > will need to make the modified source code available to the users. The > actual wording is below. > > > > That’s one of the reasons why I prefer using Option (A) – no modification > is required, so less burden on me if I give away the application. > > > > [below is from https://www.gnu.org/licenses/gpl.html] > > *5. Conveying Modified Source Versions.* > > > > You may convey a work based on the Program, or the modifications to > produce it from the Program, in the form of source code under the terms of > section 4, provided that you also meet all of these conditions: > > > > a) The work must carry prominent notices stating that you modified > it, and giving a relevant date. > > b) The work must carry prominent notices stating that it is released > under this License and any conditions added under section 7. This > requirement modifies the requirement in section 4 to “keep intact all > notices”. > > c) You must license the entire work, as a whole, under this License > to anyone who comes into possession of a copy. This License will therefore > apply, along with any applicable section 7 additional terms, to the whole > of the work, and all its parts, regardless of how they are packaged. This > License gives no permission to license the work in any other way, but it > does not invalidate such permission if you have separately received it. > > d) If the work has interactive user interfaces, each must display > Appropriate Legal Notices; however, if the Program has interactive > interfaces that do not display Appropriate Legal Notices, your work need > not make them do so. > > > > A compilation of a covered work with other separate and independent works, > which are not by their nature extensions of the covered work, and which are > not combined with it such as to form a larger program, in or on a volume of > a storage or distribution medium, is called an “aggregate” if the > compilation and its resulting copyright are not used to limit the access or > legal rights of the compilation's users beyond what the individual works > permit. Inclusion of a covered work in an aggregate does not cause this > License to apply to the other parts of the aggregate. > > > > -----Original Message----- > From: Help-glpk [mailto:help-glpk-bounces+marc.meketon=oliverwyman.com@ > gnu.org] On Behalf Of Andrew Makhorin > Sent: Wednesday, December 14, 2016 11:27 AM > To: Mathieu Dutour > Cc: [email protected] > Subject: Re: [Help-glpk] Parallel runs of glpk > > > > On Wed, 2016-12-14 at 15:06 +0100, Mathieu Dutour wrote: > > > I am interested in running glpk from a multithreaded program. > > > The goal is not to have GLPK itself parallel but instead to have glpk > > > used many times by different threads for solving many different linear > > > programs. > > > > > > > > > As is well known glpk is not thread safe and my question is about > > > alternative solution to that problem. Here are some > > > possibilities: > > > > > > > > > A) One is to have to run glpsol standalone by running it as external > > > program with the input file generated by the thread and then read by > > > the thread. But this solution has its costs in terms of runtime. It is > > > easy to program. > > > > > > > > > B) Have one thread that does only call glpk. It is adequate in single > > > threaded performance but potentially expensive since some thread may > > > wait. Relatively easy to program. > > > > > > > > > C) Use shared memory to exchange data. That is multiple number of > > > individual programs running glpk and getting their data from shared > > > memory. > > > > > > > > > Any other solution? Is there any implementation that you would > > > recommend? > > > > Please see > > http://lists.gnu.org/archive/html/help-glpk/2010-04/msg00038.html . > > > > If you are interested in this solution, I can post you a reentrant version > of glpk/src/env/tls.c for GNU/Linux or MS Windows (from an old glpk > distribution). > > > > > > Andrew Makhorin > > > > > > > > _______________________________________________ > > Help-glpk mailing list > > [email protected] > > https://lists.gnu.org/mailman/listinfo/help-glpk > > ------------------------------ > This e-mail and any attachments may be confidential or legally privileged. > If you received this message in error or are not the intended recipient, > you should destroy the e-mail message and any attachments or copies, and > you are prohibited from retaining, distributing, disclosing or using any > information contained herein. Please inform us of the erroneous delivery by > return e-mail. Thank you for your cooperation. >
_______________________________________________ Help-glpk mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-glpk
