Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Creating an Open Source Office: Lessons from Tw...

Creating an Open Source Office: Lessons from Twitter

Given at OSCON 2015

Chris Aniszczyk

July 23, 2015
Tweet

More Decks by Chris Aniszczyk

Other Decks in Technology

Transcript

  1. #AGENDA •The Rise of Open Source [Offices] •Building an Open

    Source Office at Twitter
 •Projects and Lessons Learned
 •Concluding Thoughts
 •Q&A
  2. OPEN SOURCE IS EATING THE WORLD http://www4.mercedes-benz.com/manual-cars/ba/foss/content/en/assets/FOSS_licences.pdf iOS: General->About->Legal->Legal Notices

    “78% of companies are using open source software…” “63% of companies are participating in open source…” https://www.blackducksoftware.com/future-of-open-source http://www.teslamotors.com/blog/all-our-patent-are-belong-you
  3. COMPANIES FORMING OPEN SOURCE GROUPS •Google: https://developers.google.com/open-source/ ‣ “…tasked with

    maintaining a healthy relationship with the open source software development community" •Intel: https://01.org/ ‣ “…international team dedicated to working within open communities.” •Samsung: http://commit101.org/ ‣ “The Open Source Group was formed in 2013 to do the following: Help guide the company in effective consumption, collaboration, and development of open source software. Provide advocacy on behalf of Samsung in external open source communities. Develop consistent open source strategy and governance policies for the enterprise at large.” •Microsoft: https://microsoft.com/opensource ‣ “Microsoft’s commitment to openness and collaboration is ingrained… These collaborations have enabled new scenarios for customers and partners to take open source software and integrate it with a Microsoft platform.” ‣ http://todogroup.org/blog/why-we-run-an-open-source-program-microsoft/
  4. STARTUPS* EVEN FORMING OPEN SOURCE GROUPS! •Box: http://opensource.box.com/ ‣ http://todogroup.org/blog/creating-an-open-source-office-box/

    ‣ “we give back to the open source community whenever possible, by contributing code to outside projects and sharing projects that we've developed internally” •Dropbox: https://opensource.dropbox.com/ ‣ “Dropbox loves open source! We participate in the open source community by using open source software internally and open sourcing our own projects” •Facebook: https://code.facebook.com/opensource ‣ “…we’re keen users and publishers of open software. We'll keep you up-to-date with our new projects and releases…” •GitHub: ‣ http://todogroup.org/blog/why-we-run-an-open-source-program-github •Twitter: ‣ http://todogroup.org/blog/why-we-run-an-open-source-program-twitter/
  5. #AGENDA •The Rise of Open Source •Building an Open Source

    Office at Twitter
 •Projects and Lessons Learned
 •Concluding Thoughts
 •Q&A
  6. HackPrinceton - November 14-16, 2014 @TwitterAds | Confidential 300M+ 500M+

    80% Active users Tweets / Day of users are mobile users 2006 2015 ~4000 Employees
  7. SPEED AND MINIMUM VIABLE BUREAUCRACY •Make the open source process

    pleasurable, efficient and protect the company •Build community in critical projects •Training / culture are everything •We serve our engineers
  8. #AGENDA •The Rise of Open Source •Building an Open Source

    Office at Twitter
 •Projects and Lessons Learned
 •Concluding Thoughts
 •Q&A
  9. CHOOSE YOUR LICENSES DILIGENTLY •Needed to migrate Apache License v2.0

    to MIT License •Get your license right from the start or go more permissive https://github.com/twbs/bootstrap/issues/2054
  10. BLACK SWANS CAN HAPPEN •Hard to anticipate the success of

    a project… •Always ensure engineers have time to manage projects… https://github.com/search?l=&o=desc&q=stars%3A %3E1&ref=advsearch&s=stars&type=Repositories
  11. IF YOU LOVE IT SET IT FREE •What happens if

    project leads leave your company? •Ensure projects have owners or give it to the community :) https://blog.twitter.com/2013/bootstrap-30
  12. COLLABORATE WITH ACADEMIA •Apache Mesos was born out of Berkeley’s

    AMPLab http://goo.gl/lA6xco https://mesos.apache.org
  13. FOUNDATIONS CAN HELP •Open source foundations force good practices on

    you •Foundations can foster collaboration and accelerate growth https://blog.twitter.com/2012/incubating-apache-mesos
  14. FORKING HAPPENS; DON’T SURPRISE UPSTREAM •Try to avoid forking at

    all costs if you can, if you do fork please notify and work with upstream on why https://blog.twitter.com/2012/caching-with-twemcache
  15. COLLABORATE FROM THE START •Share your code with peers to

    gauge interest in collaborating before you open source it to everyone •Launching with collaborators can help momentum •Project Timeline ‣ Fall 2012: Twitter and Cloudera merge efforts on Parquet ‣ March 2013: open source announcement; Criteo joins ‣ July 2013: 1.0 release; 18 contributions from 5 organizations ‣ May 2014: enter Apache incubator; 40+ contributors ‣ May 2015: Parquet graduates; 60+ contributors https://blog.twitter.com/2015/graduating-apache-parquet
  16. #THANKYOU (ALWAYS GIVE THANKS) •Thank your first time contributors •Send

    swag or anything meaningfuly, it goes a long way! •We used to send handwritten #ThankYou cards
  17. DEVELOPER ADVOCATES ARE GOLD •Community doesn’t come for free! •You

    need devs that focus on the contributor experience •You need devs that focus on code samples •You need devs that focus on speaking at events •You need devs that focus on organizing events! http://www.slideshare.net/chanezon/introduction-to-google-developer-relations
  18. EMPLOYEES AS OPEN SOURCE CELEBRITIES •Having successful open source projects

    are a double edged swords… as employees get more popular… they may get more popular to competing employers and leave :( •As a benefit, employees tend to bring the projects they developed with them to new companies and bring diversity to the project :)
 •It’s on you to make your company amazing so people stay :) https://github.com/twitter/scalding/wiki/Powered-By
  19. CODE OF CONDUCTS ARE GOOD •Set expectations and make your

    community welcoming •Always better to be prepared (shit will happen) https://engineering.twitter.com/opensource/code-of-conduct http://todogroup.org/opencodeofconduct/ http://geekfeminism.wikia.com/wiki/Code_of_conduct_evaluations http://geekfeminism.wikia.com/wiki/Timeline_of_incidents
  20. INVOLVE OPEN SOURCE IN M&A CHATS •Don’t be scared to

    discuss open sourcing code as part of an acquisitions, good things can come out it! (e.g., TextSecure) https://whispersystems.org/ http://storm.apache.org/
  21. YOU WILL HAVE UGLY BABIES •People will call your project

    useless and so on •Take the criticism as a compliment that people care enough •Also use it as an advantage, people may point you to better technologies you weren’t aware of
  22. DIVERSITY IS THE SPICE OF LIFE •Diversity is good for

    the long term health of your projects: participate in Outreachy, GSoC, Facebook Open Academy … http://www.scientificamerican.com/article/how-diversity-makes-us-smarter/ http://en.wikipedia.org/wiki/Ecological_effects_of_biodiversity http://outreachy.org
  23. #AGENDA •The Rise of Open Source •Building an Open Source

    Office at Twitter
 •Projects and Lessons Learned
 •Concluding Thoughts
 •Q&A
  24. CONTRIBUTION BRINGS INFLUENCE •Know the critical open source projects you

    organization depends •Contributions are the currency of open source •Control your destiny via influence
  25. COMMUNITY DOESN’T COME FOR FREE •Don’t just throw something on

    Github and expect magical contributors from the world •Community is built one member at a time (preferrably with dev advocates)
  26. OPEN SOURCE OFFICE ALL THE THINGS •Make the lives of

    your engineers easier by convincing your companies to form open source groups or offices http://todogroup.org/