GRX library Licence - didtributing applications.

External libraries (GTK, GSL, SDL, Allegro, OpenGL, etc) questions.
Post Reply
Axle
Posts: 67
Joined: May 31, 2022 6:49
Location: Australia

GRX library Licence - didtributing applications.

Post by Axle »

Hi forum

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.

Any thoughts?

Best regards
Axle
caseih
Posts: 2166
Joined: Feb 26, 2007 5:32

Re: GRX library Licence - didtributing applications.

Post by caseih »

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.
Axle
Posts: 67
Joined: May 31, 2022 6:49
Location: Australia

Re: GRX library Licence - didtributing applications.

Post by Axle »

Thank you @caseih

That makes sense :)

Static linking is OK for DOS, as long as the notice for GRX being used.

And all other Win32, Unix must be GPL(static) or other if dynamic linked.

I am only just starting out with DJGPP and FreeBASIC on DOS 32 and thought that 32-bit allowed dynamic linking to .DXE?
Just found a reference:
https://freebasic.net/wiki/ProPgSharedLibrariesDOS
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).
This is why I asked the question :)

Best regards
Axle
Post Reply