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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Damien Mathieu
February 03, 2025
Programming
68
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
260
The 12Factor App
dmathieu
1
990
Building Resilient Services
dmathieu
0
180
Easily monitor your product data
dmathieu
0
68
Play with ruby threads
dmathieu
2
140
Other Decks in Programming
See All in Programming
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
480
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
730
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
180
源内ハンズオン概要編
hideg
0
130
5分で問診!Composer セキュリティ健康診断
codmoninc
0
910
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.4k
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
600
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Paper Plane
katiecoart
PRO
2
52k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Building the Perfect Custom Keyboard
takai
2
830
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
360
Technical Leadership for Architectural Decision Making
baasie
3
470
Rails Girls Zürich Keynote
gr2m
96
14k
Embracing the Ebb and Flow
colly
88
5.1k
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 ?