Skip to content

InnerSource @ Siemens #799

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
spier opened this issue Mar 23, 2025 · 6 comments
Open

InnerSource @ Siemens #799

spier opened this issue Mar 23, 2025 · 6 comments
Labels
🐅 patterns-in-the-wild InnerSource patterns that were spotted in the wild. We can extract Known Instances and new patterns.

Comments

@spier
Copy link
Member

spier commented Mar 23, 2025

Siemens presented at FOSS Backstage 2025 in Berlin:

Growing a Social Coding culture, one seed at a time
video, slides

They also have other online material related to their InnerSource usage. e.g. this one from December 2023
Unlocking collaboration: how Inner Source transformed the way we develop software at Siemens

Let's dig a bit deeper and see what we can extract from this material, to enrich our patterns collection.

PS: They call it "social coding" but in broad strokes I believe both terms mean roughly the same.

Interesting aspects of the InnerSource approach at Siemens

Legend:

  • 🌱 possible seed for a new InnerSource pattern
  • ❔ a question :)

Notes based on the video:

  • the platform - see 6:29
    • ❔Is this central GitLab instance now basically the only version control system? (I assume not)
    • ❔when they started this, was this an effort to unify projects from various version control systems into a central place? could possibly be related to the source-code-inventory pattern
  • role modelling (dog fooding) - see 8:05
    • if you have an enablement team (or platform team) that provides foundational services related to InnerSource: that team can act as a role model for the InnerSource way of working (aka dog fooding)
    • 🌱 this could be a pattern aka "walk the talk", "show how it is done", ...
  • a documentation portal for "all things InnerSource" at the org. see 11:18
    • 🌱 we have a pattern for the InnerSource Portal, however with that we mean the "explore the InnerSource projects" feature only.
    • we could extend that pattern to add more about the type of documentation that might go into this portal. or we create a new pattern, focused on just the documentation aspects i.e. what are the things that you need to document internally, to foster InnerSource adoption? where can you point to external resources like innersourcecommons.org
    • 🌱 as an aside, we could add the screenshot to the InnerSource Portal pattern
  • what do they mean by these? - see 8:05
    • ❔“nobody is sharing software for free”
    • ❔"provide light-weight governance"
  • other products of a platform team that may have impact on InnerSource collaboration - see 12:38
    • ❔what do they offer related to "Docs" and "Issue Tracker"
    • 🌱 is the "Engage, blog posts, events" about marketing the social coding ideas throughout the larger org?
  • Community work 12:47
    • community channels & hangouts (comms channels to chat within the internal InnerSource community
    • 🌱 Internal InnerSource Summit / this could be its own pattern / They mentioned a team in Bangalore that organized a community even related to open source. Was that one of the InnerSource Summits? Maybe one of the organizers from Bangalore would be interested in sharing more about this? Would be great to give them some recognition through an open source contribution too :)
    • “Social Coding Award” - this sounds like a form of the "praise participants" pattern / already being added as part of Mention how Siemens applies some patterns #801
    • "Social Coding Ambassadors" - sounds similar to the "InnerSource Ambassador" idea. A group of volunteers around the core/platform team that supports the evangelization of InnerSource throughout the company / already being added as part of Mention how Siemens applies some patterns #801
  • Continuity - 14:36
    • ❔Ownership of the platform (team of 8 people) / how do you call that team?
    • 🌱 Financing model - we found an internal billing model that works such that we can finance ourselves (pay-per-use) / this could be its own pattern
    • ❔Visibility / what does it take to stay visible in a larger org?
    • ❔Werner von Siemens award 2018 / Is there public information about this? i.e. what exactly did they receive recognition for here? Might serve as an example of how social coding made an impact in a large org
  • No harvest without pests - 18:18
    • ❔did you find any approaches that help to counteract these pests?
  • "if Siemens knew what Siemens does" - 20:56
    • a new mandate that all source code should be share: for using generative AI at scale it becomes even more important to have access to all company-internal knowledge (I assume to trail models etc)
    • 🌱 could this be a pattern? or at least one sales argument for InnerSource to unify all source code in one place, or find other ways to make code/repos accessible to the whole organization (i.e. across department/subsidiary boundaries)?
  • "for open source we do some gate keeping" - 30:38
    • i.e. projects need to fulfil some requirements to be release as open source under the Siemens umbrella
    • 🌱 have you considered to use InnerSource as a stepping stone before open source? i.e. using InnerSource as a testbed where the team that maintains the project can test themselves before they go open source. Here a draft of a pattern that explores this idea: [Pattern Draft] Require InnerSource before Open Source #776

