Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Inner Source @ DB: A Story About Open Source Pr...

Inner Source @ DB: A Story About Open Source Practices at Deutsche Bahn

Carsten will explore the world of InnerSource at Deutsche Bahn (DB) during this talk. He will begin with a look back at the history of InnerSource at DB, highlighting the unique challenges they faced and the solutions they developed along the way. Learn how the establishment of a thematic team within their architecture guild helped promote the adoption of InnerSource and overcome obstacles. Carsten will explain the benefits of InnerSource for the company and software development while clarifying the distinction between “community-maintained” and “team-maintained” InnerSource. Additionally, he will demonstrate why a centralized platform is essential for fostering community-maintained InnerSource projects and outline the features they implemented for this platform. Finally, he will reveal how InnerSource serves as a bridge to Open Source and showcase a few specific InnerSource projects. Be inspired by how InnerSource is driving the future of software development at Deutsche Bahn!

Carsten Hoffmann

March 09, 2025
Tweet

More Decks by Carsten Hoffmann

Other Decks in Programming

Transcript

  1. Inner Source @ DB A Story About Open Source Practices

    at Deutsche Bahn Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025
  2. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Comic: Courtesy Victoria Drake | Source Comic: Courtesy Victoria Drake |  Source 2
  3. DB Software Development in numbers* Carsten Hoffmann @ Inner Source

    Gathering Berlin | DB Systel GmbH | 12th of March 2025 Lines of Code >450 M Active Git repositories in central GitLab instance >50.000 User in GitLab >10.000 ~22% Inner-source share of Git projects GitLab Groups >13.000 * Last updated: April 2024 3
  4. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Timeline of Inner Source@DB 1999 2002 2006 2011 2016 2021 First inner-source project for the introduction of Java Start of the component library “KOLT” in CVS Management issues order to publish DB Systel internal projects as inner source. Six-week inner source workshop GitLab and Artifactory selected as repositories for inner-source projects Founding of the Inner Source topic team in the architecture guild of DB Systel GmbH 2017 I join 4
  5. Inner Source — WHY? Carsten Hoffmann @ Inner Source Gathering

    Berlin | DB Systel GmbH | 12th of March 2025 Culture of collaboration Cost reduction Increase Quality Transparency 5
  6. Inner Source — IMPEDIMENTS Carsten Hoffmann @ Inner Source Gathering

    Berlin | DB Systel GmbH | 12th of March 2025 6 Separate business enterprises CI infrastructure costs money Inertia and uncertainty
  7. Inner Source — IMPEDIMENTS Carsten Hoffmann @ Inner Source Gathering

    Berlin | DB Systel GmbH | 12th of March 2025 7 Separate business enterprises CI infrastructure costs money Inertia and uncertainty
  8. Problem: Separate business enterprises Solution: Our own software license Carsten

    Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 DB Inner Source License (DBISL) 8
  9. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Problem: Separate business enterprises Solution: Our own software license DB Inner Source License (DBISL) Use within the DB group free of restrictions Source code is available to everyone Modifications are possible Sharing allowed 4 Freedoms of Open Source 10 The DBISL is Open-Source: github.com/dbsystel
  10. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 11 Contract module: Inner Source Excerpt from the contract toolkit for service systems 4.6 (3) b. The client is in agreement / not in agreement with the internal corporate use of the developed software components under the "DB Inner Source" license by other companies within the group.
  11. Inner Source — IMPEDIMENTS Carsten Hoffmann @ Inner Source Gathering

    Berlin | DB Systel GmbH | 12th of March 2025 Separate business enterprises CI infrastructure costs money Inertia and uncertainty 12
  12. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Team-maintained Inner Source 13 Team Product Library (Inner Source) owns uses owns
  13. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 14 Community-maintained vs. Team-maintained Inner Source Team Product Library (Inner Source) owns uses Maintainer The maintainers can belong to different teams Library (Inner Source) maintains owns uses
  14. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Community-maintained vs. Team-maintained Inner Source Community-maintained Team-maintained Independence from the product lifecycle Independent of the organizational development of a team Simple integration of collaborators No commitment from an entire team is necessary Funding is clear Infrastructure and tooling are available 15
  15. Problem: CI infrastructure costs money Solution: The InnerSourceHub Carsten Hoffmann

    @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 InnerSourceHub as a platform for Inner Source Projects • Central GitLab groups for community-maintained inner source projects • Free CI pipelines and artifact repositories (centrally funded) • Simple setup • The Inner Source topic team is the maintainer of the hub • Teams channel as the central contact point 16
  16. Inner Source — IMPEDIMENTS Carsten Hoffmann @ Inner Source Gathering

    Berlin | DB Systel GmbH | 12th of March 2025 Separate business enterprises CI infrastructure costs money Inertia and uncertainty 17
  17. Problem: Inertia and uncertainty Solution: An Architectural Principle Carsten Hoffmann

    @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 We provide new repositories within DB in a read-only mode for all internal employees 19
  18. Inner Source — IMPEDIMENTS Carsten Hoffmann @ Inner Source Gathering

    Berlin | DB Systel GmbH | 12th of March 2025 Separate business enterprises CI infrastructure costs money Inertia and uncertainty 20
  19. Why not start as Open Source? Carsten Hoffmann @ Inner

    Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 Factors discouraging immediate release as an open-source project • Developer uncertainty • Trade secrets • Dependence on internal infrastructure 21
  20. Once a project becomes inner source, it can more easily

    develop into an open-source project • Example: Borg (Google) • Example: DB UI DB UI on GitHub: github.com/db-ui Inner Source as a bridge to Open Source Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 22
  21. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 23 DB UI on GitHub: github.com/db-ui
  22. Glimpse into our inner source projects Examples Carsten Hoffmann @

    Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 24
  23. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Example: DB Container Lib Community Maintained About the Projekt • Collection of Dockerfiles and images • Built for production • Great variety of distributions and tools • Employee of the Month: Renovate Inner Source Patterns • Large user base • Diverse community of maintainers • Adapted for internal compliance • Dedicated Teams channel for communication within the community 25 Cost reduction Culture of Collaboration Increase Quality
  24. Das Projekt • Modulare GitLab CI Pipelines • ~ 200

    Module • Plattformteam • Supportmodell Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 Example: pipeship Team Maintained Inner Source Patterns • Bugfixing und Features direkt durch die nutzenden Teams • Issues sind transparent • Contribution Guidelines • Heavy Contributor zur DB Container Lib 27 Höhere Qualität Kultur der Zusammenarbeit
  25. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Example: k8s-setup Community Maintained Das Projekt • Infrastructure as Code (helmfile) • Setup für Kubernetes Namespace • Abhängigkeiten zu anderen DB internen Tools und Regelwerken • Zweiteilig (Basis und ForkMe-Projekt) • Wird als Tool von unseren DevOps-Coaches eingesetzt Inner Source Patterns • Forks dienen als Beispiel für den eigenen Fork • Forks sind dank DBISL wieder Inner Source • Nutzer beteiligen sich durch Issues und Merge Requests 28 Kostenreduktion Kultur der Zusammenarbeit
  26. Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel

    GmbH | 12th of March 2025 Example: Microsite der Architekturgilde Das Projekt • Docs-as-Code • Verbindliche Regelwerke und unverbindliche Empfehlungen • Basiert auf Doctoolchain (danke Ralf!) Inner Source Patterns • Änderungen sind transparent in der Commithistorie nachvollziehbar • Betroffene Teams können Formulierungsverbesserungen direkt selbst per MergeRequest vorschlagen • SLA für die Reaktion auf Issues und MRs (max. 1 Woche) Team Maintained 29 Transparenz Kultur der Zusammenarbeit
  27. More! Carsten Hoffmann @ Inner Source Gathering Berlin | DB

    Systel GmbH | 12th of March 2025 InnerSource Commons innersourcecommons.org
  28. Contact Carsten Hoffmann Architekturschaffendes DevOps-Teammitglied Mitglied im Thementeam Inner Source

    Carsten.C.Hoffmann@deutschebahn.com @morl99@hessen.social www.linkedin.com/in/morl99 DB Systel GmbH Jürgen-Ponto-Platz 1 | 60329 Frankfurt am Main Thank you for listening Slides and more in our blog: techstories.dbsystel.de