Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 Comic: Courtesy Victoria Drake | Source Comic: Courtesy Victoria Drake |  Source 2

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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.

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 23 DB UI on GitHub: github.com/db-ui

Slide 24

Slide 24 text

Glimpse into our inner source projects Examples Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 24

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

More! Carsten Hoffmann @ Inner Source Gathering Berlin | DB Systel GmbH | 12th of March 2025 InnerSource Commons innersourcecommons.org

Slide 31

Slide 31 text

Contact Carsten Hoffmann Architekturschaffendes DevOps-Teammitglied Mitglied im Thementeam Inner Source [email protected] @[email protected] 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

Slide 32

Slide 32 text

DB Systel Digital. Empowered.