Open Source Craft at Twitter
Upcoming SlideShare
Loading in...5

Open Source Craft at Twitter



Open source craft and culture at Twitter.

Open source craft and culture at Twitter.
Presented at Monkigras 2013



Total Views
Slideshare-icon Views on SlideShare
Embed Views



7 Embeds 101 62 32 3 1 1 1 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Open Source Craft at Twitter Open Source Craft at Twitter Presentation Transcript

    • Open Source Craft at Twitter Chris Aniszczyk (@cra) #monkigras
    • TwistoryTwitter History
    • 2006: A simple idea...
    • 2008: Growing Pains
    • 2009... Crazy Growth
    • 2010+: Shit, build a company!
    • Employee Growth...
    • Now: Growth Continues...1400+ Employees Worldwide50% Employees are Engineers200M+ Active Users400M+ Tweets per Day33+ Languages Supported60% Active Users are on Mobile100+ Open Source Projects
    • Engineers run the asylum...
    • Code dumping happens...
    • Code dumping happens...
    • No Ownership = Problems Start with ownership. Created an Open Source Office in 2011
    • Open SourceCraft and Culture How we roll...
    • 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
    • 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)
    • Twitter Runs on Open Source
    • Define Secret Sauce Don’t open source anything that represents a core business value. Define your secret sauce sothere’s a shared understanding that can guide decisions. Embed this secret sauce within your culture and company via training.
    • Secret Sauce, what is it? What’s yours?
    • If you know your secret sauce...
    • Assume Open Assume that what you are developing will beopened in the future. Pretend the whole world will be watching. Use reasonable third partydependencies to prevent pain down the road. (we mostly use Apache’s Third Party Guidelines as a starting point)
    • Default to GitHub The GitHub community is the largest open sourcecommunity, 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.
    • Foundations are Good* We just prefer not to default to them. We view them as a place for stable projects that growinto maturity, not to incubate new projects. Ourgoal is to gain traction first as fast as possible. If not, fail fast and carry on.
    • Default to Permissive
    • Be PermissiveFor outbound open source software, we default toOSI permissive licenses (the ALv2 in the majority ofcases). We do this so we can maximize adoption and participation, which we favor instead of control.
    • Embrace the Trend See
    • 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 dont care aboutwhat people do with my code, nor if theyll 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, andmake money with my code. For me other people makingmoney out of something I wrote is not something that I lost, it is something that I gained.” See
    • Notes from Antirez (2)1) Im having a bigger effect in the world if somebodycan 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 moneywith me, or will be more willing to hire me.3) I can be myself one of the subjects making moneywith my code, and with other open source softwarecode.For all this reasons my license of choice is the BSDlicensed, that is the perfect incarnation of do whatever youwant as a license.” See
    • Acquire and Open* Include open sourcing software in M&Adiscussions, especially if you’re mainly acquiringtalent or shelving the product. There’s no need for software to go to waste.
    • Acquire and Open: RedPhone See
    • Acquire and Open: Clutch.IO See See
    • Measure Everything If you can’t measure what you’re doing, you haveno idea what you’re doing. We measure everythinginside of Twitter (affectionately called birdbrain) and make it accessible to everyone.
    • Pay it Forward Support open source organizations and projects important to your business, it’s theright and smart thing to do. This can be financiallyor simply staffing projects that are strategic to you.
    • Open Source Craft* Use Open Assume Open Define Secret Sauce Measure Everything Default to GitHub Default to Permissive Acquire and Open Pay it ForwardNote: This fits in a tweet
    • ScalingScaling an open source program
    • Light / Automated Process Automated Process via JIRA Workflow Inspiration from’s IPZilla
    • 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 See
    • 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.
    • 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.
    • 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.
    • Conclusion Define Your PrinciplesOpen Source Almost EverythingMeasure / Automate Everything
    • Thanks for listening! (especially if you survived last night’s beer fest) @cra