Skip to content

Commit

Permalink
Improved Post
Browse files Browse the repository at this point in the history
  • Loading branch information
codegax committed Oct 3, 2024
1 parent 81d143e commit d2162af
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions content/posts/inner-source.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,16 @@ hidden: false
tags: [inner-source, collaboration, enterprise]
---

## A lie?
Regardless of what you might have heard on the internet (possibly from a tech influencer with a mustache who dislikes ReactJS), inner source is real and it's a fantastic way to foster collaboration and innovation within your organization, much like open source does in the wider community.

Regardless of what you might have heard on the internet (_possibly from a tech influencer with a mustache who dislikes ReactJS_), inner source is real and it's a fantastic way to foster collaboration and innovation within your organization, much like open source does in the wider community.
## What is Inner Source?

Inner source brings the open-source model into a company, allowing teams to collaborate on internal projects. It promotes transparency and shared development, helping teams improve systems together and avoid duplicated work.

## Why the Skepticism?

While "hate" might be too strong a word, there are certainly many who are skeptical about the benefits of inner source. The main issue is that many people use it as a justification for their choice of tech stack. Critics argue that inner source is not worth the effort because they believe no one will contribute to their projects. In an organization, everyone has their own tasks and priorities, and they may be reluctant to spend time on something that doesn't directly benefit their immediate goals.

## The Real Benefits of Inner Source
The Real Benefits of Inner Source

But here’s the thing: the reality is often quite different. Inner source can bring about some amazing benefits—if you know where to apply it. Have you ever considered which areas in your organization could truly benefit from this approach?

Expand All @@ -26,30 +27,29 @@ This is particularly evident in companies with development teams divided into di
In these cases, inner source can help align the various departments, allowing the development team to operate as a single unit instead of each department creating its own solution to the same problem.

```
You can't develop software anymore these days withouut doing open source.
- Wolfgang Gehring, FOSSS Ambassador @ Mercedz-Benz
You can't develop software anymore these days without doing open source. - Wolfgang Gehring, FOSS Ambassador at Mercedez-Benz
```

### Hypothetical Scenario

Imagine you have a company with multiple locations around the world, not only each with its own development team but with teams separated by departments. All locations have to predict shortages on their products and they all have to create a solution to predict these shortages:
Imagine you have a company with multiple locations around the world and one coporate trying to guide them all, some locations with it's own development team but separated by departments.

All locations have to predict shortages on their products and they all have to create a solution to predict these shortages:

- Location A: More developers; creates 3 solutions in Angular + C#.
- Location B: Decent team; develops a solution in React + Python while focused on other projects.
- Location C: One developer; builds a solution in Vue + NodeJS.
- Location D: No developers; creates a solution in Excel.

Corporate already had an outdated solution that wasn’t working as expected. Now, whenever someone wants to improve the prediction of shortages, they must choose between five existing solutions and discuss with other locations to determine if a new solution is better.

User resistance is high because they have to learn a new system each time a new solution is created, while their local solution is tailored to their specific needs.
Now, when someone wants to improve shortage predictions, they have to choose from five different solutions and talk to other locations to decide if a new one is better. Users resist because they have to learn a new system every time, while their local solution fits their needs better.

This scenario is common in companies that lack a strong software development culture. You might think such situations are unrealistic, or perhaps you feel like I’m describing your own workplace.

Having a closed perspective that assumes all companies are the same can lead to generalized opinions. In this case, inner source can help align different departments, enabling the development team to work as a single unit rather than having each department create its own solution to the same problem.
In this case, inner source can help align different departments, enabling the development team to work as a single unit rather than having each department create its own solution to the same problem.

### Hypothetical Solution
### A Solution

Corporate comes to the conclusion that all plants should use the same solution. They create a repository with the base solution, something that has at least all the current features already have and the different locations can contribute to the solution. The solution is created in a language that all locations are familiar with and the solution is created in a way that can be extended by the different locations. The code source is open and anyone can detect if something is wrong or understand how the solution works.
Corporate decides that all plants should use a unified system. They create a repository with a base version that includes all the current features, allowing different locations to contribute. The system is built in a language familiar to all teams and designed to be extended by each location as needed. With open-source access, anyone can identify issues or understand how the system works.

This not only helps to align the different locations but also helps to create a culture of collaboration between the different locations. The different locations can now share their knowledge and create a solution that is better than the one they had before. Now it also creates a standard on language and quality of code that is expected in the company.

Expand Down

0 comments on commit d2162af

Please sign in to comment.