open source craft at twitter
DESCRIPTION
Open source craft and culture at Twitter. Presented at Monkigras 2013TRANSCRIPT
![Page 1: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/1.jpg)
Open Source Craft at TwitterChris Aniszczyk (@cra)
http://aniszczyk.org
#monkigras
![Page 2: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/2.jpg)
TwistoryTwitter History
![Page 3: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/3.jpg)
2006: A simple idea...
![Page 4: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/4.jpg)
2008: Growing Pains
![Page 5: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/5.jpg)
2009... Crazy Growth
![Page 6: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/6.jpg)
2010+: Shit, build a company!
![Page 7: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/7.jpg)
Employee Growth...
![Page 8: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/8.jpg)
Now: Growth Continues...
1400+ Employees Worldwide50% Employees are Engineers200M+ Active Users400M+ Tweets per Day33+ Languages Supported60% Active Users are on Mobile100+ Open Source Projects
![Page 9: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/9.jpg)
Engineers run the asylum...
![Page 10: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/10.jpg)
Code dumping happens...
![Page 11: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/11.jpg)
Code dumping happens...
![Page 12: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/12.jpg)
No Ownership = Problems
Start with ownership.Created an Open Source Office in 2011
![Page 13: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/13.jpg)
Open Source Craft and Culture
How we roll...
![Page 14: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/14.jpg)
Open Source Craft(operating principles)
Use OpenAssume Open
Define Secret SauceMeasure Everything
Default to GitHubDefault to Permissive
Acquire and OpenPay it Forward
![Page 15: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/15.jpg)
Use OpenUse 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)
![Page 16: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/16.jpg)
Twitter Runs on Open Source
![Page 17: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/17.jpg)
Define Secret SauceDon’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.
![Page 18: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/18.jpg)
Secret Sauce, what is it?
What’s yours?
![Page 19: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/19.jpg)
If you know your secret sauce...
![Page 20: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/20.jpg)
![Page 21: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/21.jpg)
Assume OpenAssume 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)
![Page 22: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/22.jpg)
Default to GitHubThe 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.
![Page 23: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/23.jpg)
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.
![Page 24: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/24.jpg)
Default to Permissive
![Page 25: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/25.jpg)
Be PermissiveFor 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.
![Page 26: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/26.jpg)
See http://blogs.the451group.com/opensource/2011/12/19/the-future-of-commercial-open-source-business-strategies/
Embrace the Trend
![Page 27: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/27.jpg)
See http://antirez.com/news/48
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.”
![Page 28: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/28.jpg)
See http://antirez.com/news/48
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.”
![Page 29: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/29.jpg)
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.
![Page 30: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/30.jpg)
Acquire and Open: RedPhone
See https://github.com/WhisperSystems/RedPhone
![Page 31: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/31.jpg)
Acquire and Open: Clutch.IO
See http://engineering.twitter.com/2012/10/open-sourcing-clutchio.htmlSee http://www.prweb.com/releases/2012/10/prweb10067693.htm
![Page 32: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/32.jpg)
Measure EverythingIf 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.
![Page 33: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/33.jpg)
Pay it ForwardSupport 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.
![Page 34: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/34.jpg)
Open Source Craft*
Use OpenAssume Open
Define Secret SauceMeasure Everything
Default to GitHubDefault to Permissive
Acquire and OpenPay it Forward
Note: This fits in a tweet
![Page 35: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/35.jpg)
ScalingScaling an open source program
![Page 36: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/36.jpg)
Light / Automated Process
Automated Process via JIRA WorkflowInspiration from Eclipse.org’s IPZilla
![Page 37: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/37.jpg)
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.phpSee http://en.wikipedia.org/wiki/Ignaz_Semmelweis
![Page 38: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/38.jpg)
Automate Quality ChecklistTooling 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.
![Page 39: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/39.jpg)
Automate Sourcing for HiringLet’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.
![Page 40: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/40.jpg)
Automate Reporting / MetricsSend 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.
![Page 41: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/41.jpg)
Conclusion
Define Your PrinciplesOpen Source Almost EverythingMeasure / Automate Everything
![Page 42: Open Source Craft at Twitter](https://reader030.vdocument.in/reader030/viewer/2022020122/554f5b2bb4c905b9508b53c5/html5/thumbnails/42.jpg)
Thanks for listening!(especially if you survived last night’s beer fest)