Item 14: AMBLIST analysis of CICS Stubs (Paragraph 28.2 of the Technical Particulars)
Item 14: AMBLIST analysis of CICS Stubs (Paragraph 28.2 of the Technical Particulars)
AMBLIST is a batch utility provided with z/OS that can provide information about a load module. Such information includes the parameters and options used when creating the load module, a list of the CSECTs in the load module and the assembler used to create the load module. It can be used to print a formatted listing of the contents of the load module, including the object code and EBCDIC text, but it cannot disassemble the object code.
On 28 January 2016 Mr Taylor of LzLabs opened DR-1502, requesting Winsopia to use a tool such as AMBLIST on CICS stub modules that form part of the CICS Transaction Server to identify the entry points and their corresponding offsets used in COBOL, PL/I and Assembler programs. Four CICS stubs were analysed by Winsopia. Mr Lynch stated in his witness statements that he would have run AMBLIST on the IBM CSECTs to respond to the DR.
The experts agree that Winsopia used AMBLIST to derive information about the size of the CICS stubs, the entry points of the stubs, their offsets within the stub modules, the addressing mode specified and eyecatchers associated with the stubs. From this information, Winsopia created its own replacement CICS stubs, which were included in the load modules sent to LzLabs.
IBM’s case is that Winsopia analysed the CICS stubs with AMBLIST in order to create replacements for these stubs, amounting to reverse engineering a component part of the CICS Transaction Server.
The defendants’ case is that the CICS stubs are not ICA Programs, there was no reverse engineering and Winsopia’s acts fell within the scope of its rights under Article 5(3) of the Software Directive.
The issues in dispute are:
whether Winsopia’s analysis of the CICS stubs fell within the definition of an ICA Program for the purpose of the ICA;
whether Winsopia’s use of AMBLIST constituted reverse engineering in breach of clause 4.1.3(a) of the ICA;
whether Winsopia’s actions fell within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive.
The IBM CICS stubs were generated by, and form component parts of, the CICS Transaction Server. The defendants submit that they are not ICA Programs because they are not self-contained components of CICS and are interfaces containing none of the commercially valuable processing of CICS. I reject that argument. The CICS stubs are an essential part of the CICS Transaction Server process, without which the CICS services would not be called at runtime. For the reasons set out above, I accept that they fall within the definition of ICA Programs within the meaning of the ICA.
Although AMBLIST is available as a debugging tool, Winsopia did not use it for such purpose. It was used to expose the names, lengths and offsets of the IBM CSECTs in the load modules, so that Winsopia could provide placeholders for LzLabs to insert equivalent replacement CICS stubs. This amounted to reverse engineering of the CICS Transaction Server v5.
The defendants submit that Winsopia’s activities fell within Article 5(3) of the Software Directive on the ground that Winsopia was entitled to investigate interface information relating to the CICS stubs. I reject that argument. There is no suggestion that Winsopia used AMBLIST for the purpose it was designed, namely, debugging. The information produced about the load modules enabled Winsopia to gain an understanding as to the sequence and combination of code used by the CICS Transaction Server to implement the CICS services. That concerned expression of the program, rather than its functioning.
In summary on this issue:
Winsopia’s analysis of the CICS stubs fell within the definition of an ICA Program for the purpose of the ICA.
Winsopia’s use of AMBLIST constituted reverse engineering in breach of clause 4.1.3(a) of the ICA.
Winsopia’s actions did not fall within permitted observation, study and testing pursuant to Article 5(3) of the Software Directive.
- Heading
- Mrs Justice O’Farrell
- Section II - Background to the dispute
- The SDM
- Hercules
- Neon litigation
- Formation of LzLabs and Winsopia
- The ICA
- SDM development and the clean room procedures
- Launch of the SDM
- Project Eiger
- Further development of the SDM
- Audit request and termination
- Section III - The proceedings
- The Issues
- The factual witnesses
- Section IV - Construction of the ICA
- Approach to construction of the ICA
- Scope of licence
- The ICA Programs
- Customer applications
- Licensed Program Specifications
- Independent software vendors (ISVs)
- Debugging tools
- Restrictions on use of ICA Programs
- Legislative framework
- Berne Convention
- TRIPS
- WIPO
- Software Directive
- Copyright, Designs and Patents Act 1988 (CDPA)
- Applicable legal principles
- Conclusions on ICA
- Section V - Alleged breaches of the ICA
- Disassembly, decompilation and translation
- Item 2: Load Module Decompiler (“the LMD”) (Paragraph 11.2 of the Technical Particulars)
- Item 3: CICS Control Blocks Document (Paragraph 11.3 of the Technical Particulars)
- Item 4: EXEC DLI (Paragraphs 27.18 & 28.19 of RRRAPOC)
- Item 5: IBM Binder Software (Paragraph 11.4 of the Technical Particulars)
- Compiler listings – summary of the dispute
- Item 6: IGZCIVL COBOL runtime module (Paragraph 11.6 of the Technical Particulars)
- Item 7: CICS Translators (Paragraph 20.1-2 of the Technical Particulars)
- Item 8: Floating point rounding rules (Paragraph 20.3 of the Technical Particulars)
- Item 9: IBM PL/1 compiler (Paragraph 20.4 of the Technical Particulars & Paragraph 27 of the POC)
- Item 10: XML Parse statements (Paragraphs 33-38 of the Technical Particulars)
- Item 11: COBOL initialisation, branching and I/O declaratives (Paragraphs 27.4&27.5 RRRAPOC)
- Item 12: PL/I Condition handling (Paragraphs 27.10-27.12 of RRRAPOC)
- Reverse engineering through the systematic use of traces, dumps, slip traps, packet sniffing and other debugging tools techniques – summary of the dispute
- Item 13: CICS-to-CICS communications (Paragraph 28.1 of the Technical Particulars)
- Item 14: AMBLIST analysis of CICS Stubs (Paragraph 28.2 of the Technical Particulars)
- Item 15: Colesoft z/XDC and COBOL initialisation (Paragraph 28.3 of the Technical Particulars)
- Item 16: XDC and IMS (Paragraph 28.4 of the Technical Particulars)
- Additional examples
- Item 17: SLIP Traps and CICS (Paragraph 28.5 of the Technical Particulars)
- Item 18: SLIP Traps and COBOL (Paragraph 28.6 of the Technical Particulars)
- Macros and Copybooks - introduction
- Macros (Paragraphs 32.1-32.9 of the Technical Particulars) – summary of the dispute
- Item 19: DR-3246 (Paragraph 32.1 of the Technical Particulars)
- Item 20: DR-10237 (Paragraph 32.2 of the Technical Particulars)
- Item 21: DR-2753 (Paragraph 32.3 of the Technical Particulars)
- Item 22: DR-2771 (Paragraph 32.4 of the Technical Particulars)
- Item 23: DR-2796 (Paragraph 32.5 of the Technical Particulars)
- Item 24: DR-3280 (Paragraph 32.6 of the Technical Particulars)
- Item 25: DR-4281 (Paragraph 32.7 of the Technical Particulars)
- Item 26: DR-4322 (Paragraph 32.8 of the Technical Particulars)
- Item 27: DR-0847 (Paragraph 32.9 of the Technical Particulars)
- Macros - discussion
- Copybooks (Paragraphs 2.1.1.3 and 32.10-32.12 of the Technical Particulars) – nature of the dispute
- Item 28: DR-715 (Paragraph 32.10 of the Technical Particulars)
- Item 29: DR-753 (Paragraph 32.11 of the Technical Particulars)
- Item 30: DR-756 (Paragraph 2.1.1.3 of the Technical Particulars)
- Copybooks - discussion
- Transferring “unscrubbed” materials
- Item 31:Epiphany
- Item 32: Db2 Catalog table metadata
- Item 33: DSS dump
- Item 34: Kednos
- Item 35: CSECTs deliberately omitted from scrubbing
- Items 36 and 42: Unscrubbed CSECTs
- Items 37 and 40: IMS PROCLIB & DLIBATCH
- Item 38: DFHEI1 module
- Item 39: IGZXANE
- Item 41: IGZXNE3N
- Item 43: CEEBETBL, CEEBLLST, IBMPINPL & CEESG*
- Item 44: DR-4617
- Item 45: DR-171
- Item 46: Scrubbing failures
- Item 47: @@TRGLOC CSECT
- Item 48: PARMLIB & PROCLIB
- Use outside Enterprise and beyond Designated Machine
- Item 49: Brad Taylor (Paragraph 44.2 of the Technical Particulars)
- Item 50: Winsopia Pizzabox (Paragraph 44.5 of the Technical Particulars)
- Item 51: Justin Bendich (Paragraph 44.6 of the Technical Particulars)
- Conclusions on technical breaches
- Section VI - Wrongful procurement of breach
- Applicable legal principles
- LzLabs
- LzLabs UK
- Claims against the directors
- Mr Moores
- Summary on unlawful procurement
- Section VII - Unlawful means conspiracy
- Applicable legal principles
- Knowledge of unlawfulness
- Summary on unlawful means conspiracy
- Section VIII – Audit and Termination
- Validity of audit request
- Validity of termination
- Section IX - Limitation
- Contractual limitation
- Statutory Limitation
- Deliberate concealment
- Finding - section 32(1)(b)
- Finding - Section 32(2)
- Actual or constructive knowledge – legal principles
- Date of knowledge issues
- ICA 2013
- Mr Knight - 2017
- Mr Anzani - 2018
- Conclusions
![HT-2021-000363 - [2025] EWHC 532 (TCC)](https://backend.juristeca.com/files/emisores/logo_yJUntHA.png)