Compare commits
4 Commits
9253bcbe80
...
9a5c90dc16
| Author | SHA1 | Date | |
|---|---|---|---|
|
9a5c90dc16
|
|||
|
8e8f38c8b5
|
|||
|
c203c8e9ef
|
|||
|
b45c29b83b
|
@@ -11,10 +11,10 @@ tags:
|
|||||||
headerimage:
|
headerimage:
|
||||||
src: /blog/file-cabinet.jpg
|
src: /blog/file-cabinet.jpg
|
||||||
text: Neatly organise your records
|
text: Neatly organise your records
|
||||||
audio: https://podcast.opensap.info/open-source-way/2023/11/29/the-growing-importance-of-software-bills-of-materials-sbom/
|
audio: https://podcasts.apple.com/us/podcast/the-growing-importance-of-software-bills-of-materials-sbom/id1535460646?i=1000636913792
|
||||||
podcast:
|
podcast:
|
||||||
name: SAP's Open Source Way Podcast
|
name: SAP's Open Source Way Podcast
|
||||||
href: https://podcast.opensap.info/open-source-way/2023/11/29/the-growing-importance-of-software-bills-of-materials-sbom/
|
href: https://podcasts.apple.com/us/podcast/the-growing-importance-of-software-bills-of-materials-sbom/id1535460646?i=1000636913792
|
||||||
---
|
---
|
||||||
|
|
||||||
I had the pleasure to moderate the OpenRail Day 2025 in Paris, organised by the [OpenRail Association](https://openrailassociation.org) to share knowledge and experiences about open source software in the railway industry. The event featured several talks and panel discussions with experts from different companies and organisations involved in open source projects related to railways.
|
I had the pleasure to moderate the OpenRail Day 2025 in Paris, organised by the [OpenRail Association](https://openrailassociation.org) to share knowledge and experiences about open source software in the railway industry. The event featured several talks and panel discussions with experts from different companies and organisations involved in open source projects related to railways.
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 445 KiB |
BIN
content/blog/2026-02-fosdem-supply-chain-strategy/firstslide.jpg
Normal file
BIN
content/blog/2026-02-fosdem-supply-chain-strategy/firstslide.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 266 KiB |
22
content/blog/2026-02-fosdem-supply-chain-strategy/index.md
Normal file
22
content/blog/2026-02-fosdem-supply-chain-strategy/index.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
title: "Software Supply Chain Strategy at Deutsche Bahn"
|
||||||
|
date: 2026-01-31
|
||||||
|
categories:
|
||||||
|
- english
|
||||||
|
- presentation
|
||||||
|
tags:
|
||||||
|
- OSPO
|
||||||
|
- SupplyChain
|
||||||
|
- Security
|
||||||
|
headerimage:
|
||||||
|
src: firstslide.jpg
|
||||||
|
video: https://video.fosdem.org/2026/ua2114/ZSWH3N-deutsche-bahn-supply-chain-cra-strategy.av1.webm
|
||||||
|
slides: https://fosdem.org/2026/events/attachments/ZSWH3N-deutsche-bahn-supply-chain-cra-strategy/slides/266949/2026-01-3_7kstxwl.pdf
|
||||||
|
event:
|
||||||
|
name: FOSDEM 2026
|
||||||
|
href: https://fosdem.org/2026/schedule/event/ZSWH3N-deutsche-bahn-supply-chain-cra-strategy/
|
||||||
|
---
|
||||||
|
|
||||||
|
Deutsche Bahn, with its 230,000 employees and hundreds of subsidiaries, is far from an average organization. Yet it faces the same challenges under the CRA as many others. In this session, I showed how we connected the concrete requirements of CRA compliance with our broader effort to bring transparency to our software supply chains. This forms the basis for security and license compliance processes, as well as for proactively shaping the ecosystems we depend on.
|
||||||
|
|
||||||
|
In the presentation, I outlined our strategy for addressing the expectations tied to the different roles we take on -- customer, manufacturer, and indirectly even steward -- from both organizational and technical angles. Given the diversity and scale of Deutsche Bahn, we rely on modular FOSS tools that offer the flexibility to adapt to varying stakeholder needs and evolving regulation. This flexibility is a core element of our approach. This session showed how we align strategy and technology to make this work.
|
||||||
@@ -199,6 +199,8 @@ html, body {
|
|||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
|
||||||
.header-image {
|
.header-image {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
@@ -210,9 +212,13 @@ html, body {
|
|||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
margin-bottom: 1.5em;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.blog-links {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Metadata */
|
/* Metadata */
|
||||||
|
|||||||
@@ -51,7 +51,8 @@
|
|||||||
<div class="panel panel-default">
|
<div class="panel panel-default">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="blogpost">
|
<div class="blogpost">
|
||||||
{{ partial "blog/headerimage" . }}
|
{{- partial "blog/headerimage" . }}
|
||||||
|
{{- partial "blog/links" . }}
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
<!-- only show related posts if param is true, or if it's not a page -->
|
<!-- only show related posts if param is true, or if it's not a page -->
|
||||||
{{ if or (eq .Params.related true) (ne .Params.page true) }}
|
{{ if or (eq .Params.related true) (ne .Params.page true) }}
|
||||||
|
|||||||
@@ -12,8 +12,12 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $processes := .processes | default (slice "fill 1000x440 webp" )}}
|
{{- $processes := .processes | default (slice "fill 1000x440 webp" )}}
|
||||||
{{- $image = partial "image-processing" (dict "image" $image "processes" $processes "filter" .filter) -}}
|
{{- $filter := .filter }}
|
||||||
|
{{- if not $image }}
|
||||||
|
{{- warnf "Header image '%s' not found for page %s" .src $page.RelPermalink }}
|
||||||
|
{{- end }}
|
||||||
{{- with $image }}
|
{{- with $image }}
|
||||||
|
{{- $image = partial "image-processing" (dict "image" $image "processes" $processes "filter" $filter) -}}
|
||||||
<img src="{{ .RelPermalink }}" />
|
<img src="{{ .RelPermalink }}" />
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .text }}<p>{{ . | markdownify }}</p>{{ end }}
|
{{- with .text }}<p>{{ . | markdownify }}</p>{{ end }}
|
||||||
|
|||||||
27
themes/hugo-sustain/layouts/partials/blog/links.html
Normal file
27
themes/hugo-sustain/layouts/partials/blog/links.html
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<div class="blog-links">
|
||||||
|
{{- with .Params.event }}
|
||||||
|
<a class="btn btn-default button-event" href="{{ .href }}" target="_blank" aria-label="Event Page" role="button">
|
||||||
|
<i class="fas fa-calendar-alt" aria-hidden="true"></i> {{ .name }}
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Params.audio }}
|
||||||
|
<a class="btn btn-default button-audio" href="{{ . }}" target="_blank" aria-label="Audio Recording" role="button">
|
||||||
|
<i class="fas fa-microphone" aria-hidden="true"></i> Listen to Recording
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Params.article }}
|
||||||
|
<a class="btn btn-default button-article" href="{{ .href }}" target="_blank" aria-label="Related Article" role="button">
|
||||||
|
<i class="fas fa-newspaper" aria-hidden="true"></i> Read {{ .name }} Article
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Params.video }}
|
||||||
|
<a class="btn btn-default button-video" href="{{ . }}" target="_blank" aria-label="Video Recording" role="button">
|
||||||
|
<i class="fas fa-video" aria-hidden="true"></i> Watch Recording
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Params.slides }}
|
||||||
|
<a class="btn btn-default button-slides" href="{{ . }}" target="_blank" aria-label="Slides" role="button">
|
||||||
|
<i class="fas fa-desktop" aria-hidden="true"></i> View Slides
|
||||||
|
</a>
|
||||||
|
{{- end }}
|
||||||
|
</div>
|
||||||
Reference in New Issue
Block a user