HT-2021-000363 - [2025] EWHC 532 (TCC)
Technology and Construction Court

HT-2021-000363 - [2025] EWHC 532 (TCC)

Fecha: 10-Mar-2025

Item 7: CICS Translators (Paragraph 20.1-2 of the Technical Particulars)

Item 7: CICS Translators (Paragraph 20.1-2 of the Technical Particulars)

424.

Some IBM compilers contain embedded CICS translators, enabling the dynamic translation of an EXEC CICS command during the compilation process. This is in contrast to external CICS translators, which pre-process the EXEC CICS statement before a separate compiler is used to compile the load module.

425.

The allegation is that Winsopia reverse engineered (i) the IBM CICS translators and (ii) the interaction between the CICS translators and the runtime to test whether the Arg0 byte strings generated by the embedded CICS translators differed from those generated by the external CICS translators.

426.

The defendants’ case is that Winsopia used compiler listings to study the embedded and external CICS translators. They ascertained that they produced the same output and, as a result, no changes were required to the SDM. These activities did not relate to an ICA Program; they related to a test program and fell within the observation, study and test exception right conferred by Article 5(3) of the Software Directive; alternatively, they were necessary for interoperability within the Article 6 exception.

427.

It is common ground that in May 2014 Martin Truebner of LzLabs obtained from a colleague, probably at Winsopia, two unredacted compiler listings, including pseudo-assembler lists, for the same test program, one using an external CICS translator, the other using an embedded CICS translator. Mr Treubner sent a note to Mr Taylor, explaining what he had done and the results of his analysis, namely that there was no difference in the output. Mr Taylor explained that his actions were inappropriate and in breach of the Code of Conduct, as recorded in his email dated 14 May 2014 to Ulrich Weibel. Mr Taylor’s evidence is that Mr Truebner confirmed that he destroyed the listings.

428.

The disputed issues are:

i)

whether Winsopia’s analysis of the embedded and external CICS translators was in respect of an ICA Program within the meaning of the ICA;

ii)

whether Winsopia’s analysis amounted to reverse engineering in breach of clause 4.1.3(a) of the ICA;

iii)

whether Winsopia’s analysis fell within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive;

iv)

whether Winsopia’s analysis was necessary in order to achieve interoperability of customer applications with the SDM and, as such, was permitted by Article 6 of the Software Directive.

429.

IBM’s case is that the CICS translators, Arg0 and the Language Definition Tables are component parts of the CICS Transaction Server, an ICA Program, as set out in respect of the Paragraph 11.3 allegation above.

430.

The defendants’ case is that the information sent by Winsopia to LzLabs took the form of compiler listings and scrubbed load modules. This was interface information, comprising material output by the compiler or pre-processor and not an ICA Program.

431.

Winsopia’s production of the unredacted compiler listings included the pseudo-assembler language listings, close representations of the machine instructions that the compiler would emit as the object code of the compiled program. This exposed otherwise undocumented IBM code generated by the CICS translators and the parameters determined by the Language Definition Tables. For the reasons set out in respect of the Item 3 allegation above, this amounted to reverse engineering of the CICS translators, Arg0 and the Language Definition Tables, which were ICA Programs within the meaning of the ICA.

432.

The defendants’ case is that Winsopia’s actions amounted to permitted observation, study and testing of the functioning of the two translators in order to determine the underlying ideas and principles in the form of interface information, namely, whether the translated Arg0 calls output by the IBM COBOL compiler were the same as those output by the external CICS translator.

433.

I reject that submission for the reasons set out above in respect of the Item 3 allegation. Winsopia did not confine its actions to examining the input and output of the test program to determine the functioning of the CICS translators. Winsopia already knew that the CICS translators would generate a CALL to the relevant CICS routine with the parameter list required for execution. Winsopia’s production of the unredacted listings with pseudo-assembly lists disclosed, not just the output of the program but how the program achieved its output, that is, expression of the program, rather than its functioning.

434.

For the reasons set out in respect of the allegation in item 3 above, production of the compiler listings was not indispensable to obtain information necessary to achieve interoperability so as to engage the Article 6 exception.

435.

In summary, on this issue:

i)

Winsopia’s analysis of the embedded and external CICS translators was in respect of an ICA Program within the meaning of the ICA.

ii)

Winsopia’s analysis amounted to reverse engineering in breach of clause 4.1.3(a) of the ICA.

iii)

Winsopia’s analysis did not fall within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive.

iv)

Winsopia’s analysis did not fall within the permitted exception in Article 6 of the Software Directive.