(upbeat electronic music)
- Hi, I'm John Gossman
and I'm a distinguished engineer in the Azure team.
I focus mostly on open source in the cloud,
and I'm here today to talk to you
about open source at Microsoft.
With me is Stormy Peters
from the open source program office.
Stormy, do you want to introduce yourself?
- Yeah, thanks John.
I'm Stormy Peters
and I run Microsoft's open source programs office,
and I'm very much looking forward to sharing with you
what we've learned at Microsoft working with open source.
- So we're going to start out with talking about
a real obvious question which is,
why Microsoft and open source?
If you've been in a time warp for 20 years,
you may be really surprised to find out
that Microsoft's doing a lot with open source
because 20 years ago was very famously kind of
an opponent of open source.
Our former CEO said a lot of bad things
about Linux and open source.
But things have changed enormously in the world
and at Microsoft in that time.
And ultimately it comes down to a few simple things,
20 years ago, there was a lot of misperception,
certainly at Microsoft, but elsewhere in the industry
about how the economics of open source work.
There was this perception that
open source companies couldn't succeed,
that it was something only for non-commercial projects.
And obviously starting with Red Hat
and a long list of other companies
have been extremely successful
even with pure open source projects,
as well as doing services and support
and projects that incorporate open-source.
So, that was one of the biggest things that changed
is just the recognition across the industry
and at Microsoft of the economic value of open source.
But I think there's something deeper than that
and you have to go back all the way even further
to Microsoft when it was created
by a couple of developers,
Bill Gates and Paul Allen,
developing a developer product basic for other developers.
So, Microsoft is at some point a company
by of, and for developers.
And one of the things that we know
is that developers love open source,
including Microsoft developers.
So, while there's this need inside Microsoft
to be involved in the mainstream of development
and an interest in that,
there's also another factor,
which is that many of our customers are using open source.
Almost all of our customers really are using open source.
And so to meet our goal
of meeting the customers where they are,
we also need to meet developers where they are.
With that in mind, Microsoft's open source strategy
really kind of involves four major things
that we're going to talk about.
First of all, is supporting customers
who want to use open source solutions.
If you want to use Linux or some other open source solution
with Microsoft,
we want to make sure that that's a great experience.
Secondly, we want ourselves
to be able to use best of breed open source software,
like Linux or Spark or Python,
all of these things Microsoft people use every day
in their work
and we want to be able to
use that software without concerns.
And then we also want to be able to use
the power of open source
to reach developers and customers
with Microsoft-led open source projects.
And then finally, this is an ecosystem
and it's important if you're going to be
involved in the ecosystem
to contribute and support all those open source projects.
So I love this quote from Satya's book.
It really illustrates some of the stuff
I was talking about on the slide earlier.
And he's talking about a meeting that he
and Scott Guthrie, who runs our Cloud business,
had probably eight, nine, ten years ago,
and they met with a customer
and this customer was a big Linux user.
And they realized that Azure was only fixed to seed Linux.
And they said, you know,
"we made that decision
by the time we got to the parking lot."
But here's the really profound part.
He said, "This may sound like a purely technical challenge,
a technical dilemma,
but it also posed a profound cultural challenge."
And what it was saying there is this,
we did it half-heartedly if we still mostly focused
on proprietary source and Windows,
we were never going to do a great job at this
and we were just never going to succeed
with the Azure Cloud business.
So, there's a case where the, you know, the CEO,
the top management was actually saying that
open source was a critical initiative at Microsoft.
And if you combine that with the developers at Microsoft,
the employees at Microsoft at the bottom,
if you take that top down and bottom up interest
in open source,
then the culture can actually change pretty quickly.
So, let me just give you a few illustrations of this.
I apologize, this slide is a bit of an eye chart
and it actually could be much larger than this
because this is only a fraction of the open source work
that we're involved in.
But it illustrates three parts to our approach.
The first one is this Enable.
We have to enable open source software
to work with Microsoft products and services and platforms
in order to support our customers.
Secondly, we want to release pieces of open source,
pieces of software that we've developed in open source
so that we can take advantage of other people's knowledge
and contributions and share that code more easily
with customers and partners.
And then finally, we want to contribute and partner
to the various open source initiatives
and companies in the world.
So, I pulled out a couple of examples here.
We've already talked about Linux, enabling Linux,
why that was important.
Under release, I'm going to talk about TypeScript.
If you're not familiar with TypeScript,
it's a type safe language that transpiles to JavaScript.
And it's being widely used, it's rapidly
becoming one of the most widely used languages in the world.
It was developed by Anders Hejlsberg,
who some of you may know as the developer
of C# language, and before that Delphi,
and if you're as old as I am,
you may remember Turbo Pascal.
So Anders is one of the most experienced
legendary language designers in the history of the industry.
And one of Microsoft's most valuable employees
and his new project TypeScript
is entirely open source. It's on GitHub.
Go look at the Repo, Anders is the number one contributor
and he checks in several times a day.
So, this is a thing where Anders loves open source
and there's talks you can find about how much, you know,
what his experience is.
And we have a Microsoft employee, as I say,
a developer who is engaged in open source
because that's the way that he thinks
he's project is going to be more successful,
both for, you know, for him and for the company
and for his customers.
Now, on the other side,
I want to call out the Azure Red Hat OpenShifts service
under the partner thing.
This is the thing where Red Hat has a Kubernetes
based pass platform called OpenShift.
And Microsoft and Red Hat have worked together
to build a service that runs on Azure
that allows you to run managed OpenShift.
And behind that we have joint support
so that when you call
and you have a problem that Red Hat and Microsoft engineers
work together to just support your problems with OpenShift.
So, this is an example of how we're partnering
and there's a long list of these other ones.
Databricks, we have a partnership with Spring,
we have partnerships with a large number of different
companies in this place.
Another place, what I want to highlight is
our contributions to the foundations
like the Linux Foundation.
Stormy I think is going to talk about a little bit more
about that later.
Then I called out one more example
out of this long list here,
because it kind of pulls it all together.
It talks about enablement, release and partnerships
and that's SONIC.
So SONIC stands for,
Software for Open Networking in the Cloud,
and it's a network operating system
it's based on Debian,
it uses docker containers
to manage various network functions.
It runs on switches,
it runs on basically all the switches in Microsoft Cloud.
So, it's incredibly mission critical,
all the network traffic in Microsoft Clouds
runs through these switches,
running a Debian Linux distribution.
So SONIC is an example where we've used the best in class
that the team decided that Linux and Docker
and other open source technologies
were the best thing that they could do
to run on these switches.
They open-sourced it to get it back into the ecosystem
in order so that other customers
and partners who had similar problems could use SONIC.
So, they're contributing back two things
and then finally, on the partnership things,
it turns out SONIC has got an ecosystem around it.
So, while it was designed for our usage
inside our data centers,
now Dell, Broadcom, Cisco
and other major networking providers
are actually building commercial products based on SONIC.
So, with that, I'm going to turn it over to Stormy
to talk about how we do open source.
- At Microsoft,
I run the Microsoft open source program office,
and we make sure that it's really easy
for teams to use open source software.
So, at Microsoft businesses all decide
how to incorporate open source software in their strategy.
So, like the developer tools team has VS code and TypeScript
and they're developing very much in the open
with their users and their customers.
Other teams
have some proprietary products
and some open source products.
For example, the office Windows team
has a proprietary product,
but also just open source pieces of it
like the fluid framework.
So, our job is, is to help make sure
they can do that super easily.
And one of the things that I like to think about
is Microsoft's mission is to enable individuals
and organizations to achieve more.
And I think the words through open source
fit really nicely behind that.
So, our team's mission is to enable individuals
and organizations to achieve more
through open source software.
And to give you an idea of the scale
or the scope of this problem,
at Microsoft we have over 5 million uses
of open-source software components.
So, this may be the same software
being used by several teams,
but we are tracking 5 million instances open source software
being used around the company.
And so we want to make sure that it's really easy
and that we have awesome tools to help make that happen.
So, one of the developer at Microsoft downloads open
software and checks it out and plays with it,
which they're totally welcome to do
and when they put it into their build in environment,
our build tools will automatically detect
that they're using open source software.
And at that point we will go try to find the license
and we actually created an open source software project
called ClearlyDefined
that many other organizations
and companies are working on with us.
We'll go out and make an API call
and find out what the license is,
and then depending on what the license is
and how the developers said they were going to use it,
we'll kick off an approval process.
So, for most cases like those of MIT license
and they were just going to use it internally
and they would just go ahead and use it
and there's no review needed in that case.
But if the license wasn't clear
or if it was a copyleft license
that we just wanted to double check
how they were using it,
we'd kick off a legal review or a business review
as appropriate
and the developer could still go on
with their regular work.
They could continue to develop and build
while those review processes are being kicked off.
Then we provide them with any tools that are needed,
so if they need a notice file based on the software
they're using,
we'll create that for them.
If they need to put their source code somewhere
to make it available, we have a place for that.
We have a release checklist,
so when they go to open source something
and they can make sure they've dotted all their I's
and crossed all their T's
so that they're ready to welcome community
and contributions.
And then we, we try to incentivize
good open source software behavior.
Our developers, as John said,
all want to be using open source and contributing to it
and so we just try to add some extra incentives
to help people do that.
So, for one, in our, in our regular reviews
that we do have employees
and we actually ask questions of things like
did they build on the work of others?
Did they help others?
So, things that are very, very similar to source software
and that open-source software fulfills.
We also have created programs
I put one example here of the FOSSFund.
So the FOSSFund is a program where
we earmarked some money, $120,000 for the year.
And then every month we give $10,000
to an open source software project.
But the really neat part is,
it's an open source software project
that was nominated by a Microsoft employee
who contributes to open source software
and it was voted on by Microsoft employees.
So, every month we donate to a project
that Microsoft employees say is important to them
and important to the company
and could use some funding.
And we also have lots of internal open source
community groups,
everything from executives who meet quarterly
to talk about open source software,
to open source champs that meet almost daily and chat,
but probably monthly in a video call
to talk about how open source software is going
and their groups to share best practices
and to answer any questions that
anybody might have
about how to use open source software
in their groups.
We also as a best practice have
an open source software policy, like many organizations,
and it's a company wide document
that we tried to really clearly describe
how people can use the open source software
so that they don't have to wait a week or two weeks
for an answer.
So, it covers like how to use open source software,
We're completely open in using it,
and how to contribute to it,
how to release open-source software.
It has answers to common questions like,
how would I grow a community?
Who should I talk to?
Where should I put it?
Who should be involved?
And you can see a lot of this on our public website.
So, if you go to opensource.microsoft.com
and you go under our programs
and we've summarized our policy there.
So, if you're looking to create a policy for your company,
that's a really good place to start.
There are also other examples out there,
but I encourage you to go there
and feel free to ask us questions if you have them.
And along the way, we've created a lot of tools,
I've described some of them kind of at the high level,
but I wanted to, to make you aware that
for a couple of projects that we have,
we have a project called ClearlyDefined
that I mentioned earlier.
I mean, ClearlyDefined is a, is a project that
right now it has like the Eclipse Foundation
is working on it,
Company Bloomberg is working on it,
the United Nations Foundation
and it's, it's an API that lets you ask what license
and open-source software package is under.
And that's really useful if you're a company
that's using a lot of open source
and needs to generate reports
or it needs to quickly check things.
So, you're welcome to, to use it,
you're welcome to show up on every other Monday,
we have a team meeting,
you're welcome to show up and ask questions or contribute.
It's ClearlyDefined.io, is the website.
And another project that we created,
our legal team actually started this as called OpenChain.
And OpenChain is really interesting
because we had customers that would come to us and say,
we know you're using open source software.
We know there's open source software
and the software that you're giving us
and we want to make sure that we're in compliance.
We want to make sure that we're doing the right thing
so we need to know that you're doing the right thing.
And they would say so,
can we see a list of all the software
and all the licenses?
Because I told you earlier,
we're using over 5 million instances.
So, we wanted to give them this information
in a way that was useful.
And we didn't want to give them, you know,
a whole stack of papers and say, you know, here they are.
So, we thought about it for a while
and we thought, you know,
automotive industry has the same problem.
Like they have processes and compliance
and safety procedures that they follow.
And everyone knows that when you buy a car,
all those parts follow a certain standard and,
and have met certain safety guidelines.
So, actually it started with our attorneys,
reached out to the Linux Foundation
and started a group called OpenChain.
And OpenChain is now an ISO standard
and so your organization can be OpenChain compliant.
And it means that you've defined
what the roles and responsibilities are in your company.
Maybe it's an hospital,
maybe it's attorneys,
you've defined that you have a policy
and that licenses are okay.
You said how you're going to remediate
anything that goes wrong
and you have a set of training certain people take.
And so now we can tell our customers
that we are OpenChain compliant
and they can know that
when they use open-source software from us,
that it's safe to use
and it's in compliance with the license.
So, that's what we do internally,
but it's also really important how we work externally,
especially with open source software.
And so I wanted to briefly touch on foundations
and so Microsoft is a member of, of many foundations.
This is just a subset of them
and the reason that we're members of--
for many reasons--
but some of the things I think are important
is that foundations are one way for us to give back
to the projects.
So, we give not just money to the foundation,
but actually give time and effort.
We always make sure that there's somebody
on the Microsoft side, who's engaged.
It's also a way for companies to collaborate.
It's a way for a project to clearly specify
what their governance model works like
and what it looks like,
and how they want to work together.
So, foundations are an important part of making sure that
the open source ecosystem is healthy
and we --
are a member of the ones that are important to us
to help support those projects.
John, is there anything you wanted to say on the slide
or to wrap up?
- No, that's great Stormy.
I'm really proud of all the memberships
and all of the things that we do in this space.
And it's a lot of fun to be here with today with you
and talking about this.
- Yeah and if any of you all have questions,
you can find us on Twitter where you can ask us questions.
And thanks for joining us today
and I hope wherever you are in your open source journey,
that you either were inspired by something
you saw on our presentation,
or it triggered another thought
that you had that you'll share with others.
- All right, Cheers.
(upbeat electronic music)