I am attempting to decipher the license agreement for GRX libray. Hopefully someone is familiar and can assist.
(2) Amendments / excepcions to (1)
Using the DOS versions (DOS only! this exception DOES NOT apply to the
other versions) you are permitted to distribute an application linked
with MGRX in binary only, provided that the documentation of the
program:
a) informs the user that MGRX is used in the program, AND
b) provides the user with the necessary information about
how to obtain MGRX. (i.e. web site, etc..)
you are permitted to distribute an application linked
with MGRX in binary only
The default DJGPP build creates static linked archives. Does this mean that we can't distribute any application that is static linked? and have to rebuild and use the library a a shared library (.DXE i think) ?
Just seams a little ambiguous/confusing as the libray appears to be orintated around static includes.
Okay, so according to the web page for GRX, GRX is released under the LGPL (not sure which version), but with a special exception for the statically-linked binaries produced by djgpp on DOS. Ordinarily, if you static link to an LGPL library, your code must also be released under the terms of the LGPL (being a derivative work). But if you dynamically link, you can release your code under any license you wish, because GRX stays separate and is user-replaceable (can swap out dlls). But that's not possible to do on DOS, which has no concept of dynamic libraries, so static linking is your only choice. The GRX authors specifically allow static linking of GRX on DOS without forcing your code to be LGPL (provided you do as the license asks in regards to notifying the user), but on all other platforms the normal LGPL terms apply. Hope that helps.
In other words, GRX is licensed under the GNU LGPL with a special exception to allow static linking of GRX on DJGPP on MS-DOS. You can release your code under any license you wish, and you can even publish statically-linked DOS binaries under any license with GRX, provided you notify the user about your use of GRX.
DOS supports shared libraries (dynamic link libraries) with some limitations compared to Linux and Windows. The DOS target uses the dxe3gen utility from DJ's GNU Programming Platform (DJGPP) for creating a DXE file (shared library).