What Is Innersource?

## 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.