Items 36 and 42: Unscrubbed CSECTs
Items 36 and 42: Unscrubbed CSECTs
In July 2017 LzLabs opened DR-2581, requesting Winsopia to process customer applications on its mainframe. As recorded on the DR, initially, Winsopia encountered difficulties because the data supplied was incomplete but subsequently, it used CPX to scrub and package the load modules and sent them to LzLabs.
On 26 July 2017 LzLabs opened DR-2625, identifying an IBM CSECT, IGZCBSN, that had not been scrubbed from the load modules and asking Winsopia to rescrub those libraries to remove it.
Mr Palmer and Mr Bowler discovered that the CSECT was not specified on the CPX scrub list, as recorded in Mr Palmer’s email dated 2 August 2017. By further email dated 14 August 2017, Mr Bowler stated:
“Chris Palmer sent me the attached "scrub list" of csects which Winsopia remove from load modules and replace by dummy csects. Chris has asked Lzlabs to review the list and report back additions or deletions.
To my mind the list appears at first sight somewhat sparse. I would prefer to see a blanket exclusion of everything beginning with IGZ, CEE, etc. with specific exceptions like CEESTART, CEEUOPT. This would require a modification to the Winsopia scrub utility but Chris indicated he is willing to make that enhancement.”
On 4 September 2017 DR-2747 was opened, in which Mr Bowler stated that the load library delivered in response to DR-2625 to LzLabs was found to contain 43 listed CSECTs, which were then added to the CPX scrub list. Yet further unscrubbed CSECTs were discovered in this load library as recorded by Mr Palmer in Bugzilla Ticket 347-A on 5 September 2017.
The defendants’ submission is that none of the relevant materials originated from Winsopia’s mainframe; they came from versions of IBM products that were not licensed to Winsopia, and were not provided by IBM to Winsopia. That is an oversimplification of the process; Winsopia did not just act as a post-box for customer applications. The CPX process involved loading the application and calling the CPX LZMPDSE program, which in turn would call the z/OS binder to read the load module, break it into CSECTs and perform the scrubbing exercise. The question in respect of this allegation is the extent to which, if at all, the relevant load modules were in fact subject to CPX processing.
The experts agree that a number of the unscrubbed CSECTS related to historic versions of COBOL and PL/I that could not have emanated from Winsopia’s mainframe. However, others are still supplied by IBM with z/OS and are available to Winsopia on its mainframe. Both Mr Swanson and Mr Stephens examined the load modules on the zPDT machine. They identified that a number of the unscrubbed CSECTs were not contained in the z/OS library and therefore unlikely to have been available on Winsopia’s mainframe but they also identified a number of the unscrubbed CSECTs that are available in z/OS and therefore available on Winsopia’s mainframe. There was not complete agreement between the experts. Mr Swanson and Mr Stephens agreed that 19 of the unscrubbed CSECTs are part of the SCEELKED dataset forming part of z/OS Base. They disagreed on a further 4 CSECTs, with Mr Stephens identifying them as CSECTs present in a different version to those available to Winsopia.
DR-2625 suggests that Winsopia might have re-compiled, assembled and/or link-edited some of the applications on the mainframe, thus indicating that at least some of these unscrubbed CSECTs could have been inserted into the load modules at that time. Mr Stephens agreed in cross-examination that it was plausible that Winsopia re-bound the modules but he stated that he had seen no evidence to that effect.
Drawing together the strands of evidence on this issue, despite the best efforts of the experts, it is not clear what was done by Winsopia when sending these load modules to LzLabs. The contemporaneous documents demonstrate that CPX did not remove CSECTs effectively from these load modules. However, there is inadequate evidence as to whether the versions of the CSECTs which Winsopia could access under the ICA contained the same code as the older versions in the load modules supplied by the customer. Therefore, it is unclear whether Winsopia transferred out of its enterprise any CSECTs that were subject to the terms and conditions of the ICA.
It follows that IBM have not established any breach of the ICA in respect of these items.
- 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)