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
Happiness in Open Source
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Armin Ronacher
May 09, 2016
Programming
560
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Happiness in Open Source
A talk about how to make open source work without destroying your soul.
Armin Ronacher
May 09, 2016
More Decks by Armin Ronacher
See All by Armin Ronacher
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
790
Do Dumb Things
mitsuhiko
0
950
No Assumptions
mitsuhiko
0
410
The Complexity Genie
mitsuhiko
0
330
The Catch in Rye: Seeding Change and Lessons Learned
mitsuhiko
0
440
Runtime Objects in Rust
mitsuhiko
0
420
Rust at Sentry
mitsuhiko
0
590
Overcoming Variable Payloads to Optimize for Performance
mitsuhiko
0
300
Rust API Design Learnings
mitsuhiko
0
670
Other Decks in Programming
See All in Programming
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
140
Oxcを導入して開発体験が向上した話
yug1224
4
310
AIで効率化できた業務・日常
ochtum
0
130
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
880
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
スマートグラスで並列バイブコーディング
hyshu
0
130
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
110
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
220
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
220
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
190
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
260
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Curse of the Amulet
leimatthew05
1
13k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
Leo the Paperboy
mayatellez
7
1.8k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Paper Plane
katiecoart
PRO
1
51k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
Crafting Experiences
bethany
1
180
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Transcript
Happiness in Open Source Armin Ronacher
Me • Armin Ronacher (@mitsuhiko) • Open Source Person •
Flask, Werkzeug, Jinja, Lektor etc. • Now working on Sentry
Interrupt Me
Getting There
The Trigger • Bought a book by Gregor Lingl: “Python
für Kids” • Stumbled upon the German Python Forum • The former administrator recommends Linux and with it Ubuntu
Back in Time • 2004: Ubuntu was released • the
first version of Linux I could actually run on my desktop. • Little bit of PHP Hacking • --> ubuntuusers.de
Going with the Flow • Ubuntu exploded. You could actually
see yourself making a “difference” • got a contribution into ubuntu directly: a simple wallpaper and some translations
Growing Big • Founding of the German ubuntu society •
Scaling website to multiple servers • The politics start
Why did it happen?
Hermagor • My Hometown • Population: 1.500 • People with
an interest in technology: few • Enter the internet
Next Step: Programming • Diving into Python development • learning
real programming • Getting in contact with other Python developers (Georg Brandl)
Learning • Jinja -> Templates without Django • Copy pasting
code over, trying to improve it • Learning on IRC from a guy who actually knows parsers.
Release • First implementation was crap • Did not stop
me from publishing it though • What is a license?
Open? • You can do whatever you want with it.
• Wrong
Stumbling Blocks • Jacob Kaplan–Moss sends me a mail that
some of the leftover code from Django in Jinja is missing the License declaration. • Learning on Licensing
Communication & Culture
People • There is a difference between IRC and RL
• Textual communication can be a problem • IRC/mail does not transfer emotions • Different cultures
Licensing • Horrible, horrible, horrible, horrible, horrible, horrible, horrible, bad,
bad, bad, bad, AAAAaaaargh • And you can seriously hurt yourself
Goals • Often you don't want what others do •
And that might not even be obvious • Learn to say no
Why do it?
Why Open Source? • Fun • Rewarding • Networking for
shy people • A common ground
Learning • I learn by failing and communicating with others.
• If it wasn't for the open source community I wouldn't be able to find people to talk to. • Cross language / border
It pays off • Learning new things • Getting introduced
to interesting people • The thrill of working together • Happiness when you see your stuff being used
Staying Motivated
Use It • You can only build things you use
yourself • Let other's chime in when you stop using it • Stop using it if you find something better / you need to use something else
Be More Boring • Sometimes it's important to stay boring
• Don't get carried away by the latest trends • Don't overstep the original goals
Licensing
BSD or GTFO • All popular Python modules are MIT/BSD
licensed with the occasional LGPL one • Commercial modules are very, very rare • GPL libraries ends up being mostly unused • Why?
Forced Contributions • “99% of useful code contributions come from
people who are motivated to participate in the project regardless of what the license tells them they have to do.” — Steve Streeting
Money: Case Studies
Making Money • Selling the software? • Libraries vs Applications
• Selling support? • BSD/MIT/zlib
Flask • Impossible to sell • However an amazing way
to bootstrap a career • More than possible to sell consulting
Sentry • Open Source not Open Core • Puts us
where others cannot be • Bootstrapped
Thank You
Contact • Armin Ronacher (@mitsuhiko) • http://lucumr.pocoo.org/ • http://www.getsentry.com/