An InnerSource Transformation Story #InnerSourceSummit2025
๐ **Source:** [An InnerSource Transformation Story #InnerSourceSummit2025](https://www.youtube.com/watch?v=anl1zH5IoLk)
> [!note]+ Document Notes
> tags: [innersource, mainframe, ibm-z, transformation]
> author: IBM InnerSource Summit
> source: YouTube
> reference: https://www.youtube.com/watch?v=anl1zH5IoLk
> date created: 2024-12-19 14:30
>
> # ๐ท๏ธ Title: An InnerSource Transformation Story #InnerSourceSummit2025
>
<!-- deep-read:sections start -->
## ๐งฐ Action Inbox
- [H1] Create Z InnerSource team focused on mainframe-specific needs โ establish dedicated team #transformation
- [H2] Implement security-by-design in InnerSource templates โ integrate code scans, vulnerability management #security
- [H3] Document transition guides from legacy to modern tools โ enable self-service onboarding #documentation
## ๐งญ Table of Contents
- [๐ Summary](#-summary)
- [๐ Main Content](#-main-content)
- [๐๏ธ Notes](#๏ธ-notes)
- [๐ References](#-references)
- [๐ฃ๏ธ Paraphrase](#๏ธ-paraphrase)
- [๐ฐ Newsletter](#-newsletter)
- [โ
Action Items](#-action-items)
- [๐งช Hypotheses](#-hypotheses)
- [๐ Methodology](#-methodology)
- [โ Questions](#-questions)
- [๐ฎ Future Research](#-future-research)
- [๐ก Implications](#-implications)
- [๐ง Learning Styles Assessment](#-learning-styles-assessment)
- [๐ Accessibility Assessment](#-accessibility-assessment)
- [๐ DEIB Assessment](#-deib-assessment)
- [โ
Logical Validity](#-logical-validity)
- [๐ก๏ธ DARVO Analysis](#-darvo-analysis)
- [๐ฏ Conclusion](#-conclusion)
### ๐ References
- [IBM InnerSource Portal](https://innersource.com)
- [NIST Secure Software Development Framework](https://csrc.nist.gov/Projects/ssdf)
## ๐ Summary
- IBM Z team transformed legacy mainframe development through specialized InnerSource practices
- Created Z InnerSource team to adapt standard practices for 60-year-old platform with 99.99999% uptime requirements
- Overcame cultural stigma around open source through documentation, security-by-design, and executive support
- Successfully transitioned hundreds of custom tools from data sets to GitHub with proper documentation
- Demonstrated grassroots approach leading to executive buy-in and incentive programs
## ๐ Main Content
IBM's Z mainframe team shares their transformation story of implementing InnerSource practices for a platform that has operated since 1964. The Z stands for "zero downtime" with guaranteed 99.99999% uptime, creating unique requirements for security and reliability that influenced their InnerSource approach.
The team faced significant challenges including hundreds of custom tools accumulated over 60 years, significant silos across 100+ components, and cultural stigma around open source practices due to licensing and security concerns. Their solution involved creating a specialized "Z InnerSource" team to adapt standard practices for their mainframe environment.
Key innovations included comprehensive documentation for transitioning from legacy data sets to GitHub, security-by-design templates incorporating NIST frameworks, and community engagement through Hacktoberfest, showcases, and hackathons. The grassroots effort ultimately gained executive support and led to bounty programs incentivizing contribution to business-critical projects.
## ๐๏ธ Notes
#### โฑ๏ธ [00:00](https://youtu.be/anl1zH5IoLk?t=0) โ [H1] IBM Z Background and Reliability Requirements
- Key idea: Z stands for zero downtime with 99.99999% uptime guarantees in certain configurations
- Evidence: "First GA in 1964 and our latest incarnation is the Z17"
#### โฑ๏ธ [02:45](https://youtu.be/anl1zH5IoLk?t=165) โ [H2] Personal Story: The Code Discovery Problem
- Key idea: Finding reusable code required building networks of people rather than searchable systems
- Evidence: "10,000 lines of code, one data set... building this gigantic network of people"
#### โฑ๏ธ [05:20](https://youtu.be/anl1zH5IoLk?t=320) โ [H2] Creating Z InnerSource Team
- Key idea: Specialized team needed to adapt InnerSource for mainframe-specific requirements
- Evidence: "Z inner source because we wanted to convey to the team that it is really for them"
#### โฑ๏ธ [07:15](https://youtu.be/anl1zH5IoLk?t=435) โ [H2] Scale of Legacy Tool Problem
- Key idea: Thousands of developers over 60 years created hundreds of duplicated custom tools
- Evidence: "hundreds right so I said 1964... thousands of developers who have been working on it for 60 years"
#### โฑ๏ธ [09:30](https://youtu.be/anl1zH5IoLk?t=570) โ [H2] Aaron's Journey: Reputation and Tooling
- Key idea: Individual expertise led to catalog and reduction mandate for tool sprawl
- Evidence: "built up a reputation... the question of we have too many tools we need to catalog them"
#### โฑ๏ธ [11:45](https://youtu.be/anl1zH5IoLk?t=705) โ [H2] Proprietary Language Challenges
- Key idea: Mainframe tools written in assembler and PLX don't fit traditional paradigms
- Evidence: "tools written in assembler and a proprietary language called PLX... they don't play well"
#### โฑ๏ธ [13:20](https://youtu.be/anl1zH5IoLk?t=800) โ [H2] Basic GitHub Structure for Mainframe Teams
- Key idea: Standard GitHub files were foreign concept to mainframe developers using data sets
- Evidence: "In a traditional landscape... we don't need this. We work in data sets"
#### โฑ๏ธ [15:40](https://youtu.be/anl1zH5IoLk?t=940) โ [H2] Documentation as Primary Contribution
- Key idea: Transition guides from legacy to modern tools became crucial for adoption
- Evidence: "document how we transition how you go from one to the other"
#### โฑ๏ธ [18:25](https://youtu.be/anl1zH5IoLk?t=1105) โ [H2] Success Stories: Inner to Open Source
- Key idea: InnerSource pipeline successfully graduated projects like Pyrackf and PIPCS to open source
- Evidence: "couple of projects that have gone through our inner source pipeline that have now become open source"
#### โฑ๏ธ [20:30](https://youtu.be/anl1zH5IoLk?t=1230) โ [H2] Security by Design Framework
- Key idea: NIST secure software development framework principles apply to InnerSource projects
- Evidence: "do all of these things apply to inner source? We know that they apply to products certainly and I would say that they absolutely do"
#### โฑ๏ธ [23:15](https://youtu.be/anl1zH5IoLk?t=1395) โ [H2] Car Analogy: InnerSource vs Open Source Trust
- Key idea: InnerSource provides more confidence than open source because you can contact the authors
- Evidence: "buying a car from somebody you know... I can call them and ask them"
#### โฑ๏ธ [25:45](https://youtu.be/anl1zH5IoLk?t=1545) โ [H2] Community Engagement Patterns
- Key idea: Hacktoberfest, showcases, and hackathons drove adoption through hands-on experience
- Evidence: "I'm talking for 90 seconds and I insource a project in front of people and they're like, 'Wait a minute.' That's all it took"
#### โฑ๏ธ [28:10](https://youtu.be/anl1zH5IoLk?t=1690) โ [H2] Executive Buy-in and Incentives
- Key idea: Grassroots success led to executive support and company-wide point system for contributions
- Evidence: "they actually contributed points... creating like a bounty type program to incentivize folks"
## ๐ References
- [IBM Z Systems](https://www.ibm.com/z)
- [Open Mainframe Project](https://www.openmainframeproject.org/)
- [Ambitus Project](https://ambitus.io/)
## ๐ฃ๏ธ Paraphrase
- IBM's mainframe team successfully adapted InnerSource practices for a 60-year-old platform by creating specialized processes that respect their zero-downtime requirements
- The transformation addressed decades of tool duplication and silos by implementing modern collaboration patterns while maintaining enterprise-grade security and reliability standards
- Community-driven adoption through documentation, events, and executive incentives demonstrated that even legacy platforms can embrace modern development practices
## ๐ฐ Newsletter
**MainFrame InnerSource: When Legacy Meets Modern Collaboration**
IBM's Z mainframe team just shared an incredible transformation story that WordPress developers can learn from. Despite working on a platform from 1964 with 99.99999% uptime requirements, they successfully implemented InnerSource practices that reduced tool duplication and improved collaboration.
Key takeaway: Even the most legacy systems can adopt modern practices with the right adaptation strategy. Their approach of creating specialized teams, comprehensive documentation, and gradual cultural change mirrors challenges many WordPress teams face when modernizing workflows.
The team's emphasis on security-by-design and community engagement through events like Hacktoberfest offers practical patterns for WordPress plugin and theme developers looking to improve code sharing and collaboration.
Resources: [WordPress Developer Handbook](https://developer.wordpress.org/), [GitHub for WordPress](https://github.com/WordPress/wordpress-develop), [WordPress Coding Standards](https://developer.wordpress.org/coding-standards/)
## โ
Action Items
#### DevRel
- Developer advocacy: Present InnerSource transformation stories at WordCamps and meetups
- Education: Create workshops on migrating legacy WordPress workflows to modern collaboration
- Developer experience: Build documentation templates for transitioning custom tools to GitHub
- Community management: Organize WordPress-focused Hacktoberfest participation
#### OSPO
- Policy & Governance: Develop contribution policies adapted for enterprise WordPress environments
- License Compliance: Create scanning processes for WordPress plugin and theme contributions
- Security Management: Implement security-by-design templates for WordPress InnerSource projects
- Community Engagement: Fund WordPress InnerSource initiatives and documentation efforts
#### WordPress
- Core: Implement InnerSource patterns for component development and tool sharing
- Documentation: Create transition guides for legacy WordPress development workflows
- Community: Support InnerSource showcases and hackathons at WordCamps
- Meta: Build internal tool catalogs and reduce duplication across WordPress.org systems
## ๐งช Hypotheses
- Specialized InnerSource teams increase adoption rates in legacy environments compared to generic approaches
- Documentation-first strategies overcome cultural resistance to open collaboration more effectively than technology-first approaches
- Grassroots community engagement creates more sustainable executive buy-in than top-down mandates
- Security-by-design templates reduce friction for enterprise adoption of InnerSource practices
### ๐ Methodology
- Study design: Compare adoption rates between specialized vs generic InnerSource implementations across enterprise environments
- Data sources: Track documentation usage patterns and community engagement metrics from InnerSource initiatives
- Experiments: A/B test grassroots vs executive-mandated InnerSource rollouts to measure sustainable adoption
### โ Questions
- How do security requirements in different industries affect InnerSource template design and adoption patterns?
- What specific documentation patterns most effectively bridge legacy tooling to modern collaboration workflows?
- How can incentive structures be designed to sustain long-term InnerSource contribution without creating perverse incentives?
### ๐ฎ Future Research
- Comparative analysis of InnerSource adaptation strategies across different legacy technology stacks and industries
- Long-term sustainability study of incentive programs for InnerSource contribution in enterprise environments
- Cross-industry patterns of successful InnerSource community engagement and executive support models
### ๐ก Implications
- Practice: Legacy systems require specialized InnerSource approaches that respect existing constraints while enabling modern collaboration
- Policy: Security-by-design should be integrated into InnerSource templates from the beginning rather than retrofitted
- Security: Trust models differ between InnerSource and open source, affecting appropriate security measures and review processes
- Education: Documentation-driven transformation strategies may be more effective than technology-driven approaches for cultural change
- Funding: Executive incentive programs can accelerate InnerSource adoption but should complement rather than replace intrinsic motivation
### ๐ง Learning Styles Assessment
Reading level estimate: 12th grade (technical presentation with industry jargon)
#### ๐ Visual learners
- Present: Slides showing system architecture, timelines, and transformation frameworks
- Improve: Add workflow diagrams showing before/after tool discovery processes, security framework visualizations
#### ๐ Aural learners
- Present: Live presentation with speaker narration and storytelling approach
- Improve: Provide audio summary of key transformation steps and lessons learned
#### ๐ฃ๏ธ Verbal learners
- Present: Personal anecdotes, analogies (car buying), clear definitions of technical terms
- Improve: More analogies connecting mainframe concepts to modern development, glossary of Z-specific terms
#### ๐งฉ Kinesthetic learners
- Present: Live coding demonstrations, hands-on hackathon examples
- Improve: Step-by-step GitHub setup guides, template creation workshops
#### ๐ง Logical learners
- Present: Clear timeline from problem to solution, systematic approach to transformation
- Improve: Detailed metrics on adoption rates, ROI calculations for InnerSource investment
#### ๐งโ๐คโ๐ง Social learners
- Present: Community engagement strategies, collaborative events description
- Improve: Discussion guides for implementing similar transformations, peer networking opportunities
#### ๐งโโ๏ธ Solitary learners
- Present: Individual contributor stories, self-paced adoption strategies
- Improve: Self-assessment tools for InnerSource readiness, individual learning paths
#### ๐ฟ Naturalistic learners
- Present: Ecosystem thinking about tool environments, organic growth patterns
- Improve: Environmental impact considerations of tool duplication, sustainable development practices
### ๐ Accessibility Assessment
#### Screen reader semantics
- Present: Clear presentation structure with headings and logical flow
- Improve: Add slide descriptions, alt text for diagrams and code samples
#### Keyboard navigation
- Present: Standard presentation format accessible via keyboard
- Improve: Ensure all interactive elements in slides are keyboard accessible
#### Contrast and readability
- Present: Professional presentation slides with adequate contrast
- Improve: Verify all text meets 4.5:1 contrast ratio, especially code samples
#### Text resizing and reflow
- Present: Presentation scales appropriately for different screen sizes
- Improve: Test readability at 200% zoom, ensure no content truncation
#### Media and captions
- Present: Video content available
- Improve: Add closed captions, provide transcript download option
#### Forms and interactions
- Present: Basic presentation interaction
- Improve: Ensure any interactive slides meet accessibility standards
#### Standards reference
- Follow WCAG 2.2 AA guidelines for presentation materials and supporting documentation
### ๐ DEIB Assessment
#### Cultural breadth
- Present: Enterprise technology perspective from established company
- Improve: Include examples from diverse technology stacks, global implementation patterns
#### Inclusive language
- Present: Professional technical language appropriate for audience
- Improve: Define mainframe-specific jargon, avoid assumptions about technical background
#### Neurodiversity support
- Present: Clear structure with logical progression of ideas
- Improve: Provide content outline upfront, use consistent formatting patterns
#### Representation
- Present: Multiple team members presenting different perspectives and roles
- Improve: Highlight diverse contributor backgrounds, inclusive participation in events
#### Psychological safety
- Present: Acknowledges challenges and failures alongside successes
- Improve: More explicit discussion of overcoming cultural resistance, support for risk-taking
### โ
Logical Validity
#### Strong reasoning
- Deductive strength: Clear progression from problem identification to solution implementation with measurable outcomes
- Inductive strength: Multiple specific examples (tool discovery, security frameworks, community events) supporting general principles
- Causal reasoning: Demonstrates clear cause-and-effect relationships between InnerSource practices and improved collaboration
- Analogical strength: Effective car purchase analogy illustrating trust differences between InnerSource and open source
#### Fallacies
- Appeal to tradition: Slight tendency to justify mainframe approaches without questioning whether all legacy practices should be preserved
- Hasty generalization: Some conclusions about executive buy-in based on limited sample size from single organization
#### Tone of voice
- Overall tone: Professional and encouraging with appropriate technical depth, balanced between confidence and humility about lessons learned
### ๐ก๏ธ DARVO Analysis
- Deny: No problematic denial patterns observed
- Attack: No attacks on external parties or critics
- Reverse victim/offender: No victim/offender role reversals present
- Emotional
---
## Full Transcript
[00:05] Thank you very much everyone. While<br>[00:06] Aaron is getting set up, I want to share<br>[00:08] a story with you. Give you a little<br>[00:10] background where we're coming from. So<br>[00:12] as Russ was saying, he was asking what<br>[00:13] does the Z stand for? And it stands for<br>[00:15] zero downtime. So Aaron, myself and<br>[00:17] Allison actually work at IBM under IBM<br>[00:20] Z. So when we say zero downtime, we<br>[00:23] actually guarantee 99.99999%<br>[00:28] uptime in certain configurations, right?<br>[00:30] So that equates to a ridiculous amount<br>[00:32] of uptime and we really care about<br>[00:35] reliability and we really care about<br>[00:37] security. So there's a lot of focus we<br>[00:39] do on that area and that's really what<br>[00:40] we wanted to kind of share with you<br>[00:41] today is our transformation story, how<br>[00:44] we had to tweak some of the inner source<br>[00:45] concepts so that they fit into our Z<br>[00:47] paradigm.<br>[00:49] So today we'll talk about you know<br>[00:51] mainframe and Z a little bit more. We'll<br>[00:53] go through the inner source and reducing<br>[00:54] duplication. Everyone knows the value of<br>[00:56] inner source that we have uh but it it<br>[00:59] impacted us a little bit more uh with<br>[01:01] documentation efforts how wonderful<br>[01:02] that's been success stories and then<br>[01:04] some tips and tricks later on. So like I<br>[01:07] said Z is a monolithic mainframe right<br>[01:11] the classic mainframe that you think<br>[01:13] about. It was first GA in 1964 and our<br>[01:16] latest incarnation is the Z17. As you<br>[01:19] can see here, we continuously add<br>[01:21] different features to it. Right? So you<br>[01:23] can see we've added different<br>[01:24] accelerators in terms of AI. We have<br>[01:26] quantum safe security. We integrate with<br>[01:28] hybrid cloud solutions and we talk about<br>[01:31] having enterprisegrade reliability. So,<br>[01:33] we're always thinking about how we can<br>[01:35] incorporate security and quality into<br>[01:37] everything we do, including the tools<br>[01:40] that we use to generate code, to work on<br>[01:43] code, to check things, all of the<br>[01:45] automation that we have in our build<br>[01:46] pipelines. We really care about the<br>[01:48] reliability and scalability.<br>[01:51] And specifically, the three of us are in<br>[01:53] IBM Zos. So, this is the premier<br>[01:55] operating system that runs on the<br>[01:58] mainframe. So, it offers a lot of<br>[01:59] different pieces. So, one thing I wanted<br>[02:02] to share was a quick story about my<br>[02:03] first day as an intern working on Z. So,<br>[02:06] I arrive and my mentor is like,"Great,<br>[02:09] we're going to go over to the lab<br>[02:10] floor," which is ridiculously<br>[02:12] impressive. So, we go over to one of the<br>[02:14] main frames that he's running<br>[02:15] transactions on. Tons of lights are<br>[02:17] going off. He shows me the system. He<br>[02:19] says, "Look, here's all the different<br>[02:20] things that are scrolling through, all<br>[02:21] the transactions that are happening.<br>[02:23] We're running a test. Literally<br>[02:25] thousands of things. It's scrolling so<br>[02:26] fast you can't even tell what anything<br>[02:28] says." and he just pulls a cord out,<br>[02:31] right? Things were green, now they are<br>[02:34] red. 10 seconds later, they're green<br>[02:36] again. Right? And he's like, "This is<br>[02:39] what we do, right? We have redundancy in<br>[02:41] everything we have. We have a ridiculous<br>[02:43] amount of testing and processes we have<br>[02:45] in place to make sure that all of our<br>[02:47] systems stay up." So, I had worked on<br>[02:50] the the system verification test team<br>[02:52] with Aaron early on, and that's what we<br>[02:54] did. So as I went through my internship,<br>[02:57] he actually said,"Hey, you're going to<br>[02:59] write a workload now in a proprietary<br>[03:01] language." All right, here's what I<br>[03:03] wanted to do. So I sat down, I made a<br>[03:05] design, right? Here's the workflow.<br>[03:07] Here's what I want to do. I say, "Great.<br>[03:09] Where's the book that tells me how to do<br>[03:11] this proprietary language?" So I get the<br>[03:13] PDF and I look at it and it's, you know,<br>[03:14] basic commands. Here's like how to do<br>[03:16] each piece. I'm like, "Does anyone ever<br>[03:19] have like a a queue they've done before?<br>[03:21] or does anyone have a library it could<br>[03:22] have to have like a Q object that I can<br>[03:25] pull from and put things into? And he's<br>[03:27] like, okay, go talk to this guy over<br>[03:29] here. I talked to that guy and he's<br>[03:30] like, here's a snippet of code, right?<br>[03:31] It's in this data set. I took a look at<br>[03:34] it. Literally 10,000 lines of code, one<br>[03:36] data set. And then I went and said,<br>[03:38] okay, I also wanted to do this. Who has<br>[03:40] code for that? So I wound up building<br>[03:42] this gigantic network of people trying<br>[03:44] to figure out what code we had today,<br>[03:47] right? I mean, this was a million years<br>[03:48] ago. trying to figure out what code we<br>[03:50] had that I could reuse. And I was<br>[03:52] thinking about it like when we were<br>[03:54] gonna give this presentation. That's the<br>[03:56] essence of inner source, right? Is I can<br>[03:57] quickly find things now. We're<br>[03:59] insourcing as many tools as we possibly<br>[04:02] can. So we can reuse this information.<br>[04:03] We can reuse libraries and things like<br>[04:05] that. So we all know the inner source<br>[04:07] benefits. We have a little bit of a a<br>[04:10] different approach usually in Z as you<br>[04:12] can imagine with the security and<br>[04:14] reliability and for a long time it was<br>[04:16] uh coached to us you know open source<br>[04:19] you got to be careful with that right<br>[04:21] because of the different licensing<br>[04:22] pieces and things like that early on in<br>[04:24] the open source world we were concerned<br>[04:26] about it you know impacting the<br>[04:28] operating system so there's a really a<br>[04:31] stigma that we kind of had to overcome<br>[04:33] so we wound up creating this uh specific<br>[04:35] team focused on the Z team's use of<br>[04:38] inner source called Z inner source<br>[04:40] because we wanted to convey to the team<br>[04:42] that it is really for them and it can<br>[04:44] help them specifically no questions<br>[04:46] about that. So we really wanted to kind<br>[04:49] of adopt this this mechanism early and<br>[04:51] make sure that it fit into the Z<br>[04:53] guidelines into the processes and<br>[04:54] procedures that we have around that.<br>[04:58] So with that what couple of the big<br>[05:00] things that we ran into snafu wise is we<br>[05:03] have a ton of custom tools um hundreds<br>[05:06] right so I said 1964 I'm not kidding you<br>[05:09] 1964 so we have thousands of developers<br>[05:12] who have been working on it for 60 years<br>[05:13] we've acred a lot of essential tools<br>[05:15] over that time we have a lot of<br>[05:18] different components that comprise zos<br>[05:20] so there's over a hundred different<br>[05:21] components so a lot of tools were<br>[05:23] duplicated across different components<br>[05:24] that weren't even in the product at one<br>[05:26] point and then slowly moved in those<br>[05:29] tools became siloed like I needed it to<br>[05:31] do this one specific thing for a<br>[05:32] component not this other piece so here's<br>[05:34] what I coded it up for so we really had<br>[05:37] these significant silos worked on them<br>[05:40] and because we have such a vast amount<br>[05:42] of tooling we're always just trying to<br>[05:45] you know keep basic maintenance improve<br>[05:47] where we have to and add new tools if we<br>[05:50] really have to so we inner source as you<br>[05:52] can see helps a lot of these different<br>[05:54] pieces here and I I would say that we<br>[05:56] actually have two full-time engineers<br>[05:58] right now that are working in the tools<br>[06:00] space with a few of us and specifically<br>[06:03] half of the stuff I've asked them to do<br>[06:04] is say I want to make sure everything is<br>[06:07] inner sourced early on. So once you get<br>[06:10] you know here's a tool I need you to<br>[06:11] write a read me for it write some<br>[06:13] documentation maybe we should figure out<br>[06:15] how to build it and then we put it in<br>[06:17] inner source right so that everyone else<br>[06:19] can then capitalize on that so with that<br>[06:22] Aeron's going to take us through some of<br>[06:23] the cool things we've done. Yeah. And<br>[06:25] I'm actually gonna kind of start in the<br>[06:27] same way that Mike did and<br>[06:30] uh kind of mention some of my beginnings<br>[06:32] as well because it kind of helps with<br>[06:34] some of the story. So I came into SVT<br>[06:37] and Mike was a mentor of mine. He<br>[06:39] interviewed me and kind of in the same<br>[06:41] way I started with tooling and started<br>[06:43] to play in that landscape. And as Mike<br>[06:46] already mentioned, you know, we have a<br>[06:47] lot of areas where it's not really<br>[06:49] documented well. it wasn't really you<br>[06:52] know shared amongst people too much and<br>[06:55] it brought us to the point where I<br>[06:57] started working on tools in the same way<br>[06:58] I started working on automation and<br>[07:00] built up a reputation in this area and<br>[07:02] eventually the question of we have too<br>[07:05] many tools we need to a catalog them and<br>[07:08] b reduce them uh became a goal and I<br>[07:11] didn't know where to go and luckily<br>[07:12] around the same time uh Jenna Wendy and<br>[07:16] Michaela were actually doing some work<br>[07:18] on the inner source portal uh I don't<br>[07:20] know if You guys are going to talk about<br>[07:21] the portal in depth later at some point<br>[07:23] hopefully. Uh but I'll give a brief<br>[07:25] overview where they built this portal.<br>[07:27] Jenna kind of mentioned it earlier as<br>[07:29] the the Google of our internal tools,<br>[07:31] right? Where we can go and we can look<br>[07:34] for a way to see what tools are out<br>[07:36] there, what tools exist. So this is all<br>[07:39] fine and dandy. Um but we ran into a<br>[07:42] quick problem. As Mike had mentioned, we<br>[07:45] have a lot of custom tooling. We have a<br>[07:47] lot of proprietary tooling. We have a<br>[07:48] lot of tools written in assembler and a<br>[07:50] proprietary language called PLX. Um they<br>[07:54] don't play well with traditional<br>[07:55] paradigms. So that Ziners source piece<br>[07:58] became really important. Right? So we<br>[08:00] had a problem of needing to get those<br>[08:02] tools a into GitHub and b to get them<br>[08:05] you know playing in this basic structure<br>[08:07] that was set out for us. Right? So in<br>[08:09] this basic structure for anyone that<br>[08:11] plays in GitHub, there's not too much<br>[08:13] craziness going on here. We've got a git<br>[08:16] and GitHub file. You get those for free<br>[08:17] whenever you start and get. And then<br>[08:20] some basics, some open source basics,<br>[08:21] right? We've got a coners file so that<br>[08:23] you know who this repo belongs to, who<br>[08:26] do I need to go bug when I have<br>[08:27] questions, who am I going to open my<br>[08:29] pull request to, some issue templates, a<br>[08:31] pull request template, nothing special<br>[08:33] there, and then just some guidance on<br>[08:35] how your team works, right? In a<br>[08:38] traditional landscape of, you know,<br>[08:40] mainframe developers, we don't need<br>[08:42] this. We work in data sets. Why would we<br>[08:43] have this? And then you know kind of as<br>[08:46] years progressed we started to modernize<br>[08:47] our stuff moved into git and now we're<br>[08:50] trying to get these people involved and<br>[08:52] intertwined in our you know ecosystem of<br>[08:54] inner source as a whole right what<br>[08:56] Michaela Wendy and Jenna have done is is<br>[08:59] build a a a top tier layer that we kind<br>[09:03] of nestle under right so that's where<br>[09:05] that Z interource team kind of comes<br>[09:06] under we try and partner with the larger<br>[09:09] team to say hey you know we want to<br>[09:11] participate but we also want to<br>[09:12] contribute back we may be specialized<br>[09:14] is, but there are also going to be areas<br>[09:15] where we're not, right? We have a big<br>[09:17] GitHub actions beta going on right now<br>[09:19] and our Z interarchers team is driving<br>[09:21] that going from archaic to front of the<br>[09:23] line, right? So, depending on who you<br>[09:26] talk to, right, mainframe is kind of<br>[09:28] coming to the forefront and playing in a<br>[09:29] lot of those spaces. You've probably<br>[09:30] seen a lot go on in the the media with,<br>[09:33] you know, IBM kind of forging ahead in<br>[09:35] the traditional stack coming back,<br>[09:37] right? So, with that comes one of our<br>[09:40] main contributions, the documentation,<br>[09:42] right? Uh it was mentioned before that<br>[09:45] having good documenta uh having good<br>[09:47] documentation and allowing people to<br>[09:49] self-educate is going to be really<br>[09:51] really uh positive towards your efforts<br>[09:54] right and one of the first things we did<br>[09:56] was we realized that you know trying to<br>[09:58] bring these people into the age of<br>[09:59] GitHub and all of these modern tools<br>[10:01] CI/CD AI agentic we're going to need to<br>[10:04] document how we transition how you go<br>[10:06] from one to the other and that Z<br>[10:08] interers team has done additional things<br>[10:09] like provide additional tooling you know<br>[10:11] we write some code ourselves to help us<br>[10:13] progress from one to the other and you<br>[10:15] know make sure that we are an active<br>[10:17] participant in this right so in that<br>[10:19] documentation we bring together a lot of<br>[10:22] things right a base set of standards we<br>[10:24] push good documentation not only on<br>[10:26] ourselves but try and say in your<br>[10:27] projects we require it as well or we<br>[10:29] would like to have it um fostering that<br>[10:32] inner source community and providing<br>[10:34] back uh and also providing an adaptable<br>[10:36] system right so not only guides on<br>[10:38] getting started with inner source but<br>[10:40] language and language stack guidance<br>[10:42] security guidance as Mike will talk<br>[10:43] about in a little bit and a little bit<br>[10:45] about open source guidance because we've<br>[10:47] started a journey of linking inner<br>[10:49] source and open source together as well<br>[10:50] as with our product uh cycle as well.<br>[10:54] I'll also kind of leave a tidbit here of<br>[10:56] while we talk about that inner source<br>[10:58] community and reducing duplication some<br>[11:00] competition is good in that realm right<br>[11:03] we want to mimic the open source realm<br>[11:05] and in the open source world we don't<br>[11:06] always have teams working in a copacetic<br>[11:09] nature so you know some of that<br>[11:10] competition and driving innovation<br>[11:12] through you know parallel projects is<br>[11:14] also allowed as well so in that base set<br>[11:17] of standards I'm going to kind of<br>[11:18] handwave over this slide um we're asking<br>[11:22] for a lot of uh things out of the people<br>[11:24] that participate in inner source<br>[11:25] especially in the Z realm you know we<br>[11:27] want to maintain that code quality all<br>[11:28] the things we've probably heard today<br>[11:30] you know more consistency when you move<br>[11:31] from project to projects and making it<br>[11:33] easier to jump from one effort to the<br>[11:35] next allowing for faster development<br>[11:37] cycles with continuous uh integration<br>[11:39] and development you know helping with<br>[11:41] compliance Mike will talk about this a<br>[11:43] little bit when he goes through uh some<br>[11:45] of the security slides but just because<br>[11:47] we are internal in nature does not mean<br>[11:49] we will never be external right you saw<br>[11:51] the NLP talk to start us off today. If<br>[11:54] you maintain that compliance as you're<br>[11:56] going through and building up that<br>[11:57] project, you won't have to deal with it<br>[11:59] on the way out, right? Uh improving<br>[12:01] collaboration and communication. I'm<br>[12:03] going to talk about some showcases that<br>[12:04] we've run. Uh Hacktoberfest has already<br>[12:07] been mentioned today, but just driving<br>[12:09] ways to get the community involved and<br>[12:11] to have people participate to put on<br>[12:13] demos to show people, hey, you know,<br>[12:15] it's this easy to insource something.<br>[12:17] I've given so many talks in inner source<br>[12:18] at IBM where similar to what I'm doing<br>[12:20] right now. I'm not going to do it right<br>[12:22] now because I'm not prepared for it. But<br>[12:24] uh I go through and I'm talking for 90<br>[12:27] seconds and I insource a project in<br>[12:28] front of people and they're like, "Wait<br>[12:29] a minute." That's all it took. Right?<br>[12:32] And it's about showing people the ease<br>[12:34] that you can have to get in and get your<br>[12:35] foot in the door.<br>[12:38] Um so with that just a kind of you know<br>[12:44] appreciation for some of the projects<br>[12:45] that have come through our pipeline.<br>[12:47] We've had a couple of projects that have<br>[12:49] gone through our inner source pipeline<br>[12:50] that have now become open source uh in<br>[12:52] the Zpace. We've got Pyrackf which is a<br>[12:55] security maintenance tool as well as<br>[12:56] PIPCS that helps with uh dump management<br>[12:59] and things of that nature. And then last<br>[13:02] but not least, before I kind of hand<br>[13:03] this back to Mike, I want to talk about<br>[13:05] Ambitus, which is something that has<br>[13:07] existed long before our inners source<br>[13:09] process, but uh we've kind of connected<br>[13:12] with in that inner source to open source<br>[13:13] journey to enable, you know, uh a full<br>[13:16] sweep through, right? Saying just<br>[13:18] because your project is in source today,<br>[13:20] you know, doesn't mean it won't belong<br>[13:22] to something bigger later, right? And<br>[13:24] ambitus is a project that Joe Bosshan in<br>[13:26] the back of the room actually runs uh<br>[13:28] that belongs to the open mainframe<br>[13:30] project under the Linux Foundation and<br>[13:33] really has helped drive the benefits of<br>[13:37] inner source to our leadership in Z<br>[13:40] right showing that just because it<br>[13:42] starts as innource and just because we<br>[13:44] are you know a smaller piece in a a very<br>[13:46] legendary industry that's been around<br>[13:48] for 60 years you know the inner source<br>[13:50] projects can still hold some weight and<br>[13:52] and kind of punch above their class and<br>[13:54] I'll give this back to Mike.<br>[13:57] >> So, I'm going to talk about security now<br>[13:59] because that's my role, but specifically<br>[14:02] sharing an analogy about open source.<br>[14:04] Uh, going back to cars. So, one of my<br>[14:06] first cars was a car I bought off eBay,<br>[14:09] a 1966 Mustang. So, I saw five pictures<br>[14:12] of it and it basically said doesn't run,<br>[14:14] doesn't stop, doesn't drive, and I<br>[14:17] bought it. I had no idea, right, what<br>[14:21] condition it was in, what the person did<br>[14:23] before me, how they took care of it, how<br>[14:25] they drove it, all those fun things. So<br>[14:28] that's kind of what happens with open<br>[14:30] source, right? I I don't know besides<br>[14:32] the specific guidelines that are<br>[14:34] outlined today, what happened in the<br>[14:35] past. So you kind of have to vet things<br>[14:37] a little bit more appropriately. When<br>[14:39] we're talking about inner source, I feel<br>[14:40] like it's more like buying a car from<br>[14:42] somebody you know, right? I don't know<br>[14:44] when they last changed the oil, but I<br>[14:46] can call them and ask them, right? So, I<br>[14:48] have a little bit more confidence in the<br>[14:50] security and reliability pieces of it.<br>[14:52] And there's definitely, you know, the<br>[14:54] zero trust side of me definitely<br>[14:55] questions everything, but really there's<br>[14:57] there's some confidence there that you<br>[14:58] could have in things. So, I wanted to<br>[15:00] touch upon some of the interesting<br>[15:02] security by design items. So, uh, at the<br>[15:05] the trust security page, we have this<br>[15:08] wheel kind of outlining some of the the<br>[15:10] things we're summarizing that we do at<br>[15:12] IBM compared to the the secure software<br>[15:15] development framework from NIST. So,<br>[15:19] effectively what we're talking about is<br>[15:21] do all of these things apply to inner<br>[15:23] source? We know that they apply to<br>[15:25] products certainly and I would say that<br>[15:28] they absolutely do. So I'm a huge<br>[15:30] advocate of part of our templates, part<br>[15:32] of the different pipelines, we should<br>[15:34] have code scans incorporated so that we<br>[15:37] can make sure that we're running static<br>[15:39] code analyzers, we're running secret<br>[15:41] scans, uh dynamic scans. So anything<br>[15:44] that we can, you know, effectively run a<br>[15:46] tool, execute on the pipeline, get<br>[15:48] feedback on the code we've written now,<br>[15:50] it increases our confidence on the<br>[15:52] different code quality that's coming in,<br>[15:53] especially when it's been, you know,<br>[15:55] potentially developed by AI.<br>[15:58] There's other areas that I also think<br>[16:00] apply. Privacy assessment is a critical<br>[16:02] one, right? We don't want to store<br>[16:03] different credentials or other<br>[16:05] information about people that we<br>[16:07] shouldn't be in source. Same thing with<br>[16:09] vulnerability management. Having a a<br>[16:11] plan for how you're going to manage<br>[16:13] vulnerabilities and communicate that<br>[16:15] people need to pick up new versions of<br>[16:17] things. Using things like dependabot to<br>[16:19] monitor for dependencies that need to be<br>[16:21] updated, things like that are helpful.<br>[16:23] And some of the other things I still<br>[16:25] think apply. We're not going to pay for<br>[16:26] a pull penetration test, right, for an<br>[16:29] inner source project, but we certainly<br>[16:31] should have specific test cases around<br>[16:33] security, right? Maybe even have a<br>[16:36] security engineer review some of the<br>[16:38] tests or design some of the tests, not<br>[16:41] necessarily go through a secure release<br>[16:42] process, but I do a lot of code reviews<br>[16:44] on inner source projects just to give<br>[16:46] them feedback, right? And it could be as<br>[16:48] simple as you're hard- coding an IP<br>[16:50] here. We should extract that and pull it<br>[16:52] out. or this thing hasn't been announced<br>[16:54] yet so let's not broadcast it to even<br>[16:56] the folks inside the company. Um, so<br>[16:59] there's really a lot of different pieces<br>[17:00] that kind of apply to different varying<br>[17:03] degrees in the Z security space, right?<br>[17:06] We certainly have a lot more rigor when<br>[17:08] it comes to these things, but in a<br>[17:10] general inner source project, it should<br>[17:12] should be considered, right? Even with a<br>[17:14] threat model, you don't have to have<br>[17:15] reviews and approvals, but certainly you<br>[17:17] want to think about how can an actor use<br>[17:20] this? How could it potentially be used<br>[17:22] maliciously? And think about those risks<br>[17:24] and maybe you can address them with a a<br>[17:26] small feature.<br>[17:30] I will add to that last piece,<br>[17:31] especially as you talk about the review<br>[17:33] process. There have been so many times<br>[17:35] where I've interfaced with a newer hire<br>[17:37] or even, you know, someone more tenured<br>[17:39] than me that's just less familiar with<br>[17:40] the language or something like that. And<br>[17:43] you have to tell them, hey, you may not<br>[17:45] be doing this in the most efficient way.<br>[17:47] You know, this will cause technical debt<br>[17:49] for you in the future. If this becomes<br>[17:51] something more, this is going to be a<br>[17:52] pain in the butt to take out, right? So,<br>[17:55] you get to help in more ways than one<br>[17:56] with some of those reviews as well. Um,<br>[17:59] but to kind of wrap up here before we<br>[18:00] get to questions, I do want to talk<br>[18:02] about some of the successful patterns<br>[18:04] that we've seen used in addition to all<br>[18:06] of the things that we've kind of talked<br>[18:07] about today. Uh, laying out<br>[18:09] documentation, you know, uh, having<br>[18:11] these reviews with people, allowing<br>[18:13] ourselves to have a team that enables<br>[18:15] other people. We've also had some, uh,<br>[18:17] great support from above us. Uh, first<br>[18:20] things first, October Fest, I've<br>[18:21] mentioned it a couple of times. We just<br>[18:23] got through the month of October and it<br>[18:25] was great. We basically allowed people<br>[18:27] to come in and say, "Hey, all of these<br>[18:29] projects are on the table. They're owned<br>[18:31] by us. They're owned by others. You<br>[18:32] know, some participation by the<br>[18:34] community, some participation by the the<br>[18:35] major team. And just come in, you know,<br>[18:38] learn how to go through the process. You<br>[18:40] can make zero code contributions as<br>[18:42] well. You know, we accept designers, we<br>[18:44] accept anybody. if you want to write<br>[18:46] documentation, if you want to help us<br>[18:47] with the design, if you want to help<br>[18:48] with tests, you know, come one, come<br>[18:50] all. And through the month of October,<br>[18:52] we had tons of people come in and work<br>[18:54] on projects, ask a bunch of questions.<br>[18:56] So, that was great. Uh, something we<br>[18:58] also did in the fourth quarter that I<br>[19:00] really liked and I put on personally was<br>[19:02] a showcase where we picked three<br>[19:04] projects. We gave them 20 minutes each<br>[19:06] or 15 20 minutes each and they just went<br>[19:08] through and they talked about inner<br>[19:10] source however they felt, right? They<br>[19:11] had been participating in inource for<br>[19:13] months. uh they had interacted with<br>[19:15] inners source in one way or another and<br>[19:16] we kind of gave them the stage to say<br>[19:18] whatever they wanted positive or<br>[19:19] negative right because we need the<br>[19:21] negative feedback as well. We need to<br>[19:23] take that up the chain. We need to uh<br>[19:25] adhere those to the solutions that we're<br>[19:27] going to provide as well to the<br>[19:28] documentation that we have to the<br>[19:29] processes that we have. And it went<br>[19:31] great. People really liked it. They were<br>[19:34] surprised about the projects that were<br>[19:36] involved. Um for the first one that we<br>[19:39] had, we had a lot of senior developers<br>[19:41] that have been involved in the process<br>[19:43] long before inner source but kind of<br>[19:45] joined on. So it was good to have their<br>[19:46] support. And last but not least, the<br>[19:49] basic one, the one everybody knows are<br>[19:51] hackathons, right? Uh coming up with<br>[19:54] interesting ways to get people involved<br>[19:56] and just trying to say, hey, you know,<br>[19:58] we're going to bake in inner source at<br>[19:59] the start. We're going to throw an AI<br>[20:02] hackathon, but everyone has to start<br>[20:04] with an innource pattern. all of these<br>[20:06] projects will be insourced, right? You<br>[20:08] get people involved without even getting<br>[20:10] them involved, right? They get a basis<br>[20:12] to say, "Hey, you know, I need these<br>[20:14] files. I need my, you know, contributing<br>[20:16] file. I need my uh my templates. I need<br>[20:18] my, you know, how to get started so that<br>[20:21] my project looks the part as well,<br>[20:24] right? It can be in that portal that we<br>[20:26] showed before that I'm hoping someone is<br>[20:27] presenting on. Um, but you know, it<br>[20:31] allows people to see how easy it is to<br>[20:33] get involved by the paradigms that have<br>[20:35] been set by us and above us. And uh, I<br>[20:38] think that's all we got. So,<br>[20:40] >> so while you're thinking of questions,<br>[20:42] one thing I wanted to share is, you<br>[20:44] know, we worked with our executive team<br>[20:45] to kind of share the inner source<br>[20:46] projects that have gone open source,<br>[20:48] some of the inner source projects that<br>[20:49] have gone into products and some of the<br>[20:51] inner source projects that actually<br>[20:54] contribute to our critical productivity<br>[20:56] items or our required parts of our build<br>[20:59] processes. So we we did get you know<br>[21:01] executive buyin from that standpoint you<br>[21:03] know sharing that people should<br>[21:04] participate in the hackathons but also<br>[21:06] they gave you know we have a companywide<br>[21:09] points right like a credit card point<br>[21:11] system and they actually contributed<br>[21:13] points. So we wound up creating like a<br>[21:14] bounty type program to incentivize folks<br>[21:17] to work on side projects, right? The<br>[21:19] inner source projects so that we could<br>[21:21] see additional contributors to things<br>[21:23] that were critical to the business,<br>[21:25] right? So there really are additional<br>[21:26] ways you can incentivize folks. I know<br>[21:29] I've I've had people, you know, like<br>[21:30] I'll pay for pizza or something like<br>[21:31] that or buy them coffee and we'll sit<br>[21:33] for two hours and work on a project. It<br>[21:35] works out quite well. People like free<br>[21:37] food.<br>[21:37] >> I'll I'll also kind of add to that<br>[21:39] because it was a side conversation that<br>[21:40] I had with Wendy before. Um, a lot of<br>[21:43] the chatter that we've had here almost<br>[21:45] up until that final piece has been<br>[21:47] grassroots, right? Bottom up. We really<br>[21:49] focused on the community. We focused on<br>[21:51] the people and driving things that way<br>[21:52] rather than going top down.
<!-- deep-read:sections end -->