-
Notifications
You must be signed in to change notification settings - Fork 32
Development Minutes
- Project tracker: https://github.com/orgs/zopencommunity/projects/5/views/1
- Retro update of release notes
- Docs site - https://squidfunk.github.io/mkdocs-material/
- Document zopen's preference (?) for ccsid 819 when _BPKX_AUTOCVT=ON
- Currency status: https://zopen.community/#/updatestatus
- Guild Meeting: https://github.com/orgs/zopencommunity/discussions/956
- Next Guild Meeting (APAC) (March 17, 5:30pm IST, 7:00am EST) topics:
- OMP annual report: https://openmainframeproject.org/wp-content/uploads/sites/14/2025/02/omp_ar24_0202425a.pdf
- Moving our target to 2.5 and ALS to z13
- New tools:
- hexcurse
- spdlog
- gradle - investigating issues with stdin (ebcdic codepage)
-
Using github projects to track monthly goals: https://github.com/orgs/zopencommunity/projects/5/views/1
-
Guild Meeting tentatively scheduled for next week (Thursday, Feb 6, 9:30am EST): https://zoom-lfx.platform.linuxfoundation.org/meeting/96482329029?password=f78fa4df-2848-4f44-a6f8-c21eff24f9cd
-
zopen
- metadata update proposal: Adding files, executables for auditing/scanning, whatprovides command?
- Maintain a list of all package files (and their respective sha256 hashes) in the metadata.json. Mayhelp tracking what to uninstall, resolving corrupted files, security auditing, and displaying what tools a package provides.
{
"files": [ {
"path": "/usr/local/zopen/curl/bin/curl",
"sha256": "a1b2c3d4e5f6...",
"mode": "755"
},
{
"path": "/user/local/zopen/curl/lib/libcurl.so.4.8.0",
"sha256": "d4e5f6..."
},
// Directory
{
"path": "/opt/zopen/curl/include/curl"
},
],
"executables": [
"bin/curl",
"bin/curl-config"
]
}
-
Notable tool updates:
- Rsync updates - Resolved CVEs by updating to the latest version
- Resolved issues related to syncing to/from non-z/OS/z/OS
- GPG updates
- zip/unzip/gzip accelerated
- Rsync updates - Resolved CVEs by updating to the latest version
-
Public Facing Hardware integrated to CI/CD
-
Guild Meeting
-
Signing our git commits
-
Perl issues
- Using clang as the default build compiler: https://github.com/zopencommunity/meta/pull/943
- Notable tool updates:
- Git - updated to 2.48.1 and fixed issue https://github.com/zopencommunity/gitport/issues/140
- GPG updated:
- several warning messages have been corrected
- zopen has been updated to suppress verbose messages by default
- zip/unzip enabled with zedc support (awaiting official build)
- zip fixed to respect symlinks
- gzip zedc integration is next
Mentorship programs:
- India (RVCE 3 students - Developing a data taxonomy for porting - underway, currently in education phase, understanding how builds work)
- RCOS (Starting next week)
- India (Starting in February - PES University - Porting an AI inferencing engine to z/OS)
- OMP Mentorship program - starting in Summer
zopen discussion:
-
zopen info
- PR: https://github.com/zopencommunity/meta/pull/943 -
zopen diagnostics
(To do things like space check and create copy-pasteable text into a new GH issue) - Improved installer update from Russell - https://github.com/zopencommunity/meta/pull/742
Next Guild Meeting:
- Dates? Jan. 30, 9am. EST or early Feb?
- Libdio discussion - https://github.com/zopencommunity/libdio
- Happy new year! 🎉
- Changelog update
- 2025 discussion
- Reached 200+ projects:
- Keys new tools include: tmux, emacs, cppcheck and more
- Officially joined the Open Mainframe Project
- New contributors:
- New university programs (Georgia Tech) - Kepler/Dian (zopen audit)
- 21CS (Aiden - meson, conan)
- Additional contributors from IBM (through JumpStart program)
- Simplified contribution process (via issue)
- Adoption: Grew from 3k to 5k installs per month
- New functionality in zopen:
- GPG integration for package signing and verification.
- Pre-requisite support for packages.
- Improved handling of conflicting tools
- Beta Dataset I/O support in editors (Vim, Emacs).
- zopen audit tool.
- Improved checks (space, etc)
- Difficulty attracting and maintaining new contributors
- Maintaining consistent quality in the zopen package manager
- Bugs found by the community, inconsistent error handling
- Drop-off in zopen community engagement in 2H 2025
- Fewer zopen guild calls, and overall engagement (discussions, discord)
- Lack of clear documentation
- zopen usage and configuration
- Difference in behaviour between native tools and zopen community tools
- Lack of z/OS access for new contributors
- Migration from xlclang to clang - document transition
- zopen:
- Improving adoption:
- Enabling support for airgapped environments with registry mirroring and local pax installs
- Quality: additional unit and end to end testing for zopen
- Adding support for an rpm package format
- Inconsistent error handling:
- Implementing consistent error handling
- Improving adoption:
- Engagement:
- Increase the frequency and variety of community events (Guild meetings, OMP events)
- Upload/improve documentation for new contributors
- Consider incentives for new contributors
- Public facing HW access for new contributors
- Engaging with additional universities and OMP Internship program
- Upstreaming
- Monitor and track upstreaming success
- CICD upstreaming
- Leveraging AI
- Can we use AI to improve zopen? or create tests?
- Can we train an AI to assist in porting open source to z/OS?
- Tools
- Focus on critical/high priority tools: https://github.com/zopencommunity/meta/issues/922
- Focus on quality vs quantity and adding the missing subset of z/OS extensions
- Exploiting IBM Z HW for better performance (zedc, and more)
- Extending tools to support dataset I/O
- Security:
- Achieving OpenSSF badge certification - adding static scanning
- December 2024 update - https://github.com/orgs/zopencommunity/discussions/931
- Establishing the differences between coreutils and z/OS /bin tools: https://github.com/zopencommunity/coreutilsport/issues/87
- Tool Priority: https://github.com/zopencommunity/meta/issues/922
- Services provided by the LF partner program (https://www.linuxfoundation.org/projects/partnerships)
- zEDC progress
- Dataset I/O
- Upcoming university program
- AI Porting assistant
-
Create RPM packages from tar.
Need to fork this work on pax files? - Using artifact attestations to establish provenance for builds
- Tracker for new tools: https://github.com/zopencommunity/meta/issues/922
- Dataset I/O support for Vim, Emacs, Nano:
- How important is sequential dataset support? Gary - leverages sequential datasets (no stats, ENQ)
- zEDC (zEnterprise Data Compression) integration into tools that leverage zlib (gzip, zip, git, and more)
- Round the table - talk us through your dev setup..
- Tool priorities: https://github.com/zopencommunity/meta/wiki/Tool-Priorities
- LFX insights: https://insights.lfx.linuxfoundation.org/foundation/open-mainframe-project/overview/github?project=zopen&repository=&routedFrom=Github
- Vim with Dataset I/O support discussion
- ENQ - do you want it to lock during entire editing session, or until your first write?
- ISPF statistics - Currently looking at userid and timestamp of change. What should we do with version/creation lines/etc changed, do we need all or a subset of ISPF stats? (can help with audit) - Gary: match ISPF behaviour for ENQ and ISPF stats
- More we do, the more effort involved
- New port contribution process
- https://github.com/zopencommunity/meta/pull/921
- run zopen generate automatically
- New domains for website + a valid certificate
- https://cicd.zopen.community - also now viewable to non-IBMers
- https://usage.zopen.community - for analytics
- Check using domain use for ssh login
- zEDC / HW encryption exploitation in compression tools (zip/gzip)
- OpenSSL use cases on z/OS (do you use keytool?)
- coreutils sort - can we exploit HW acceleration
-
info on
/usr
merge - https://systemd.io/THE_CASE_FOR_THE_USR_MERGE/ -
Port libraries like simdutf8 to speed up dealing with codepages
-
Port systemd ?
- Ref 1 - https://systemd.io/PORTING_TO_NEW_ARCHITECTURES/
- Ref 2 - https://systemd.io/DISTRO_PORTING/
- RedHat is now a part of IBM, so from a talent and flow of development standpoint, this is achievable
-
Now that zopen is in OMP, for secure access, 2 (of many possible) options:
- HashiCorp Boundary
- smallstep
- Igor to ask John Mertic what solutions they have, can they provide one of above
-
Website updates
-
Improving the process for contributing new tools
- Similar to formulae in brew: https://github.com/Homebrew/homebrew-core
- New tools/libraries can be submitted as PRs
- rpm fusion - if we migrate to rpm. - https://rpmfusion.org/
-
OMP Mentorship program
-
Updates:
- GPG Integration: GPG is now integrated into the zopen package manager. All future builds will be signed and verified by zopen.
- Pre-requisite Support: We've added support for managing package pre-requisites. This allows packages to target a specific OS level or feature (e.g., the /proc filesystem).
- Man Page Conflict Resolution: We've introduced support for resolving conflicts with z/OS man pages. If you source your zopen-config with --override-zos-tools, zopen will prioritize its own man pages. If you omit or specify --nooverride-zos-tools, zopen will default to the z/OS tool man pages. zopen manpages that conflict will also be available in the prefixed form as described here.
-
meta package versioning - add changelog - can leverage Go, Rust packages.
- Attempt porting dnf5
- Leverage alternatives instead of our custom altbin arrangement?
- New logo - need to decide before TechXchange announcement in 1.5 weeks
- New meta release
- Will include gpg integration for signing and verifying releases
- Will include pre-req support
- Support for conflicting man pages
- Improved installer (https://github.com/zopencommunity/meta/pull/742)
- Beta version available next week
- OMP update:
- z/OS Open Tools changed to zopen community
- Official announcement will be done at IBM TechXchange
- Double check zopen.community and if we can change it - 2 TSC members cannot access it
- Logo is a temporary placeholder, OMP will create an official one
- Issue Templates and automatic severity labeling:
- GPG integration into zopen (Haritha - will demo in APAC call)
- Recent blog postings:
- APAC Guild Call: https://github.com/orgs/zopencommunity/discussions/867
- VIM I/O support:
- Another alpha release will be available next week
- Better support for conflicting manpages: https://github.com/zopencommunity/meta/issues/865
- Prioritization of meta issues: https://github.com/ZOSOpenTools/meta/issues, https://github.com/ZOSOpenTools/metaport/issues
- Generating a changelog for each release
- OMP update
- Prioritization of meta issues: https://github.com/ZOSOpenTools/meta/issues, https://github.com/ZOSOpenTools/metaport/issues
- New dataset I/O library-enabled editors
- Guild Meetings
- And a regular guild meeting:
- Covering GPG zopen integration, system pre-reqs, profiling?
- And a regular guild meeting:
- Generating a changelog for each release
- Gary: update override-zos-tools to exclude certain tools
- Min arch level for builds? Currently Arch(10) - zEC12
- We plan to move up to 2.5, min supported arch is z13
- Can we distribute multiple releases for each port (one at the latest arch, one at the min supported arch level)
- Prioritization of issues: https://github.com/ZOSOpenTools/meta/issues, https://github.com/ZOSOpenTools/metaport/issues
- CodeRabbit - https://github.com/orgs/ZOSOpenTools/discussions/840
- Emacs released
- New dataset I/O library: https://github.com/ZOSOpenTools/libdio
- Enabling tracing for profiling / debugging
- Guild Meetings
- Special Guild Meeting planned (Editor Edition)
- And a regular guild meeting:
- Covering GPG zopen integration, system pre-reqs, profiling?
- OMP updates
- Generating a changelog for each release
- Gary: update override-zos-tools to exclude certain tools
- New Tools/Libraries
- Dialog - https://invisible-island.net/dialog/#screenshot
- Emacs (coming this week)
- Describe the differences between GNU tools and z/OS tools
- Document them first
- Use it as a way to label quality of the port
- Then prioritize
- What GNU tools that have z/OS equivalents are important
- Gary: Awk, diff, find, tar, sed, coreutils (ls)
- Should we port rpm?
- Pull request templates: https://github.com/ZOSOpenTools/meta/issues/838
- Prioritization of issues: https://github.com/ZOSOpenTools/meta/issues, https://github.com/ZOSOpenTools/metaport/issues
- Upcoming tools
- Procps (add docs for /proc - https://www.ibm.com/docs/en/zos/3.1.0?topic=system-creating-proc-file)
- Hongfuzz (longer term)
- System pre-req checks in zopen - https://github.com/ZOSOpenTools/meta/pull/844
- GPG integration in zopen discussion
- Vim dataset support: https://github.com/orgs/ZOSOpenTools/discussions/843
- GPG integration in zopen discussion
- System pre-req checks in zopen - https://github.com/ZOSOpenTools/meta/pull/844
- OS Level
- Presence of /proc filesystem
- /dsfs?
- Check for specific commands in environment
- Custom pre-req checks specific for tool
- Support for air-gapped environment - poll - https://docs.google.com/forms/d/e/1FAIpQLSduwzivmeNnjdMiQK-pOx4IEZKvLHWIyoY42pSahErm_A40Nw/viewform?usp=sf_link
- Zopen Audit - next steps
- Tools in progress
- Procps (add docs for /proc - https://www.ibm.com/docs/en/zos/3.1.0?topic=system-creating-proc-file)
- Emacs
- Boost (additional components) - will create a poll to help prioritize remaining libraries (40 available now, ~60 remaining)
- Hongfuzz (longer term)
- Gary - iconv is the most important tool
- Look into iconv issue with zopen: https://github.com/ZOSOpenTools/meta/issues/614
- OEF - add iconv?
- Upcoming Guild Meeting - July 23 at 10am EST - to be scheduled
- Zopen Audit
- Zopen Config
- New web pages
- Demos
- New Tools / Fixes
- Hugo: The world's fastest framework for building websites - upcoming
- Fixes to git and coreutils related to PARMLIB vars in filesystem
- "too many files open" fixes in coreutils
- Grep built with pcre support
- Various c3270 fixes
- Ninja updated
- New Poll: https://app.sli.do/event/aCkEVLm7mZ6Cz5UMSYqfbQ
- Another poll on access (to be released): https://docs.google.com/forms/d/e/1FAIpQLSduwzivmeNnjdMiQK-pOx4IEZKvLHWIyoY42pSahErm_A40Nw/viewform?usp=sf_link .
- Meta packages
- Enhanced Security and Verification
- Signing and Verifying binaries: Integrating GPG in the zopen package manager to ensure the authenticity and integrity of binaries. (near term)
- Securing Git Commits: Implementing GPG signing for git commits to verify the identity of the commit author and maintain the integrity of the codebase. (near term)
- Source code static-scanning: Investigating and implementing static scanning tools such as Cppcheck and CodeQL to enhance code quality and security. (mid term)
- Enabling fuzz testing – Using Hongfuzz, a security-oriented, feedback-driven, and easy-to-use fuzzing tool, to detect and address vulnerabilities.
- How we're handling packages that collide with z/OS UNIX tools under /bin/ #825
- Meta packages
- Removing https://github.com/ZOSOpenTools/meta/releases in favor of metaport
- zopen poll
- Considering providing a trusted mirror under ibm.com or ibm.net to avoid punching a firewall.
- Gary: ibm.com preferred
- Would open mainframe project hosted mirror be sufficient?
- Would you prefer to mirror into a jump server that has access to the internet - vetting
- Considering providing a trusted mirror under ibm.com or ibm.net to avoid punching a firewall.
- Next Guild meeting potential topics:
- Keplar from GT has agreed to demo the zopen audit enhancements - prefers to demo between July 7-20 - we'll aim to do the APAC and
- What's to come (static scanning, vulnerability scanning, signing our assets with gpg, enabling mandatory code signing) - Haritha or I
- Latest zopen updates - Russell?
- Tool updates (boost, etc) - Haritha and I can cover this.
- Go ports like Grafana and Prometheus
- Shaping a new code editor to natively accept Z
- Latest updates - https://github.com/orgs/ZOSOpenTools/discussions/788
- Paths with EBCDIC National characters represented as UTF-8 rather than EBCDIC after git
- altbin path
- Proposal: add zot_ or g suffix (if gnu) to all files colliding with bin
- Meta packages
- Any concern with removing https://github.com/ZOSOpenTools/meta/releases?
- Core tool updates:
- Sudo
- Boost Discussions:
- https://github.com/orgs/ZOSOpenTools/discussions/814
- OMP and z/OS Open Tools name
- Prometheus released, or VictoriaMetrics as an alternative,
- node-exporter
- Updates to core tools
- Find/Grep (leaking open file descriptors)
- Go tools
- New release of meta package?
- zopen audit
- zopen config
- zopen-config fixes
- zopen-config enhancements
- remove meta release and point to metaport instead
- simplifies maintenance
- Best practices
- Gary's conflicting tools: coretutils, diffutils, findutils, gawk, grep, libiconv, moreutils, sed, tar
- OEF:
- zstd, gzip considered, bzip2 for library compression
- Lionel: no trademark in z/OS for IBM Open Enterprise Foundation for z/OS
- Website additions
- Fix https://github.com/ZOSOpenTools/meta/actions/workflows/enable_disabled_workflow.yml
- Potential solution: run in Jenkins CI
- Separate script for this, not in docupdate.sh
- TODO: provide access for external users
- Open Mainframe Project status
- z/OS is trademarked. We cannot use z/OS or Z.
- Name change and poll - starting with discord a filtered down list from discord https://discord.com/channels/880322471608344597/1144004073390100601/1243020969539272704 Chatting with our trademark team, because of the IBM mark 'z/OS', having the project name as 'z/OS Open Tools' is in violation of the trademark policies from IBM. We could adjust to something like 'Open Tools for z/OS', or even pick an entirely new name. Let me know what you'd prefer
- Georgia Tech internships
- Kepler to work on security - https://github.com/ZOSOpenTools/meta/pull/765#pullrequestreview-2073854728
- Dian to work on AI integration
- If you want to join their discord to help with mentoring, let me know
- Upcoming IBM Product (SMP/E deliverable of 8 tools)
- Priorities from Gary: reliability, security, stability, performance
- z/OS man does not support open source man pages - provide man in future versions
- man-db should honour USS man pages - perhaps z/OS man should be enhanced to support both USS and groff format
- could be handled through a converter, man-db can also be updated to understand the USS format
- Grafana and Murex now available - Thanks Joon
Outstanding work:
- Enhancements to zopen to be aware of IBM product
- zopen install to check for IBM product in the file system (can be skipped with a toggle, --ignore-oef)
- Lionel: do not add extra logic to consider OEF tools, users installing the tools should manage them themselves
- Change comp_* to check_*
- Enhance zopen to filter out comp_* and potentially change name from comp_ to check_
- metadata change to be able to filter out in regular installs
- Mechanism to toggle z/OS tools vs z/OS Open Tools (GNU Make vs /bin/make, GNU Awk vs /bin/awk)
- Discuss: https://github.com/ZOSOpenTools/gawkport/issues/23
- Document overlaps in z/OS Open Tools vs /bin tools
- BPXWUNIX requires exports as key/value pair
- Discussion: https://github.com/orgs/ZOSOpenTools/discussions/756
- for non-interactive sessions, potentially suppress output
- New zopen installer
- z/OS system access
-
https://github.com/ZOSOpenTools/pythonport/issues/4
- Enhance zopen to filter out comp_* and potentially change name from comp_ to check_
- Discuss: https://github.com/ZOSOpenTools/gawkport/issues/23
- Document overlaps in z/OS Open Tools vs /bin tools
- BPXWUNIX requires exports as key/value pair
- Discussion: https://github.com/orgs/ZOSOpenTools/discussions/756
- for non-interactive sessions, potentially suppress output
- New zopen installer
- Grafana - start of new week availability - potential for exposing z/OS statistics in Grafana
- Form to request z/OS system access - https://community.ibm.com/zsystems/form/zos-program/
- Next Guild will be APAC - anyone interested?
- Let Haritha know, targeting Mid to late May. 5:30pm IST or 6pm IST
- Website discussion https://zosopentools.org/. Subdomains?
- ci.zosopentools.org for CI
- stats.zosopentools.org for analytics
- CI machines being upgrade to 2.5 and 3.1
- zoslib changes: https://github.com/ibmruntimes/zoslib/pull/58
- New tools in the works?
- Murex
- Grafana - able to build it, needs help testing it
- Wireguard-go - wharf errors when building
- fx - wharf has some errors building - json viewer
- s5cmd - Joon was able to build it cleanly with Wharf
- Boost - got it built with a few libraries, cleaning up code - basing on Garidhar's contributions
- Zip/Unzip - saving and restoring file tags
- cppcheck - static scanning
- Improving security - OpenSSF:
- OpenSSF - https://github.com/ZOSOpenTools
- Enable static scanning/vulnerability scanning
- John Mertic suggested https://www.sonarsource.com/open-source-editions/
- Github action: https://github.com/marketplace/actions/sonarcloud-scan
- CodeQL: https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql
- Integrate our own? cppcheck for C/C++ apps, https://github.com/dominikh/go-tools for Go?
- John Mertic suggested https://www.sonarsource.com/open-source-editions/
Recording pass: bGcyrzK3
- Next guild meeting topics
- V8 port
- New zopen features
- Vim LSP support
- Go 1.22 on dev sandbox and CI machine:
- /usr/lpp/IBM/cvg/v1r22/go/bin on dev machine
- Murex - a shell written in Go
- CI/CD - Joon will create the repo contents
- Seeing this on v2r4 - limit it to run on v2r5 CI machines
/jenkins/workspace/Port-Build/godsect/godsect
go version go1.22.2 zos/s390x
CEE3728S The use of a function, which is not supported by this release of Language Environment was detected.
From entry point _rt0_s390x_zos at compile unit offset +00000000266B57C4 at entry offset +000000000000137C at address 00000000266B57C4.
***ERROR: Make (minimal) failed. Log: /jenkins/workspace/Port-
- zoslib
- Heuristic for untagged files
- Curl/Java (Jenkins) on capturing stdout https://github.com/ZOSOpenTools/curlport/issues/26
-
iden
information for tools: https://github.com/ZOSOpenTools/meta/pull/750 - Notifications for vulnerabilities:
- Ideas: mailing list / discussions
- Using containers can help with pulling back releases
- https://github.com/orgs/ZOSOpenTools/discussions/438
- VS Code Remote ssh plugin
- zHW public facing - Erik, Vignesh to beta test
- Go 1.22 - Update CI/dev sandbox
- Git change + Git 2.44 now in
- OMP Onboarding - Call - Thursday, April 11, 2024 from 2:00 PM to 3:00 PM EST
- Invite Russell, Anthony
- _ENCODE_FILE_NEW/_ENCODE_FILE_EXISTING documetnation
- Saving/Restoring file tags in compression/archiving tools:
- Gzip (mostly done), Unzip (in progress), Tar (not done), bzip2
- Next Guild Call:
- V8 Javascript engine demo - John
- Demo of new meta enhancements - Russell
- Anyone else interested?
- Vim LSP/plugins demo - Igor
- Outstanding PRs:
Recording Pass: xZHMRsb7
- APAC Guild Call - Tuesday, March 19, 5pm IST, 6:30am EST
- Preserving file tags discussion (in vim, nano, sed)
- Add toggle, checks for multi-threaded envs, rebase it
- Upcoming Git change + Git 2.44
- Neovim/LSP discussion
- OMP Pitch
- Troubleshoot gh cli's permission when invoked from an Action -https://github.com/ZOSOpenTools/meta/pull/606#issuecomment-1980028800
View the Recording, Pass: NmnixjM5
- Russell to demo zopen local installs
- go 1.22 in CI (https://github.com/ZOSOpenTools/buildkiteport/pull/9)
- Use multi-gitter from CI to force-enable workflows in bulk:
- No new workflow needed in all repos; just a command to run once in 50 days or so
- https://docs.github.ink/en/rest/actions/workflows?apiVersion=2022-11-28#enable-a-workflow
- New Meta release
- Git 2.44
- OMP Pitch - March 14
Igor Todorovski's Personal Room-20240215 1415-1 pass: yRtNYaA7
- Upcoming tools/New Tools:
- Doxygen (Haritha) - we can now use it on zoslib to generate docs in z/OS
- Prompters (Lionel)
- osv-scanner
- Survey update
- What major tools are we missing from here? https://formulae.brew.sh/analytics/install-on-request/365d/
- Open Mainframe Project update
- Try the zopen usage statistics
export ZOPEN_BETA_FEATURES=1
-
zopen upgrade meta -r
orzopen init --refresh
- http://163.74.88.212:3000/
- Adding additional CODEOWNERS (reviewers)
- Vignesh
- Upcoming meta release (0.8.2)
- Upgrading the default Go compiler to 1.21 in our CI/CD pipelines
- Go compiler is 1.19 in CI? Can we review & action these please, so upstreaming of GL can start :)
- Public facing zHW update
- Vulnerability notifications - Progress update
- Zopen Install Caveats
- Handling tools that conflict with z/OS tools
- E.g. GNU make vs z/OS Make
- Should we extend
zopen alt
to support selecting alternatives for native tools?
- Should
zopen list
includes descriptions of each tool? - Workflows are getting automatically disabled on repos with no activity. Ex: https://github.com/ZOSOpenTools/zlibport/actions/workflows/bump.yml
Recording: Igor Todorovski's Personal Room-20240201 1601-1 6vDBvxwv
Add your topics here:
-
(Vignesh) For analytics & the OSV scanner, what if the users' systems didn't need to talk to a zopen site? Instead, we can add a verb, say
zopen amisecure
, and it'll generate a short block of text with tool & version numbers. Then, they paste it in a page in the zopen site and that calls the OSV API to get results. This'll allow us to cache status info of tool-version combos and do fewer calls overall. Can't remember... do we have more functionality than this planned for / currently done by the analytics?- https://google.github.io/osv-scanner/usage/#cc-scanning
- Proposal:
zopen audit
tool (copied from npm)- Identifies all tools that have an open CVE .
- zopen upgrade --vulnerable - updates vulnerable tools
- Implementation:
- Use osv-scanner as part of the CI/CD process to scan the source code and build a database of tool/version + vulnerabilities
- We can then use zopen audit and/or a website to query for existing vulnearbilities
-
UTF8 Git support:
- Draft PR: https://github.com/ZOSOpenTools/gitport/pull/108
- __ae_autoconvert_state - does it persist on pthread create/spawn
- It persists on spawn, but not persist on new threads. The environment variable is used to determine the auto convert state.
- If we use setenv in zoslib, we can alleviate it.
-
Open Mainframe Project
- Under evaluation (speaking with council reps)
- Benefits: Bring in contributors from different organizations (interns), Drive broad industry awareness with the press and analysts, OMP takes all liability, they can fund the creation of a logo, paid zoom license/slack channel
- Downsides: Requires yearly re-validation (typically a non-issue as long as you are active), meetings every other week (optional), share ownership with OMP, specific rules in place (code signing (cbttape does not code sign), licensing)
- Under evaluation (speaking with council reps)
-
Meeting duration/timing/frequency:
- Proposal to change the meeting to 1 hour earlier (for folks in India).
- 2 hours earlier and every other week.
-
Guild Meeting - Feb. 7
Recording: Igor Todorovski's Personal Room-20240125 1618-1 pW6BR2Xh
Topics:
- Git UTF8 encoding/file tag
- System-wide UTF8 - As a bare minimum, which areas need to add support, to allow this optional z/OS-native UTF8 ecosystem to grow (added by Vignesh; not attending this one, just wanted to bring this up; delete this note later)
z/OS Open Tools Git currently tags UTF-8 files as ASCII ISO8859-1 (819).
Problems:
- Violates principle of least surprise - The file tag and encoded contents are not matching
- 819 is not a complete subset of UTF-8 (e..g ¬ ), 819 characters can be represented as UTF-8.
- working-tree-encoding=ISO8859-1 is considered the same as UTF8 (no conversion)
Proposal:
- Switching default tag for UTF-8 encoded files to 1208
- working-tree-encoding=ISO8859-1 will convert from UTF8 to ISO8859-1
Benefits:
- Smoother transition for Rocket Git users
- Consistency, no special case
- Users can rely on .gitattributes or GIT_UTF8_CCSID environment variable to override default setting.
- z/OS Open Tools programs already work with UTF-8 since _BPXK_AUTOCVT=ON is set (no translation occurs)
Problems:
- Existing z/OS Git users may be affected by the change in default behaviour.
- IF _BPXK_AUTOCVT=ALL is set, UTF8 to 819 (pccsid) will cause issues
- Potential solution, set PCCSID to 1208
ON Activates the automatic file conversion of tagged files. This option affects conversion for I/O for regular, pipe, and character-special files that are tagged. OFF Deactivates the automatic file conversion of tagged files. OFF is the default. ALL Activates the automatic conversion of tagged files that are supported by Unicode Services. This option affects conversion for I/O for regular and pipe files that are tagged. Setting or unsetting ALL has no effect after translation for a file begins. If the conversion is between EBCDIC and ASCII, this option also affects conversion for I/O for character special files.
Identifies the program CCSID for the running thread or user. It can be used to override the internal default of 1047 (EBCDIC). Any value between 0 and 65535 can be assigned, but to avoid any subsequent errors, only values that are supported by Unicode Services should be used. Setting or unsetting this variable has no effect after translation for a file begins. When unset, the internal value of the program CCSID reverts to the default of 1047.
#include <stdio.h>
#include <stdlib.h>
#include <env.h>
#define BUFFER_SIZE 4096
int main() {
char buffer[BUFFER_SIZE];
setenv("_BPXK_PCCSID", "1208", 1);
FILE *fin = fopen("codepage.txt","r");
fgets(buffer, 100, fin);
fprintf(stdout,"%s", buffer);
}
вход
bash-5.2$ /bin/cat (PCSSID=1047) a.txt (1208)
cat: FSUM6180 file "a.txt": EDC5122I Input/output error.
bash-5.2$ vim a.txt
bash-5.2$ /bin/cat a.txt
💁👌🎍😍
TODOs:
- unicode system services - requires additional set up
- __ae_autoconvert_state - does it persist on pthread create/spawn
- research into why outputting into tty does not display anything
- _BPXK_TECHNIQUE=
- _BPXK_TECHNIQUE
- _BPXK_UNICODE_SUB
- _BPXK_UNICODE_MAL
- Pipes cannot be tagged as 1208 - double check
- Why is there not function to set pccsid?
- Support for other EBCDIC code pages 1140 or 037 (does it work with AUTOCVT=ALL)?
Attendees: Joon, CW, Anthony, John, Lionel, Haritha, Russell, Igor
Recording: Igor Todorovski's Personal Room-20240118 1601-1 GuKkEuE6
- Upcoming Guild Meetings
- APAC: Jan. 23 (7am EST) - Scheduled!
- Americas/Europe: Feb. 7 (10am EST)
- Topics
- Logo
- LinkedIn Group
- Blogging
- zoslib
- Testimonials/Success Stories
- Integrating vulnerability notifications into zopen
- https://google.github.io/osv.dev/
- deps.dev
- Collecting z/OS Open Tools usage
- Go tools - install location
- Upstreaming (Git)
- Tools to consider for 2024:

- Tools/Libraries being worked on:
- tmux (Igor)
- Boost (giridhar)
- Terraform (Pradeep)
- ccache (Sean)
- caddy (Joon)
- neofetch (Anthony)
- z/OS Tools and Toys (Anthony)
- Prometheus (zhilong)
- fq
- osv-scanner
z/OS Open Tools Git currently tags UTF-8 files as ASCII ISO8859-1 (819).
Problems:
- Violates principle of least surprise - The file tag and encoded contents are not matching
- 819 is not a complete subset of UTF-8 (e..g ¬ ), 819 characters can be represented as UTF-8.
Proposal: Switching default tag for UTF-8 encoded files to 1208
Benefits:
- Smoother transition for Rocket Git users
- Consistency, no special case
- Users can rely on .gitattributes or GIT_UTF8_CCSID environment variable to override default setting.
- Z/OS Open Tools programs already work with UTF-8 since _BPXK_AUTOCVT=ON is set (no translation occurs)
Problems:
- Existing z/OS Git users may be affected by the change in default behaviour.
ON Activates the automatic file conversion of tagged files. This option affects conversion for I/O for regular, pipe, and character-special files that are tagged. OFF Deactivates the automatic file conversion of tagged files. OFF is the default. ALL Activates the automatic conversion of tagged files that are supported by Unicode Services. This option affects conversion for I/O for regular and pipe files that are tagged. Setting or unsetting ALL has no effect after translation for a file begins. If the conversion is between EBCDIC and ASCII, this option also affects conversion for I/O for character special files.
Identifies the program CCSID for the running thread or user. It can be used to override the internal default of 1047 (EBCDIC). Any value between 0 and 65535 can be assigned, but to avoid any subsequent errors, only values that are supported by Unicode Services should be used. Setting or unsetting this variable has no effect after translation for a file begins. When unset, the internal value of the program CCSID reverts to the default of 1047.
Why UTF-8 tagged files are problematic:
#include <stdio.h>
#include <stdlib.h>
#define BUFFER_SIZE 4096
int main() {
FILE *inputFile, *outputFile;
char inputFileName[100], outputFileName[100];
char buffer[BUFFER_SIZE];
size_t bytesRead;
fprintf(stderr, "Before call\n");
setenv("_BPXK_PCCSID", "1208", 1);
fprintf(stderr, "After call\n");
}
Program will exit after setenv!
Attendees: Igor, Mike, Lionel, Erik (mfsysprog), Joon, Vignesh
Recording: Igor Todorovski's Personal Room-20240111 1600-1 mFn62EHp
- Happy new year!
- Dev Meetings Purpose
- Facilitate better communication, discuss and address contentious topics, get feedback on development activities, and steer the direction of z/OS Open Tools.
- Intros
- Upcoming Guild Meetings
- APAC: Jan. 23 (7am EST)
- Americas/Europe: Feb. 7 (11am EST)
- What we're working on?
- Evangelism:
- Logo (identity)
- LinkedIn Group?
- Testimonials/Success Stories
- Make z/OS a first class platform by providing real zHW
- Social media?
- Collecting z/OS Open Tools usage
- Package manager improvements (local installs)
- V8/gn/depot_tools
- zoslib
- currency
- Upstreaming (Git)
- Evangelism:
- Tools to consider for 2024:

- Tools/Libraries being worked on:
- tmux (Igor)
- Boost (giridhar)
- Terraform (Pradeep)
- ccache (Sean)
- gitlab (Joon)
- caddy (Joon)
- neofetch (Anthony)
- z/OS Tools and Toys (Anthony)
- Prometheus (zhilong)
- z/OS Open Tools Git:
- Currently tags UTF-8 files as ASCII ISO8859-1 (819)
- Pros:
- Works with ebcdic programs (like cat): 819 tagged files get auto-converted for EBCDIC programs with AUTOCVT=ON
- Does not require setting AUTOCVT=ALL
- Cons:
- Violates principle of least surprise - The file tag and encoded contents are not matching
- Some chars like ¬ have a different encoding in UTF-8 vs 819.
- Rocket's Git
- Currents tags UTF-8 files as UTF8 (1208)
- Pros:
- Encoding contents and file tag match. More intuitive
- Cons:
- UTF8 tagged files do not get auto-converted to EBCDIC for ebcdic programs (in AUTOCVT=ON)
- Requires AUTOCVT=ALL which is not widely used