SlideShare a Scribd company logo
1 of 42
Download to read offline
Open Source Craft at Twitter
      Chris Aniszczyk (@cra)
       http://aniszczyk.org

           #monkigras
Twistory
Twitter History
2006: A simple idea...
2008: Growing Pains
2009... Crazy Growth
2010+: Shit, build a company!
Employee Growth...
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
Engineers run the asylum...
Code dumping happens...
Code dumping happens...
No Ownership = Problems
         Start with ownership.
 Created an Open Source Office in 2011
Open Source
Craft 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 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)
Twitter Runs on Open Source
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.
Secret Sauce, what is it?




     What’s yours?
If you know your secret sauce...
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)
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.
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.
Default to Permissive
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.
Embrace the Trend




  See http://blogs.the451group.com/opensource/2011/12/19/the-future-of-commercial-open-source-business-strategies/
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
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
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.
Acquire and Open: RedPhone




   See https://github.com/WhisperSystems/RedPhone
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
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.
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.
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
Scaling
Scaling an open source program
Light / Automated Process
  Automated Process via JIRA Workflow
   Inspiration from Eclipse.org’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 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
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 Principles
Open Source Almost Everything
Measure / Automate Everything
Thanks for listening!
 (especially if you survived last night’s beer fest)

             @cra
         zx@twitter.com

More Related Content

What's hot

In graph we trust: Microservices, GraphQL and security challenges
In graph we trust: Microservices, GraphQL and security challengesIn graph we trust: Microservices, GraphQL and security challenges
In graph we trust: Microservices, GraphQL and security challenges
Mohammed A. Imran
 

What's hot (20)

Contributing to Open Source #Hacktoberfest
Contributing to Open Source #HacktoberfestContributing to Open Source #Hacktoberfest
Contributing to Open Source #Hacktoberfest
 
Git and the inQbation Experience
Git and the inQbation ExperienceGit and the inQbation Experience
Git and the inQbation Experience
 
In graph we trust: Microservices, GraphQL and security challenges
In graph we trust: Microservices, GraphQL and security challengesIn graph we trust: Microservices, GraphQL and security challenges
In graph we trust: Microservices, GraphQL and security challenges
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
 
WordPress Under Control
WordPress Under ControlWordPress Under Control
WordPress Under Control
 
Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020
 
How to Contribute to Pinax
How to Contribute to PinaxHow to Contribute to Pinax
How to Contribute to Pinax
 
How to contribute to open source
How to contribute to open sourceHow to contribute to open source
How to contribute to open source
 
Open Source and the Girl Geek (English)
Open Source and the Girl Geek (English)Open Source and the Girl Geek (English)
Open Source and the Girl Geek (English)
 
Mastering Android Development Tools
Mastering Android Development ToolsMastering Android Development Tools
Mastering Android Development Tools
 
APIs in production - we built it, can we fix it?
APIs in production - we built it, can we fix it?APIs in production - we built it, can we fix it?
APIs in production - we built it, can we fix it?
 
Github security bug bounty hunting
Github security   bug bounty huntingGithub security   bug bounty hunting
Github security bug bounty hunting
 
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021Get Hip with JHipster - Colorado Springs Open Source User Group 2021
Get Hip with JHipster - Colorado Springs Open Source User Group 2021
 
LA Python #1: Intro, Events, Advocacy
LA Python #1: Intro, Events, AdvocacyLA Python #1: Intro, Events, Advocacy
LA Python #1: Intro, Events, Advocacy
 
Hacktoberfest slides
Hacktoberfest slidesHacktoberfest slides
Hacktoberfest slides
 
How to contribute back to Open Source
How to contribute back to Open SourceHow to contribute back to Open Source
How to contribute back to Open Source
 
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN projectSFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
SFScon19 - Paolo Boldi - Software Ecosystems as Networks the FASTEN project
 
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsDevoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery Analytics
 
Guide to open source
Guide to open source Guide to open source
Guide to open source
 
Hactoberfest presentation
Hactoberfest presentationHactoberfest presentation
Hactoberfest presentation
 

Viewers also liked (6)

