Endevor versus Git / GitHub
- Ralph Linkletter
- Jun 3
- 2 min read
This post details the technical problems, hidden expenses, and the legality
of moving an Endevor source code management system to Git / GitHub.
The hypothetical zOS production environment is comprised of 4,000 z/OS application
COBOL, PL/I, and HLASM Endevor source code modules that require yearly updates.
Distributed version control works well for open-systems and cloud-native
software. However, putting Git in place for z/OS COBOL, PL/I, HLASM applications
creates major data errors, compile issues, and oversight gaps.
These structural flaws must be addressed before even contemplating test projects.
1. Character Encoding & Data Losses (EBCDIC vs. ASCII)
Git runs on ASCII or UTF-8 text formats, while z/OS uses EBCDIC. Putting Git
between these systems creates text translation flaws:
* Hexadecimal and Packed-Decimal Data: zOS COBOL, PL/I and Assembler code
hold embedded hex constants and packed-decimal code. Standard text tools
cannot tell the difference between plain text and non-display code constants.
* Conversion Errors: Changing source files from EBCDIC to ASCII for local
editing, and then back to EBCDIC for compiling, breaks character mappings.
One broken character will pass compiler checks but trigger S0C7 data crashes
or silent data errors during batch processing runs.
2. Operational Risks of Shared Code Merging
Distributed SCM tools use side-by-side branches and automated text merging
instead of locking code files. This setup removes proven change-management
safety steps:
* COBOL Auto-Merge Flaws: Git merges files line-by-line as raw text. It does
not understand COBOL paragraph layouts, copybook setups, or file links.
Double edits to a large COBOL file can pass auto-merges while breaking
column spots, variable rules, and program logic.
* Loss of Overwrite Protection: Endevor’s "Check-Out and Lock" rule stops
developers from overwriting linked code files. Moving to automated branching
creates code clash risks across the 4,000 modules. Scheduling changes
cannot fix this, leading to more system downtime.
3. Extra Work & Server Costs
Moving to a local Git setup does not cut down admin work; it just moves the
work to higher-paid IT jobs:
* Staffing Needs: Keeping offline, fire walled code servers like GitHub
Enterprise Server or GitLab Self-Managed running safely takes 1 to 2
dedicated systems admins. They must handle server crashes, daily backups,
security updates, and login syncs.
* Estimated Costs: This additional labor cost of $200,000 to $350,000 annually,
in addition to software license expenses.
4. Technical Skill Gaps
Standard new age workers do not have the specialized system skills to run
mainframe compile pipelines:
* Systems Programming Limits: Mainframe systems teams focus only on OS updates,
software fixes, and system uptime. They do not help build or fix application
compile pipelines.
* Contractor Knowledge Gaps: Standard new age contractors do not know how
Partitioned Data Sets, JCL compiles, or mainframe link-edit rules work.
Workers who know both Git steps and Endevor setups are very hard to
find. Hiring them requires costly help at $250+ per hour or long internal
training costs -- with no guarantee that a trained asset will not seek other jobs or assignments



Comments