On Mon, Jul 27, 2009 at 10:02 AM, Colin Allinson<[email protected]> wrote: > > On Fri, Jul 24, 2009 at 18:22, Rob van der Heij <[email protected]> wrote: > >> Some may recommend you to hack the module yourself like this: > >> PIPE < xbrowse module | change /EAGRTPRC/DMSRTPRC/ | > xbrowse module a > > Is it 'legal' (per license conditions) for non-IBM sites to do this. > > In other words, if something is compiled on one system where REXX compiler & > library is installed, is it OK to 'hack' the resultant module in this way to > get it to run on a system where they are not installed?
I don't see any problem there. The EAG vs DMS is not something like a protection scheme that you break. It's just an oversight or wrong options of the person who packaged the module. > I understood that the only acceptable use of DMSRTPRC was for supplied code > and using it with customers own code was a breach of license conditions. I > would like to be told I am wrong about this. Let me try to explain. In the old days we just had the REXX Compiler and REXX Library. A compiled REXX program can be shipped as EXEC or MODULE (you need the MODULE when the program is called in such a way that an EXEC would not be picked up). People compiled code to make it run faster or keep others from looking into (or prevent operators from tampering with the code and then claim they did not change it). To run the compiled program, you needed the REXX Runtime Library. The mechanism used was that the EXEC or MODULE invoked EAGRTPRC to provide the library functions. If you only compile for speed (and not to keep the source secret) you may want to support installation with and without the REXX Runtime Library, so IBM came up with a composite object that had both source and compiled form. If you have the REXX Library you run the compiled code, and if you don't the REXX Interpreter takes the source. These composite forms refer to the Alternate Library (free, delivered with CMS) called DMSRTPRC. If you have the real REXX Library, it loads itself as DMSRTPRC, if you don't you use the dummy shipped with CMS that invokes the interpreter. If your compiled REXX does not include the source code, the dummy could not handle it because there's no source code to interpret. Rob