Toronto visitor-guide-2015
Toronto visitor-guide-2015Toronto visitor-guide-2015
Toronto visitor-guide-2015
 
Festival of light powerpoint presentation for grow your horizons group 14 oct...
Festival of light powerpoint presentation for grow your horizons group 14 oct...Festival of light powerpoint presentation for grow your horizons group 14 oct...
Festival of light powerpoint presentation for grow your horizons group 14 oct...
 
Networking event Nov. 25 2015 - Presentation
Networking event Nov. 25  2015 - PresentationNetworking event Nov. 25  2015 - Presentation
Networking event Nov. 25 2015 - Presentation
 
canadian festivals
canadian festivalscanadian festivals
canadian festivals
 
Colorism powerpoint [autosaved]
Colorism powerpoint [autosaved]Colorism powerpoint [autosaved]
Colorism powerpoint [autosaved]
 
Ethnic Marketing in Canada
Ethnic Marketing in CanadaEthnic Marketing in Canada
Ethnic Marketing in Canada
 

Similar to Open Source Craft at Twitter

Micheal Monty Widenius - Free Open Source Software Entrepreneurship
Micheal Monty Widenius -  Free Open Source Software EntrepreneurshipMicheal Monty Widenius -  Free Open Source Software Entrepreneurship
Micheal Monty Widenius - Free Open Source Software Entrepreneurship
South Tyrol Free Software Conference
 
Open source software for startups
Open source software for startupsOpen source software for startups
Open source software for startups
victorneo
 
Ethical Consideration of Open Source Software
Ethical Consideration of Open Source SoftwareEthical Consideration of Open Source Software
Ethical Consideration of Open Source Software
Larry Jennings
 
InnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyInnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your company
Eric Caron
 

Similar to Open Source Craft at Twitter (20)

Succeeding with FOSS!
Succeeding with FOSS!Succeeding with FOSS!
Succeeding with FOSS!
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product Management
 
Introduction To Open Source
Introduction To Open SourceIntroduction To Open Source
Introduction To Open Source
 
Open source and then some: An Introduction
Open source and then some: An IntroductionOpen source and then some: An Introduction
Open source and then some: An Introduction
 
Micheal Monty Widenius - Free Open Source Software Entrepreneurship
Micheal Monty Widenius -  Free Open Source Software EntrepreneurshipMicheal Monty Widenius -  Free Open Source Software Entrepreneurship
Micheal Monty Widenius - Free Open Source Software Entrepreneurship
 
Let's talk FOSS!
Let's talk FOSS!Let's talk FOSS!
Let's talk FOSS!
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
 
Open source software for startups
Open source software for startupsOpen source software for startups
Open source software for startups
 
AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)AWS re:Invent 2016: Open-Source Resources (DCS201)
AWS re:Invent 2016: Open-Source Resources (DCS201)
 
Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020
 
Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020Open source contribution policies, OW2online, June 2020
Open source contribution policies, OW2online, June 2020
 
Beyond the Hack
Beyond the HackBeyond the Hack
Beyond the Hack
 
'Open source contribution policies that don’t suck!'
'Open source contribution policies that don’t suck!''Open source contribution policies that don’t suck!'
'Open source contribution policies that don’t suck!'
 
Ethical Consideration of Open Source Software
Ethical Consideration of Open Source SoftwareEthical Consideration of Open Source Software
Ethical Consideration of Open Source Software
 
InnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your companyInnerSource - Using open source best practices to help your company
InnerSource - Using open source best practices to help your company
 
Repertoire of contributions hacktoberfest
Repertoire of contributions hacktoberfestRepertoire of contributions hacktoberfest
Repertoire of contributions hacktoberfest
 
Open Source Contribution Policies That Don't Suck
Open Source Contribution Policies That Don't SuckOpen Source Contribution Policies That Don't Suck
Open Source Contribution Policies That Don't Suck
 
OSMC 2021 | Contributing to open source with the example of icinga (1)
OSMC 2021 | Contributing to open source with the example of icinga (1)OSMC 2021 | Contributing to open source with the example of icinga (1)
OSMC 2021 | Contributing to open source with the example of icinga (1)
 
Open source
Open sourceOpen source
Open source
 
