Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Open-source sans Burn Out ? Le modèle CNCF
Search
Damien Mathieu
February 03, 2025
Programming
55
0
Share
Open-source sans Burn Out ? Le modèle CNCF
Damien Mathieu
February 03, 2025
More Decks by Damien Mathieu
See All by Damien Mathieu
Let's deploy on fridays
dmathieu
0
250
The 12Factor App
dmathieu
1
980
Building Resilient Services
dmathieu
0
160
Easily monitor your product data
dmathieu
0
62
Play with ruby threads
dmathieu
2
130
Other Decks in Programming
See All in Programming
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
140
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
2.2k
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
400
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
3.1k
色即是空、空即是色、データサイエンス
kamoneggi
1
200
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
580
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
140
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
180
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
7
2.8k
inferと仲良くなる10分間
ryokatsuse
1
260
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.1k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
10
2.7k
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
300
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
540
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
30 Presentation Tips
portentint
PRO
1
300
WENDY [Excerpt]
tessaabrams
10
37k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
300
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The untapped power of vector embeddings
frankvandijk
2
1.7k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Transcript
DAMIEN MATHIEU OPEN-SOURCE SANS BURN OUT ? LE MODÈLE CNCF
- Software Crafter at Elastic - OpenTelemetry Contributor - Kayak
- Cuisine DAMIEN MATHIEU
QUI ICI MAINTIENT UN PROJECT OPEN SOURCE ?
QUI TROUVE CELA GRATIFIANT ?
ET POURTANT …
None
None
None
None
CERTAINS PROJETS ONT UN FRANC SUCCÈS
QUEL EST LEUR SECRET ? PUIS-JE LE REPRODUIRE À LA
MAISON ?
Comment fonctionne OpenTelemetry Comment rendre son projet libre viable Comment
s’assurer que les projets que l’on utilise sont viables
None
None
None
None
None
None
COMMENT CA FONCTIONNE ?
None
SPECIAL INTEREST GROUPS SIGs
OTLP
COLLECTOR
SEMANTIC CONVENTIONS
TRANSVERSAUX Communications End-users Security Project Tooling Contributor Experience Developer Experience
IMPLEMENTATIONS Ruby Go Java Rust Erlang/Elixir C++ Javascript Python PHP
Swift Android .NET
package main import ( "context" "math/rand/v2" "go.opentelemetry.io/otel" ) var tracer
= otel.Tracer("dice") func roll(ctx context.Context, min, max int) int { ctx, span := tracer.Start(ctx, "roll") defer span.End() return rand.IntN(max-min) + min }
None
const { trace } = require('@opentelemetry/api'); const tracer = trace.getTracer('dice');
function roll(min, max) { return tracer.startActiveSpan('roll', (span) => { const result = Math.floor(Math.random() * (max - min) + min); span.end(); return result; }); }
SPECIFICATIONS
None
None
Interface Animal{ Name() string IsAdult() bool }
class Animal def name; end def adult?; end end type
Animal interface { Name() string } type IsAdultAnimal interface { IsAdult() bool }
Interface Animal{ Name() string IsAdult() bool }
The Animal is responsible for describing animals. ANIMAL The `Animal`
MUST provide functions to: Retrieve the animal’s name. The `Animal` SHOULD provide functions to: Retrieve whether the animal has reached full growth or not.
Don’t try this at home !
None
IMPLEMENTATIONS Ruby Go Java Rust Erlang/Elixir C++ Javascript Python PHP
Swift Android .NET
None
package main import ( "context" "math/rand/v2" "go.opentelemetry.io/otel" ) var tracer
= otel.Tracer("dice") func roll(ctx context.Context, min, max int) int { ctx, span := tracer.Start(ctx, "roll") defer span.End() return rand.IntN(max-min) + min }
None
None
None
None
None
None
None
COMITÉS TECHNIQUE GOUVERNANCE
PROCESSUS DE DÉVELOPPEMENT ET LES STANDARDS
MÉDIATION DES DISCUSSIONS TECHNIQUES
STRUCTURE DE GOUVERNANCE
TECHNIQUE GOUVERNANCE Membres élus par leurs pairs Membres élus par
la communauté
None
None
COMMENT JE RENDS MON PROJET VIABLE ? ET JE M’ASSURE
QUE LES PROJETS QUE J’UTILISE SONT VIABLES
IL N’Y A RIEN DE MAGIQUE
QUEL EST L’OBJECTIF DU PROJET ?
DÉCOUVERTE / APPRENTISSAGE ?
None
None
None
PRODUCTION ?
It's a dangerous business, Frodo, going out your door. You
step onto the road, and if you don't keep your feet, there's no knowing where you might be swept o ff to.
None
None
EASY FIXES
DITES NON
None
VOUS UTILISEZ DES PROJETS LIBRES ?
None
Félicitations ! Vous faites déjà partie de la communauté de
l’Open-Source
None
Oh no, poor maintainer
None
None
None
None
Stand back I’m gonna fi x this bug
Do you have 5 minutes For a quick chat
None
None
DAMIEN MATHIEU
[email protected]
@
[email protected]
QUESTIONS ?