What Is Innersource? ![rw-book-cover](https://i.ytimg.com/vi/-VXFeSz_s8M/maxresdefault.jpg) ## Metadata - Author: [[GitHub]] - Full Title: What Is Innersource? - Category: #articles - Document Note: # Title: Understanding Inner Sourcing with Zach Cooper - - - tags: #InnerSourcing #Collaboration #GitHub Author: Zach Cooper Source: GitHub Podcast Reference: [Link](https://example.com/github-podcast-inner-sourcing) date created: 2024-01-03T09:15 - - - ## Table of Contents: - Introduction to Inner Sourcing - Benefits of Inner Sourcing - Inner Sourcing in Practice - Overcoming Challenges - Vision for Inner Sourcing - Conclusion and Resources ## Index Creation: - Inner Sourcing - Open Source - Efficiency - Networking - Quality - Visibility - Usability - Discoverability - Collaboration - Technical Debt - Vision ## 📝 Summary: In this podcast episode, Zach Cooper discusses the concept of Inner Sourcing, which is similar to open source collaboration but within a company or organization. He highlights the benefits of Inner Sourcing, including increased efficiency, improved networking and engagement among employees, and enhanced project quality and security. Zach also explains how GitHub implements Inner Sourcing, focusing on visibility, discoverability, and usability. The conversation emphasizes the importance of changing organizational mindsets to embrace this collaborative approach. ## 📖 Main Content: ### Introduction to Inner Sourcing - Inner Sourcing is akin to open source, applied within an organization. - It promotes transparency, sharing, and reuse of code and projects. - Zach Cooper introduces himself and his role in Inner Sourcing at GitHub. ### Benefits of Inner Sourcing - Efficiency: Inner Sourcing leads to more efficient development processes. - Networking: It enhances collaboration and engagement among employees. - Quality: Projects benefit from improved quality and security. - Zach stresses the significance of these benefits in the current technical climate. ### Inner Sourcing in Practice - GitHub employees have visibility into the organization's codebase. - Repositories are tagged with topics to enhance discoverability. - Usability is crucial; documentation and examples help developers utilize Inner Sourced projects effectively. ### Overcoming Challenges - Zach explains that resistance to change and a preference for individual control can hinder Inner Sourcing adoption. - The analogy of not liking group projects is discussed as a human conditioning factor. - Technical debt and ingrained habits within organizations can impede progress. ### Vision for Inner Sourcing - Having a strong vision is essential for successful Inner Sourcing implementation. - Organizations need to understand the long-term benefits and stay focused on the end goal. - Zach highlights the importance of inviting everyone to join in the journey toward Inner Sourcing. ### Conclusion and Resources - The podcast episode concludes by encouraging listeners to explore Inner Sourcing further. - Zach mentions that links and resources will be provided in the show notes for those interested in getting started with Inner Sourcing. ### 🗒️ Notes: - Inner Sourcing is like open source but applied within organizations. - Benefits include efficiency, networking, and improved project quality. - Visibility, discoverability, and usability are crucial for Inner Sourcing success. - Resistance to change and ingrained habits can be challenges. - A strong vision and inviting everyone to participate are keys to Inner Sourcing adoption. ## 📖 References: - [GitHub Podcast - Inner Sourcing](https://example.com/github-podcast-inner-sourcing) ## 🗣️ Paraphrase: 1. "Inner Sourcing is similar to open source, but it's focused on collaboration within organizations. It promotes transparency and code sharing." 2. "Efficiency, networking, and project quality are the main benefits of Inner Sourcing. It's essential in today's technical landscape." ## 🧪 Hypotheses: - Hypothesis 1: Investigate how different organizational cultures impact the adoption of Inner Sourcing. - Hypothesis 2: Analyze the long-term effects of Inner Sourcing on project quality and security. - Hypothesis 3: Explore strategies for overcoming resistance to change in Inner Sourcing initiatives. ### 📊 Methodology: - Conduct surveys and interviews with organizations practicing Inner Sourcing. - Collect data on project quality and security before and after implementing Inner Sourcing. - Analyze case studies of successful Inner Sourcing transformations. ### 💡 Implications: - Advancing knowledge of Inner Sourcing can lead to more efficient and collaborative organizations. - Improved project quality and security can positively impact software development. - Understanding the challenges and strategies for change management is essential for Inner Sourcing success. ### 🔮 Future Research: - Investigate the scalability of Inner Sourcing in large organizations. - Explore the impact of Inner Sourcing on employee satisfaction and retention. - Examine the role of leadership in driving Inner Sourcing initiatives. ### ❓ Implications: - Promoting a culture of collaboration and openness within organizations can lead to more successful Inner Sourcing. - Recognizing the value of long-term benefits is crucial for organizations considering Inner Sourcing. - Inviting all employees to participate in Inner Sourcing initiatives can facilitate adoption. ### ✅ Logical validity: - The podcast provides a logical argument for the benefits of Inner Sourcing. - No logical fallacies are identified in the content. - The tone of the conversation is informative and engaging. ## Conclusion: The podcast episode with Zach Cooper offers valuable insights into the world of Inner Sourcing. It highlights the benefits, challenges, and implementation strategies for organizations looking to adopt this collaborative approach. The importance of a strong vision and a shift in organizational mindset towards openness and sharing is emphasized. The provided resources in the show notes can serve as a valuable starting point for those interested in exploring Inner Sourcing further. Short Summary for [What is Innersource?](https://www.youtube.com/watch?v=-VXFeSz_s8M) by [Merlin](https://merlin.foyer.work/) Title: Exploring Innersource: Benefits and Implementation at GitHub [00:01](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=1) Inner source brings open source principles to the company. [01:32](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=92) Innersource benefits in efficiency, networking, and project quality. [03:07](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=187) Innersource allows GitHub employees to access, reuse, and contribute to code [04:35](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=275) Innersource facilitates sharing resources and collaboration within organizations. [06:20](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=380) Innersource focuses on discovery and tagging repositories with topics. [07:46](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=466) Innersource projects enable easy searching and filtering for reusable projects, streamlining developers' workflow. [09:21](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=561) Unlearning the idea that group projects are bad. [10:49](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=649) Implementing innersource requires strong vision and goal-setting. --------------------------------- Detailed Summary for [What is Innersource?](https://www.youtube.com/watch?v=-VXFeSz_s8M) by [Merlin](https://merlin.foyer.work/) Title: Exploring Innersource: Benefits and Implementation at GitHub [00:01](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=1) Inner source brings open source principles to the company. - Inner source involves sharing, transparency, and reuse of code within the organization. - It allows the company to operate more like open source but for internal projects. [01:32](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=92) Innersource benefits in efficiency, networking, and project quality. - Efficiency, networking, and project quality are the main benefits of adopting Innersource. - At GitHub, the focus is on achieving these benefits through means such as enhancing visibility and adopting an open source way of working. [03:07](https://www.youtube.com/watch?v=-VXFeSz_s8M&t=187) Innersource al - Document Tags: [[innersource]] - Summary: In this episode of "15 Minutes to Merge," Zach Cooper, a colleague from GitHub, discusses the concept of inner sourcing. Inner sourcing is similar to open source, but it applies to companies or organizations. The benefits of inner sourcing include increased efficiency, networking, engagement, and improved quality and security of projects. GitHub has implemented inner sourcing through visibility, discoverability, and usability. They have also created an Inner Source project portal for developers to easily search and filter reusable projects. The reluctance to embrace inner sourcing may stem from a mentality of hoarding resources and a dislike for group projects. However, inner sourcing allows organizations to tap into different skill sets and learn from others. Implementing inner sourcing requires vision and a focus on the end goal. - URL: https://www.youtube.com/watch?v=-VXFeSz_s8M Hey, everyone, and welcome to this episode of  15 Minutes to merge with us this week. I have   an amazing colleague, Zach. Zach, welcome. Hey,  thanks for having me. Great to have you here.   So welcome to the show. We're going to talk  about some awesome stuff about inner sourcing   today. So why don't you tell everyone who  you are and what is you do for GitHub?   Yeah, I'm super excited to be here. My name's  Zach Cooper, like you said, and I'm here to   talk about inner sauce. So yeah, inner sauce  is something that I do every day in my job,   which is why I'm here to talk about it. Awesome.  So let's go on and talk about what is inner   sourcing because I've worked on an open source,  but inner source is new to a lot of people.   a great place to start. And so if you think about  the way that open source works in terms of people,   all developers all over the globe working together  and communicating in this asynchronous way to   be able to accomplish, you know, building  the world software inner source is really   similar. You take all of those ways of working  and that pattern of openness and transparency,   and then you just lift that out of open  source and move it to the context of a   company or organization and say, How  could we operate more like open source   but inside of our organization for things  that aren't maybe appropriate open source. So lots of sharing, transparency and  reuse. Awesome. So why would a company   want to do this? Because I think it's a lot  of work to change our working methodologies,   whether we're embracing kind of a new way of  working. Why, What's the what are the benefits   for an organization? Yeah, so there's a  couple of them. The main ones that we've   experienced at GitHub and our customers as  well when they work to adopt in our source   is efficiency, networking and engagement  with employees and in between developers. And then just the quality and security of the  projects that you're working on when you're   when you're reusing those, that the quality and  security gets improved quite a bit. And those   are super important things. When we're developing  software, how do we develop better software more   securely with better quality, especially in this  kind of technical climate, in the technical arena. So how how does this apply to people? How  are we doing this again? Help? How are we   enabling organizations to do this with  digital platform? Yeah, so at GitHub,   all of those benefits are important to us and  so we test this all in a different way. So   that's the efficiency. The, the networking and  engagement and the quality. But the way that   you go about that, you can't just say like  ready, set, go, be more efficient, right? So we try and focus on other means to be  able to get us to that efficiency through,   through inner source. So if we're trying to adopt  that open source way of working inside GitHub,   what we've done is taken a look  at our visibility. Do developers   have visibility into other repos within the  GitHub org? And I know this is not a secret,   but all the GitHub full time employees  have access to the github com code. When when they join, they're able to see that  code, which means they're able to reuse that code,   learn from that code, contribute bug fixes  to that code, even if that's not their main   job. So they have that visibility. And then the  other two pieces are once things are visible,   then it's got to be usable and  it's got to be discoverable, right? So we'll start with discoverable because if you  think it's visible, well, I've discovered it,   Right. Well, okay. But scale this to the whole  company. Right? At GitHub, we have some like three   or 4000 repositories and they're all visible,  which makes things not very discoverable. Right?   Because then it's like, well, which one do I want  to look at? So being able to tag things with repo   topics and, and maybe create a portal to be able  to show which of these are inner source projects   that you can like work on in which are kind  of more custom built just for this one thing. And then that leads right into usability.  So the usability pieces is that they've,   they've seen it, they've discovered it and  got some inclination that it's reusable. Now,   how do they actually use it? How can we  optimize that quick uptime to be able to say,   I'm just going to plug in this library, I'm  just going to, you know, use this component? So that means that you've got to be able to  have documentation is readable, shows what   the project is actually going to do and can help  the developer decide, Is this the project that I   need for the component that I'm trying to build  or the feature that I'm trying to build? Do you   have examples of how we do this with GitHub? Yeah, yeah, I can. I can think of a couple. So   one that we to look at is by sort of zooming into  a community, a language community at GitHub. So   at GitHub, we obviously use Ruby a lot, which is  what GitHub is built on, but we also have a lot of   GitHub services that are built using Golang. And  in the Golang community at GitHub, there's its own   Slack channel of folks surrounding around, I use  get going in my service and, and so those people   have built a community and they're sharing modules  back and forth and so there are things like   observability, everybody's service in GitHub needs  some level of observability and they're working on this go project. And so the collective  need or the inner source need, right,   is how do I do observability at GitHub in  a golang project or service. Well, okay,   there's a module that somebody has  built to be able to do that and then   now all of the folks that are building go  services at GitHub can share that module. Add on to that. This works for me, but I  need to change this thing. So. So that's   one example of of quite a few that I  could dive into. Do you have some like   some content that people can see how to get  started or examples that we could show them? Yeah. So one, one thing that we could show them in  order to get started is to focus on that discovery   piece. If I showed you a demo on visibility,  you would see me like adding people to repos,   which is not very interesting and creating  teams and stuff. So discoverability is a bit   more interesting when you start looking  at tagging repositories with topics. What kind of topics do you want to use  across your organization? How do you   get people to catalog all these things?  And then how does that all roll up into a   like an inner source portal where people can  go and say, these are the projects that are   all inner source ready? They're ready  to be reused across the organization. So we've got the Inner Source project  portal that we can take a look at. And   this is actually that SAP has gone and  built this and open sourced it. So that   looks like a scam music, which is great.  So huge thanks to them. And I know a lot   of our GitHub customers use this as well  to be able to sort their inner source. So on the real quick on the back end and the  context for this is there's a crawler that   goes and looks and sees which of your GitHub  repositories have the inner source topic on   it and then it collates them all, gathers  information on them and then presents them   here. And it's really easy to set up. It takes me  about 15 minutes to do this with a new customer   every time that I help them set this up. And so essentially what we're looking at   is a GitHub page that is the portal developers  would go to to be able to search for something   that they could reuse. So the analogy here is, is  that each of these planets or moons that we see   here are inner source projects. So you can think  of that as like, okay, Earth, that's representing   the the observability go module that I was  talking about earlier and so on and so forth. And then it's got some information  about each of these. Well, okay,   it's JavaScript that's not going to work for  my go project. I can actually come up here   and like filter by language and say, okay,  well here's that narrows it down. Here's to   go projects. And I'm actually looking for  one that you know, has to do with crops. Okay, well, you know, this planet or or  moon has something to do with crops. But in,   in the real life example, you know, it  would be something like a observability   and and then you would have all of your  lists here show up of what projects match   that. So that's really helpful to streamline  for developers this way of easily searching   and filtering the reusable projects so that  they can get going and get the job done. And that's, you know, back to the efficiency  that we're talking about. Absolutely. And   getting started is always the hardest  part, right? So it's cool to see that   we can create something like this where  we could have that that that ability to   see everything across in our organization  again, yeah, we have several thousand repos   and artwork and a lot of enterprises have a  thousand several hundred many, many repos. So why isn't everyone doing this already? Like  this seems like such a no brainer. Yeah. So I   think a lot of it comes from like our conditioning  as humans. There's a couple of intersperse   articles about how as babies we're already taught  things about inner source, about sharing our toys   and there's this natural inclination of like, I  don't know, I need to hoard my resources, right? And then we see that reflected  in organizations where, you know,   departments and, and, and in those types  of large groups inside of an organization,   hoard resources are all we  need to be able to, you know,   focus on these problems with our resources and  control our outcomes. So essentially, the bottom   line is nobody likes group projects. And and  we're sort of taught that in a lot of ways. And so in software though, in open source,  we've seen the magic of like what happens   when you can tap into all of these different  skill sets from all around the world. And and   so the inner sources like how do we make  that magic happen inside the organization   and unlearn some of the group project is bad.  Think that that we've built up over the years. Absolutely And I think we all accrue like  technical debt and poor patterns, bad habits,   right? We've all developed that habit. So  I think that also helps us learn and grow,   right. And continuously understand what  others are doing, maybe how they're doing   a different way or maybe in a better way that we  can learn from. I think that's really important. And I think anytime we're looking to change the  way we operate, it's hard. It's hard to make   changes in those organizations, but hopefully  we do it with an end game, end goal, end game   kind of insight of what we're trying to achieve.  Absolutely. Yeah. It takes a lot of vision to be   able to implement something like our source, to be  able to say there's a different way of doing this. Like you said, the change is going to be hard,  but we're going to work through this change or   make this change because we're seeking these  benefits and sort of keeping your eye on the   prize about like, do we want these benefits  and is that work worth it? And then inviting   everybody to join you in on that journey.  And when I say inviting everybody, you know,   back at GitHub universe, we talked about  like Accenture having like 50,000 developers,   that's a lot of everybody to get on the same page. So yeah, it definitely takes a strong vision.  Absolutely. Well, Zach, awesome. I learned a   lot about inner sourcing today and why it's  really important how to create that vision of   an organization. We're going to give everyone  some links to some blogs and our inner source   documentation to help them get started. We'll  share those in the description in the show notes. So, Zach, thank you so much for coming on the  show today. Lots of learning about inner force,   really excited about it, and I'm excited  to see how everyone out there watching is   adopting inner source. So leave your  comments below and looking forward to   hearing it all. So thank you, Zach, and  join us next time on 15 minutes to merge., What Is Innersource?, GitHub, 01hk7rsyrq9py32hnsss4tz07p.