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
0
41
Open-source sans Burn Out ? Le modèle CNCF
Damien Mathieu
February 03, 2025
Tweet
Share
More Decks by Damien Mathieu
See All by Damien Mathieu
Let's deploy on fridays
dmathieu
0
210
The 12Factor App
dmathieu
1
970
Building Resilient Services
dmathieu
0
140
Easily monitor your product data
dmathieu
0
49
Play with ruby threads
dmathieu
2
120
Other Decks in Programming
See All in Programming
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
7
15k
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
330
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
What's new in Spring Modulith?
olivergierke
1
160
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
4
140
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
410
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.1k
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
270
NIKKEI Tech Talk#38
cipepser
0
130
AI Agent 時代的開發者生存指南
eddie
4
2.1k
CSC509 Lecture 06
javiergs
PRO
0
260
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
Visualization
eitanlees
149
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Git: the NoSQL Database
bkeepers
PRO
431
66k
We Have a Design System, Now What?
morganepeng
53
7.8k
Balancing Empowerment & Direction
lara
5
700
Designing for humans not robots
tammielis
254
26k
BBQ
matthewcrist
89
9.8k
Building Adaptive Systems
keathley
44
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
The Language of Interfaces
destraynor
162
25k
GraphQLとの向き合い方2022年版
quramy
49
14k
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 ?