IDCEE 2013: How to do a successful company around open source - Michael Widen...
IDCEE 2013: How to do a successful company around open source - Michael Widen...IDCEE 2013: How to do a successful company around open source - Michael Widen...
IDCEE 2013: How to do a successful company around open source - Michael Widen...
 

More from Chris Aniszczyk

Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and HudsonEffective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Chris Aniszczyk
 

More from Chris Aniszczyk (20)

Bringing an open source project to the Linux Foundation
Bringing an open source project to the Linux FoundationBringing an open source project to the Linux Foundation
Bringing an open source project to the Linux Foundation
 
Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)Starting an Open Source Program Office (OSPO)
Starting an Open Source Program Office (OSPO)
 
Open Container Initiative Update
Open Container Initiative UpdateOpen Container Initiative Update
Open Container Initiative Update
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
 
Rise of Open Source Programs
Rise of Open Source ProgramsRise of Open Source Programs
Rise of Open Source Programs
 
Getting Students Involved in Open Source
Getting Students Involved in Open SourceGetting Students Involved in Open Source
Getting Students Involved in Open Source
 
Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)Apache Mesos at Twitter (Texas LinuxFest 2014)
Apache Mesos at Twitter (Texas LinuxFest 2014)
 
Evolution of The Twitter Stack
Evolution of The Twitter StackEvolution of The Twitter Stack
Evolution of The Twitter Stack
 
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and HudsonEffective Development With Eclipse Mylyn, Git, Gerrit and Hudson
Effective Development With Eclipse Mylyn, Git, Gerrit and Hudson
 
Effective Git with Eclipse
Effective Git with EclipseEffective Git with Eclipse
Effective Git with Eclipse
 
Evolution of Version Control In Open Source
Evolution of Version Control In Open SourceEvolution of Version Control In Open Source
Evolution of Version Control In Open Source
 
ESE 2010: Using Git in Eclipse
ESE 2010: Using Git in EclipseESE 2010: Using Git in Eclipse
ESE 2010: Using Git in Eclipse
 
SWTBot Tutorial
SWTBot TutorialSWTBot Tutorial
SWTBot Tutorial
 
Helios in Action: Git at Eclipse
Helios in Action: Git at EclipseHelios in Action: Git at Eclipse
Helios in Action: Git at Eclipse
 
Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)Introduction to EclipseRT (JAX 2010)
Introduction to EclipseRT (JAX 2010)
 
EclipseRT, Equinox and OSGi
EclipseRT, Equinox and OSGiEclipseRT, Equinox and OSGi
EclipseRT, Equinox and OSGi
 
Open Source From The Trenches: How to Get Involved with Open Source and be Su...
Open Source From The Trenches: How to Get Involved with Open Source and be Su...Open Source From The Trenches: How to Get Involved with Open Source and be Su...
Open Source From The Trenches: How to Get Involved with Open Source and be Su...
 
Understanding and Using Git at Eclipse
Understanding and Using Git at EclipseUnderstanding and Using Git at Eclipse
Understanding and Using Git at Eclipse
 
OSGi Best and Worst Practices
OSGi Best and Worst PracticesOSGi Best and Worst Practices
OSGi Best and Worst Practices
 
Crowdsourcing and Singlesourcing Documentation
Crowdsourcing and Singlesourcing DocumentationCrowdsourcing and Singlesourcing Documentation
Crowdsourcing and Singlesourcing Documentation
 

Recently uploaded

Recently uploaded (20)

Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 

Open Source Craft at Twitter

  • 1. Open Source Craft at Twitter Chris Aniszczyk (@cra) http://aniszczyk.org #monkigras
  • 3. 2006: A simple idea...
  • 6. 2010+: Shit, build a company!
  • 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
  • 9. Engineers run the asylum...
  • 12. No Ownership = Problems Start with ownership. Created an Open Source Office in 2011
  • 13. Open Source Craft and Culture How we roll...
  • 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)
  • 16. Twitter Runs on Open Source
  • 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.
  • 18. Secret Sauce, what is it? What’s yours?
  • 19. If you know your secret sauce...
  • 20.
  • 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
  • 35. Scaling Scaling an open source program
  • 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