~7 years in dev… ~3 years in ops… ~5 years in cloud architecture / product management Microsoft => GitHub @DivineOps

“most of you steal your software. As the majority of hobbyists must be aware, ” Bill Gates, “An Open Letter to Hobbyists” February 3, 1976

“There is this thing called the GPL, which .“ we disagree with - Bill Gates

“Linux is a Cancer.” - Steve Ballmer

2019

Microsoft Open Source 2017 2016 .NET Core 1.0 PowerShell Core Windows Subsystem for Linux in Windows 10 Microsoft joins Linux Foundation GitHub recognizes Microsoft as a top open source contributor 2014 Microsoft Azure Kubernetes Service launched Draft, Brigade, Kashti projects submitted to Kubernetes community Microsoft joins Cloud Native Computing & Cloud Foundry Foundations SQL 2017 on Linux Windows source code moved to Git 2019

Microsoft’s Open Source Journey 7 Steps to becoming an Open Source Enterprise

Step One: Consume Responsibly

Do you use open source?

99% 90% of organizations make extensive use of open source of new application development leverages open source software. Source: Forrester Wave Software Composition Analysis 2017 New Application Code

The Open Source Challenge Using open source allows you to focus on your app but introduces new challenges, including security and compliance risks.

Vulnerability Dependency Insights and automated security fixes with Dependabot Always on security analysis with GitHub advanced security scanning both open source repositories and enterprise code Integrated into the National Vulnerability Database, MITRE, and WhiteSource for up-to-date security information

Don’t be a jerk Open source maintainers don’t owe you anything

GitHub Sponsors Directly help fund the success of the projects in your supply chain

Step One: Consume Responsibly

Step Two: Understand the Business Need to Contribute

TFVC – Team Foundation Version Control Software developers have used centralized version control systems since 1970s Image Source: Michael Ernst, https://homes.cs.washington.edu/~mernst/advice/version-control.html

Ability to execute Microsoft Completeness of vision

Distributed version control systems (DVCS) In 2011-2012, distributed version control started gaining traction, with Git and Mercurial at the lead. Image Source: Michael Ernst, https://homes.cs.washington.edu/~mernst/advice/version-control.html

Microsoft Options (2012): • Ignore Git & Mercurial • Create our own DVCS • Back Mercurial • Back Git

“This is one of the innovator’s dilemmas: Blindly following the maxim that good managers should keep close to their customers can sometimes be a fatal mistake.” - Clayton Christensen

Git at Microsoft

COMMUNITY ACCEPTED PULL REQUESTS 2000 1800 1600 1400 1200 1000 800 600 400 200 De c14 Fe b15 Ap r15 Ju n15 Au g15 O ct -1 5 De c15 Fe b16 Ap r16 Ju n16 Au g16 O ct -1 6 De c16 Fe b17 Ap r17 Ju n17 Au g17 O ct -1 7 De c17 Fe b18 0 20,000+ Community Contributions from 3700+ Companies outside Microsoft

Don’t Fork A fork is just an integration credit card

Business reasons to Open Source software

Visual Studio Code Code editing. Redefined. Free. Built on open source. Runs everywhere. Over 19k Contributors

Dubious OSS “Business Goals” Rarely good / sustainable reasons to open source a project or sacrifice IP - on their own • Public Relations • Recruitment • Maintenance

The Contribution Funnel • Use / Download / Ship • Fork / Follow / Favorite Use Contribute Time • Log bugs (with repo steps) • Fix / add documentation • Translations Contribute Code • Contribute bug fixes and tests • Introduce new features Own • Influence the direction of the project • Review code and welcome new contributors

Open source communities value code over everything else

Step Two: Understand the Business Need to Contribute

Step Three: Convince your Stakeholders

Convince your Stakeholders Co-workers

Convince your Stakeholders Co-workers Management Lawyers

Convince your Stakeholders Co-workers Management Lawyers Senior Leadership

Convince your Stakeholders Co-workers Management Lawyers Senior Leadership Customers

Step Three: Convince your Stakeholders

Step Four: Keep it Legal

Keep it Legal Understand the different types of Open Source licenses ◦ Different licenses have different responsibilities ◦ Ignorance is no excuse for non-compliance Educate your legal team… and let them educate you Automate your compliance scanning Don’t be afraid of Open Source ◦ Open Source contributors want you to use their software!

Step Four: Keep it Legal

Step Five: Be the Community

Open Source is not a Zero-Sum Game

.NET – One small step for a software company Source Open + Limited Contributions Open Design Notes Adopt Community Workflow (“true open source”) Improve Documentation Source Open Shared Ownership

Have fun!

“People are initially attracted to communities for the tangible value, but the intangible value keeps them coming back for more” - Jono Bacon

Step Five: Be the Community

Step Six: Have Success

.NET in 2015

.NET in 2017

.NET in 2019

Version Control in use GIT SUBVERSION TFVC 87.2 16.1 10.9 ZIP FILES 7.9 FILE SHARES 7.9 NONE 4.8 MERCURIAL 3.6 https://insights.stackoverflow.com/survey/2018

https://www.cncf.io/blog/2017/06/05/30-highest-velocity-open-source-projects/

Step Six: Have Success

Step Seven: Inner Source

Before Inner Source

The trouble with incentives is that they work -Leonard Sherman

High-performing teams thrive when the culture enables inner sourcing - the sharing of knowledge, skills and code inside the organization.

Inner source & open source in other companies 90% reduction in merge times Rewrote Nationwide Financial 6months ahead of schedule and 40% below budget GitHub enabled transparency Faster, cheaper & better We want you to consume OS because it’s better, but we want you to contribute to the community 4x increase in performance Greater collaboration Code reuse was greater than 90%. Collaboration increased 20-fold. 30% increase in productivity Giving employees greater tools to affect positive culture change IBM teams using GitHub Enterprise to provide internal documentation - for engineering design, operations and support activities - have experienced 80% fewer escalation calls from first-line.

Open Source in Your Company Step One: Consume Responsibly Step Two: Understand the Business Need to Contribute Step Three: Convince the Stakeholders Step Four: Keep it Legal Step Five: Be the Community Step Six: Have Success! Step Seven: Inner Source

Thank You! @DivineOps https://speaking.sasharosenbaum.com/