A presentation at LINUXtips #FiqueEmCasaConf by Sasha Czarkowski (Rosenbaum)
~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/
10 years ago, Microsoft considered open source “a cancer”. Today, the world has changed. Open source is now an integral part of every software application, GitHub has become the largest developer community on the planet, and Microsoft is one of the largest contributors to open source.
It doesn’t matter if you are a hobbyist, a start-up, or a bank, if you are flying rockets to the planets or even taking pictures of a black hole, open source is now vital to how you build software. Sasha will share the highlights from Microsoft’s historical pivot to open source, explain how even the unlikeliest companies can learn to successfully contribute to open source, and how you can apply the mindset of openness and collaboration “within your firewall” to empower your organization to achieve more.