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

Reply via email to