Me
• Armin Ronacher (@mitsuhiko)
• Open Source Person
• Flask, Werkzeug, Jinja, Lektor etc.
• Now working on Sentry
Slide 3
Slide 3 text
Interrupt Me
Slide 4
Slide 4 text
Getting There
Slide 5
Slide 5 text
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
Slide 6
Slide 6 text
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
Slide 7
Slide 7 text
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
Slide 8
Slide 8 text
Growing Big
• Founding of the German ubuntu society
• Scaling website to multiple servers
• The politics start
Slide 9
Slide 9 text
Why did it happen?
Slide 10
Slide 10 text
Hermagor
• My Hometown
• Population: 1.500
• People with an interest in technology: few
• Enter the internet
Slide 11
Slide 11 text
Next Step: Programming
• Diving into Python development
• learning real programming
• Getting in contact with other Python developers
(Georg Brandl)
Slide 12
Slide 12 text
Learning
• Jinja -> Templates without Django
• Copy pasting code over, trying to improve it
• Learning on IRC from a guy who actually knows
parsers.
Slide 13
Slide 13 text
Release
• First implementation was crap
• Did not stop me from publishing it though
• What is a license?
Slide 14
Slide 14 text
Open?
• You can do whatever you want with it.
• Wrong
Slide 15
Slide 15 text
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
Slide 16
Slide 16 text
Communication &
Culture
Slide 17
Slide 17 text
People
• There is a difference between IRC and RL
• Textual communication can be a problem
• IRC/mail does not transfer emotions
• Different cultures
Slide 18
Slide 18 text
Licensing
• Horrible, horrible, horrible, horrible, horrible,
horrible, horrible, bad, bad, bad, bad,
AAAAaaaargh
• And you can seriously hurt yourself
Slide 19
Slide 19 text
Goals
• Often you don't want what others do
• And that might not even be obvious
• Learn to say no
Slide 20
Slide 20 text
Why do it?
Slide 21
Slide 21 text
Why Open Source?
• Fun
• Rewarding
• Networking for shy people
• A common ground
Slide 22
Slide 22 text
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
Slide 23
Slide 23 text
It pays off
• Learning new things
• Getting introduced to interesting people
• The thrill of working together
• Happiness when you see your stuff being used
Slide 24
Slide 24 text
Staying Motivated
Slide 25
Slide 25 text
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
Slide 26
Slide 26 text
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
Slide 27
Slide 27 text
Licensing
Slide 28
Slide 28 text
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?
Slide 29
Slide 29 text
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
Slide 30
Slide 30 text
Money: Case Studies
Slide 31
Slide 31 text
Making Money
• Selling the software?
• Libraries vs Applications
• Selling support?
• BSD/MIT/zlib
Slide 32
Slide 32 text
Flask
• Impossible to sell
• However an amazing way to bootstrap a career
• More than possible to sell consulting
Slide 33
Slide 33 text
Sentry
• Open Source not Open Core
• Puts us where others cannot be
• Bootstrapped