DEV Community

Cover image for What is Inner Source?
Davide 'CoderDave' Benvegnù
Davide 'CoderDave' Benvegnù

Posted on • Edited on

3 2

What is Inner Source?

Wanna know more about Inner Source? This is the post for you!

Let me explain you what Inner Source is, what it means and what problem it solves.

Video

As usual, if you are a visual learner, or simply prefer to watch and listen instead of reading, here you have the video with the whole explanation and demo, which to be fair is much more complete than this post.

(Link to the video: https://youtu.be/tfPhkZ87bEY)

If you rather prefer reading, well... let's just continue :)

What is Inner Source?

Inner Source is basically open source but inside a company or set of companies. You can imagine that it might be desirable for a company to share reusable components internally, but due to legal/monetization/other reasons they don't want to share beyond the company as open source.

Inner Source vs Open Source

Inner Source differs from classic open source by remaining within the view and control of a single organization. The “openness” of the project extends across many teams within the organization, and this allows the organization to even have trade secrets into the code without fear that they will be revealed to outsiders, while benefitting from the creativity and diverse perspectives contributed by people throughout the organization.

Often, the organization chooses to share parts of an Inner Source project with the public, effectively turning them into open source. When the technologies and management practices of open source are used internally, moving the project into a public arena becomes much easier.

Inner Source as vehicle towards Open Source

Also, for companies building mostly closed source software, Inner Source can be a great tool to help break down silos, encourage internal collaboration, accelerate new engineer on-boarding, and identify opportunities to contribute software back to the open source world.

The Discovery Problem

One crucial part of Inner Source is what's referred to as the "discovery" problem: how do you make sure people within the organization can discover the Inner Source projects when they start a new project that utilizes them?

To solve this problem, you have to use the proper tool for the job. While you can use basically any platform to do Inner Source, only some of the toolsets out there make it very seamless. This is one area in which GitHub shines, while other platforms like Azure DevOps are not that developed.

You can for example create something like the SAP Inner Source portal reference, that reads data from your GitHub organization and presents that in a very nice way

SAP Inner Source Portal

If you want to take a look at the portal, you can find it here: https://github.com/SAP/project-portal-for-innersource

Conclusions and Announcement

This was just a very short introduction to Inner Source, but let me know in the comment section below if you want me to go deeper into the topic in another post or video.

Also, before we close, I have an announcement to make, which I'm very excited about. I've finally launched my Patreon page! You can get exclusive content, both posts and videos that are not posted anywhere else. You can influence the content of my YouTube channel, you can have live chats and Q&A with me. But the coolest part is that you can have a 1:1 consultation with me to talk about anything DevOps, GitHub or Azure DevOps.

Patreon

Just visit my Patreon page to see the available options available

Like, share and follow me 🚀 for more content:

📽 YouTube
Buy me a coffee
💖 Patreon
👕 Merch
👦🏻 Facebook page
🐱‍💻 GitHub
👲🏻 Twitter
👴🏻 LinkedIn
🔉 Podcast

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

Billboard image

Try REST API Generation for Snowflake

DevOps for Private APIs. Automate the building, securing, and documenting of internal/private REST APIs with built-in enterprise security on bare-metal, VMs, or containers.

  • Auto-generated live APIs mapped from Snowflake database schema
  • Interactive Swagger API documentation
  • Scripting engine to customize your API
  • Built-in role-based access control

Learn more

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay