Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Happiness in Open Source
Search
Armin Ronacher
May 09, 2016
Programming
580
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
Reflections on building cloud and local hybrid machine entities
mitsuhiko
1
160
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
930
Do Dumb Things
mitsuhiko
0
1k
No Assumptions
mitsuhiko
0
440
The Complexity Genie
mitsuhiko
0
350
The Catch in Rye: Seeding Change and Lessons Learned
mitsuhiko
0
450
Runtime Objects in Rust
mitsuhiko
0
450
Rust at Sentry
mitsuhiko
0
610
Overcoming Variable Payloads to Optimize for Performance
mitsuhiko
0
320
Other Decks in Programming
See All in Programming
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
160
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
150
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
340
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
680
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
560
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
510
ソフトウェアラスタライザ
fadis
1
800
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
210
業務時間外もAIに働いてもらう話
colorful12
3
10k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
1
140
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
760
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
970
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The browser strikes back
jonoalderson
0
1.6k
ラッコキーワード サービス紹介資料
rakko
1
4.8M
Balancing Empowerment & Direction
lara
6
1.3k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
990
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Site-Speed That Sticks
csswizardry
13
1.5k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
480
Paper Plane (Part 1)
katiecoart
PRO
1
11k
A Modern Web Designer's Workflow
chriscoyier
698
190k
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/