Survival of the most open: Microsoft’s Open Source Journey

A presentation at LINUXtips #FiqueEmCasaConf in April 2020 in by Sasha Rosenbaum

Slide 1

Slide 1

Slide 2

Slide 2

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

Slide 3

Slide 3

Slide 4

Slide 4

Slide 5

Slide 5

Slide 6

Slide 6

Slide 7

Slide 7

Slide 8

Slide 8

Slide 9

Slide 9

Slide 10

Slide 10

Slide 11

Slide 11

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

Slide 12

Slide 12

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

Slide 13

Slide 13

“Linux is a Cancer.” - Steve Ballmer

Slide 14

Slide 14

Slide 15

Slide 15

Slide 16

Slide 16

2019

Slide 17

Slide 17

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

Slide 18

Slide 18

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

Slide 19

Slide 19

Step One: Consume Responsibly

Slide 20

Slide 20

Do you use open source?

Slide 21

Slide 21

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

Slide 22

Slide 22

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

Slide 23

Slide 23

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

Slide 24

Slide 24

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

Slide 25

Slide 25

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

Slide 26

Slide 26

Step One: Consume Responsibly

Slide 27

Slide 27

Step Two: Understand the Business Need to Contribute

Slide 28

Slide 28

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

Slide 29

Slide 29

Ability to execute Microsoft Completeness of vision

Slide 30

Slide 30

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

Slide 31

Slide 31

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

Slide 32

Slide 32

“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

Slide 33

Slide 33

Git at Microsoft

Slide 34

Slide 34

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

Slide 35

Slide 35

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

Slide 36

Slide 36

Business reasons to Open Source software

Slide 37

Slide 37

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

Slide 38

Slide 38

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

Slide 39

Slide 39

Slide 40

Slide 40

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

Slide 41

Slide 41

Open source communities value code over everything else

Slide 42

Slide 42

Step Two: Understand the Business Need to Contribute

Slide 43

Slide 43

Step Three: Convince your Stakeholders

Slide 44

Slide 44

Convince your Stakeholders Co-workers

Slide 45

Slide 45

Slide 46

Slide 46

Convince your Stakeholders Co-workers Management Lawyers

Slide 47

Slide 47

Slide 48

Slide 48

Convince your Stakeholders Co-workers Management Lawyers Senior Leadership

Slide 49

Slide 49

Slide 50

Slide 50

Convince your Stakeholders Co-workers Management Lawyers Senior Leadership Customers

Slide 51

Slide 51

Step Three: Convince your Stakeholders

Slide 52

Slide 52

Step Four: Keep it Legal

Slide 53

Slide 53

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!

Slide 54

Slide 54

Step Four: Keep it Legal

Slide 55

Slide 55

Step Five: Be the Community

Slide 56

Slide 56

Slide 57

Slide 57

Open Source is not a Zero-Sum Game

Slide 58

Slide 58

.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

Slide 59

Slide 59

Have fun!

Slide 60

Slide 60

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

Slide 61

Slide 61

Step Five: Be the Community

Slide 62

Slide 62

Step Six: Have Success

Slide 63

Slide 63

Slide 64

Slide 64

Slide 65

Slide 65

.NET in 2015

Slide 66

Slide 66

.NET in 2017

Slide 67

Slide 67

.NET in 2019

Slide 68

Slide 68

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

Slide 69

Slide 69

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

Slide 70

Slide 70

Slide 71

Slide 71

Step Six: Have Success

Slide 72

Slide 72

Step Seven: Inner Source

Slide 73

Slide 73

Before Inner Source

Slide 74

Slide 74

Slide 75

Slide 75

The trouble with incentives is that they work -Leonard Sherman

Slide 76

Slide 76

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

Slide 77

Slide 77

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.

Slide 78

Slide 78

Slide 79

Slide 79

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

Slide 80

Slide 80

Slide 81

Slide 81

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