8. Now: Growth Continues...
1400+ Employees Worldwide
50% Employees are Engineers
200M+ Active Users
400M+ Tweets per Day
33+ Languages Supported
60% Active Users are on Mobile
100+ Open Source Projects
14. Open Source Craft
(operating principles)
Use Open
Assume Open
Define Secret Sauce
Measure Everything
Default to GitHub
Default to Permissive
Acquire and Open
Pay it Forward
15. Use Open
Use and benchmark open source software by
default. When starting a new initiative, always
evaluate open source options before going to
reinvent the wheel. (e.g., if redis doesn’t work for
you, you better have solid evidence)
17. Define Secret Sauce
Don’t open source anything that represents a core
business value. Define your secret sauce so
there’s a shared understanding that can guide
decisions. Embed this secret sauce within your
culture and company via training.
21. Assume Open
Assume that what you are developing will be
opened in the future. Pretend the whole world
will be watching. Use reasonable third party
dependencies to prevent pain down the road. (we
mostly use Apache’s Third Party Guidelines as a
starting point)
22. Default to GitHub
The GitHub community is the largest open source
community, with over three million users. You would
be stupid to ignore that fact. Embrace social
coding tools to lower the barrier to
contribution and participation.
23. Foundations are Good*
We just prefer not to default to them. We view
them as a place for stable projects that grow
into maturity, not to incubate new projects. Our
goal is to gain traction first as fast as possible. If not,
fail fast and carry on.
25. Be Permissive
For outbound open source software, we default to
OSI permissive licenses (the ALv2 in the majority of
cases). We do this so we can maximize adoption
and participation, which we favor instead of
control.
26. Embrace the Trend
See http://blogs.the451group.com/opensource/2011/12/19/the-future-of-commercial-open-source-business-strategies/
27. Notes from Antirez (1)
“First of all, open source for me is not a way to contribute to
the free software movement, but to contribute to humanity.
This means a lot of things, for instance I don't care about
what people do with my code, nor if they'll release back
their modifications. I simply want people to use my
code in one way or the other.
Especially I want people to have fun, learn new stuff, and
make money with my code. For me other people making
money out of something I wrote is not something that I
lost, it is something that I gained.”
See http://antirez.com/news/48
28. Notes from Antirez (2)
1) I'm having a bigger effect in the world if somebody
can pay the bills using my code.
2) If there are N subjects making money with my code,
maybe they will be happy to share some of this money
with me, or will be more willing to hire me.
3) I can be myself one of the subjects making money
with my code, and with other open source software
code.
For all this reasons my license of choice is the BSD
licensed, that is the perfect incarnation of do whatever you
want as a license.”
See http://antirez.com/news/48
29. Acquire and Open*
Include open sourcing software in M&A
discussions, especially if you’re mainly acquiring
talent or shelving the product. There’s no need for
software to go to waste.
30. Acquire and Open: RedPhone
See https://github.com/WhisperSystems/RedPhone
31. Acquire and Open: Clutch.IO
See http://engineering.twitter.com/2012/10/open-sourcing-clutchio.html
See http://www.prweb.com/releases/2012/10/prweb10067693.htm
32. Measure Everything
If you can’t measure what you’re doing, you have
no idea what you’re doing. We measure everything
inside of Twitter (affectionately called birdbrain)
and make it accessible to everyone.
33. Pay it Forward
Support open source organizations and
projects important to your business, it’s the
right and smart thing to do. This can be financially
or simply staffing projects that are strategic to you.
34. Open Source Craft*
Use Open
Assume Open
Define Secret Sauce
Measure Everything
Default to GitHub
Default to Permissive
Acquire and Open
Pay it Forward
Note: This fits in a tweet
36. Light / Automated Process
Automated Process via JIRA Workflow
Inspiration from Eclipse.org’s IPZilla
37. Not all process is bad!
“process is an embedded reaction to priority stupidity”
True.
Remember the history of surgery?
Ignaz Semmelweiz (hand washing)
Surgery checklist: Glad your surgeon washes hands?
Even with surgery process, metal objects still are left in people :)
See http://many.corante.com/archives/2003/09/17/process_is_an_embedded_reaction_to_prior_stupidity.php
See http://en.wikipedia.org/wiki/Ignaz_Semmelweis
38. Automate Quality Checklist
Tooling to check for baseline “quality” before we open
√ README
√ LICENSE
√ CONTRIBUTING.MD
√ .travis.yml
√ Avoid KEYS / sensitive bits
√ Avoid GPL License Family
Attempts to build and posts results in JIRA.
Enforces and teaches good practices.
39. Automate Sourcing for Hiring
Let’s scale hiring a bit!
Run monthly queries on contributors to our open source
projects and projects of interest.
Hand it off the Recruiting and the ATS.
It’s hard enough to find good talent, why not hire from open
source projects of interest.
40. Automate Reporting / Metrics
Send out weekly reports based on:
Open Sourced Projects (what opened)
Top Committers (commits+issues closed)
Releases (assumed via git-tag)
Contentious Issues (issues with most comments)
Top Watched Project (most stars)
Top Forked Project (most forks)
Track trends.
Motivates contribution.
41. Conclusion
Define Your Principles
Open Source Almost Everything
Measure / Automate Everything
42. Thanks for listening!
(especially if you survived last night’s beer fest)
@cra
zx@twitter.com