Other Notes

  • calculate the re-use, usage, quality metric and much more - see GitHub comment
    • 🌱 similar to the existing pattern about the Repository Activity Score, one could share pseudo code about how the re-and other relevant metrics related to InnerSource are measure
  • vulnerability management for Inner Source projects - see this post
    • 🌱 what is this about?
@spier spier added the 🐅 patterns-in-the-wild InnerSource patterns that were spotted in the wild. We can extract Known Instances and new patterns. label Mar 23, 2025
@fgreinacher
Copy link
Contributor

fgreinacher commented Mar 24, 2025

Yes, we're using the term "social coding" to refer to the broader concept, encompassing both Open and Inner Source 👍 Often there is quite some overlap.

@deveaud-m
Copy link

@spier I was reading through the InnerSource patterns and couldn't find anything tangible regarding the "eat your own dog food" principle (or "drink your own champagne", or "walk the talk"). Maybe an aspect that would also be interesting to develop as new pattern.

@spier
Copy link
Member Author

spier commented Mar 25, 2025

@spier I was reading through the InnerSource patterns and couldn't find anything tangible regarding the "eat your own dog food" principle (or "drink your own champagne", or "walk the talk"). Maybe an aspect that would also be interesting to develop as new pattern.

@deveaud-m absolutely. I have just extended my notes above with a similar note about "walk the talk". Great minds think alike :) Would you like to work on this, or would it be somebody else from your team? I can give you some pointers to how we used ChatGPT recently to generate a first draft for new pattern ideas. Tends to be a great writing companion :)

@deveaud-m
Copy link

@deveaud-m absolutely. I have just extended my notes above with a similar note about "walk the talk". Great minds think alike :) Would you like to work on this, or would it be somebody else from your team? I can give you some pointers to how we used ChatGPT recently to generate a first draft for new pattern ideas. Tends to be a great writing companion :)

I already generated a draft of the pattern using ChatGPT, just give me some more days ;)

@spier
Copy link
Member Author

spier commented Mar 25, 2025

That's awesome @deveaud-m, looking forward to it.

If you want further inspiration, here some examples of other PRs where we have done the same.

@fgreinacher
Copy link
Contributor

Is this central GitLab instance now basically the only version control system? (I assume not)

There are a few more, but code.siemens.com has the biggest user base.

when they started this, was this an effort to unify projects from various version control systems into a central place? could possibly be related to the source-code-inventory pattern

Yes, it was driven from inside a bigger department that modernized their dev environment.

❔Ownership of the platform (team of 8 people) / how do you call that team?

We call it the "code.siemens.com core team"

have you considered to use InnerSource as a stepping stone before open source? i.e. using InnerSource as a testbed where the team that maintains the project can test themselves before they go open source. Here a draft of a pattern that explores this idea: #776

We do not require it, but of course we see this happen naturally in some cases. More often though it's the other way around for us, where teams want to make something Open Source, but during review we consider it too Siemens-specific and ask them to go Inner Source instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐅 patterns-in-the-wild InnerSource patterns that were spotted in the wild. We can extract Known Instances and new patterns.
Projects
None yet
Development

No branches or pull requests

3 participants