The Linux Foundation Projects
Skip to main content
Blog | Mentorship

Open Mainframe Project Launches Applications for 2023 Summer Mentorships

By | May 8, 2023

Open Mainframe Project’s Mentorship Program is one of our oldest initiatives. Since launch, the Mentorship program has helped more than 75+ developers and students gain experience in a hands-on learning experience with Linux, open source, and mainframes.

Today, we are excited to announce the launch of the 2023 Summer Mentorships, which kicks off in June and goes through August. Open Mainframe is offering 8 mentorships – opportunities to work with the COBOL Check, COBOL Programming Course, Software Discovery Tool and  Zowe projects.

Interested mentees should go the the LFX Mentorship page to directly apply to the mentorships by May 26. Links to the Open Mainframe 2023 Summer Mentorships and more detailed below.

Mentorship Title: Move COBOL Check to the Next Level

COBOL Check is a framework that enables unit testing of COBOL programs. Currently, the framework is useable and supports the goal of unit testing COBOL programs. We would like a mentee to help us add improvements, like code completion and a linter for the Visual Studio Code extension, more mocking functionality, additional output formats, extended expander functionality and many other features. Other goals for the mentee is to get more of the existing code under tests, add to the documentation of the project and improve the maintainability of the project. The ultimate goal, is to release a version 1.0.0 of COBOL Check. During the mentorship, the mentee is expected to have daily check-ins with the mentor, and will get access to the European team heavily involved in developing the current version of COBOL Check.

Mentorship Title: COBOL Programming Course – COBOL Check Integration

The goal of this summer mentorship is to create a chapter in the COBOL Programming course that focuses on unit testing/debugging COBOL code. The concept of Test Driven Development incorporating the COBOL Check project into the course. This will ensure that we are able to provide our learners with the end to end experience of learning a programming language and the concept of code & test.

Mentorship Title: Software Discovery Tool back end improvements and deployment automation

The Software Discovery Tool is an online search tool for Linux distributions and other software sources that support the s390x (IBM zSystems) hardware architecture. At the core, it’s written in Flask, micro web framework written in Python. The mentorship this summer has several components, giving a potential students the ability to review outstanding issues and craft a program that leans into their strengths and stretches into areas they may be interested in. The core task we’d like to see completed is the implementation of a MySQL back-end, which is currently in a “proposed” state and needs to be reviewed and tested for robustness. The administration and deployment of the tool in production also needs to be automated further, as some of this is still a manual process for the version in production. Finally, there are also UI improvements needed for the tool to address common pain points. Experience with Python will be needed to complete this mentorship, and the potential mentee should also have interest in learning how to manage a production environment on Linux.

 

Mentorship Title: Zowe Security Workgroup CVE Publication automation

Mentee will help prepare pipelines in the GitHub Actions to automate processing and publication of found CVEs together with managing of the CVEs.

Mentorship Title: App Store UI

Using the existing npm app registry, create an app store UI in the App Framework’s virtual desktop to download and install apps. Via the new enhancement to zwe which adds new ‘zwe components’ commands and with configuration manager, we can define an extension registry and pull extensions. The app store UI will invoke zwe which has a pluggable handler API which then talks to a package manager. The package manager receives and downloads requested extension and dependencies. While the package manager can be of any type, current support and a good starting place is npm. This would be a completely new app, from top to bottom, that will exist in the personalization & system widgets area in the Desktop and is an excellent opportunity for both a talented engineer and UX designer to make a huge imprint on the future of the Zowe desktop. The ideal candidate would have experience in Typescript/Javascript, Angular or React, Node.js, and HTML & CSS but having at least working knowledge in one or two areas is alright.

Mentorship Title: Unix System Services for Zowe Client Java SDK

Mentee will help complete USS Rest Api wrapper calls for the SDK.

Mentorship Title: Creating a ZSS backend provider for Zowe CLI

The Zowe CLI is a program that runs on PCs for users to interact with a z/OS mainframe remotely. It can be used directly, for automation such as CICD, or to enable popular but otherwise z/OS-unaware programs such as editors and IDEs. The CLI accesses a mainframe via network APIs present on that mainframe, such as webserver REST APIs. Often, such APIs will be from non-Zowe dependencies, but in this project you will be working within the Zowe community to enhance the CLI so that it can use Zowe’s own ZSS webserver as a source for z/OS data.

This project will at minimum involve programming to utilize existing HTTP network APIs to fulfill a nodeJS interface for each type of data possible to use in the CLI. As the project progresses, you may also get the opportunity to add new HTTP APIs to the ZSS server, which is a z/OS native C webserver. You may also get to reuse the code written for the CLI to similarly enhance Zowe’s addon to Microsoft’s Visual Studio Code, the Zowe Explorer, to enable VSCode to edit files and datasets on z/OS using an all-Zowe codebase.

Mentorship Title: Zowe Python SDK Enhancements

Finalize team configuration support and make other enhancements to support a v2 release. There is growing interest in the Zowe Python SDK. In this project, the mentee will make various enhancements to this SDK, many of which are listed here – https://github.com/zowe/zowe-client-python-sdk/issues. This work will include enabling the Python SDK to leverage Zowe team config – a major enhancement in Zowe V2 LTS. This work will be significant in moving the Python SDK toward a Long Term Support Release. We envision the Zowe Python SDK to be used in Python automation scripts, testing frameworks, and applications.

The deadline to submit your interest is May 26. Once the submission window is closed, Open Mainframe Project mentors will go through the selection process.