>> I'm Baruch.
>> I'm Aaron.
>> This is The Open Source Show.
[MUSIC]
>> I'm Aaron, I'm a Cloud Advocate at Microsoft.
>> I am Baruch, I'm Head of Developer Relations with JFrog.
>> So today, we're going to talk about DevOps in open source.
>> That's a complicated topic.
When we talk about DevOps,
we talk about three main concepts
or the intersection between them actually,
people, process and tools.
All of them are complicated in Open-Source.
People with different backgrounds,
from different places with different mentality.
How can you make them play as
a team because that's what's required for doing DevOps.
>> Somehow they come together and we make good progress.
I think it's hard to make that happen,
it takes work but then once they do
all those different perspectives come together and really
build something valuable and powerful.
It's hard to get those processes
together to work well and productively.
>> People are passionate about tools,
people are passionate about the way they do things.
So they will be very opinionated about what you use.
I don't like this CI server, I prefer another one.
Well, I don't want our code in this version control,
I want the other one.
How can you get a consensus and
actually get efficient decisions fast enough to move forward?
>> I mean it goes even down to code formatting and styles.
>> Tabs versus spaces.
>> That's totally fine because
they're coming in and they're dedicating time,
maybe it'll be after work or maybe it would be on
a weekend and they're so passionate about the project,
that they're going to do and they're going to go put that time.
But as a leader of an open source project,
sometimes you have to just make
a decision and other times you have to
have the feel for when to put it to a vote
or get different perspectives from folks.
Sometimes they'll leave, you can't avoid that,
but other times they'll want to get
more involved so that next time they can be
a more integral part of that decision or maybe they'll be
more motivated even to become the next level up,
maybe become a maintainer or
a core maintainer or something
along those lines. In the Athens world.
if me or another core maintainer had control
over some tool or some process and then left,
and then if they left,
Athens would just stop.
They will be unable to make progress.
>> Tools is one thing but also knowledge.
>> Both of us were talking about
this geographic distribution and
that also implies time zone distribution.
There's not going to be like
this tribal knowledge or just word of mouth,
it's going to be people on the Internet and
they're going to require documentation,
literally words written down in public in the open.
So that if that does happen,
if that person who knew a lot of things
left then someone else could come in and say,
"I need to read about how to pick
up that slack and do this thing. "
>> So we start with people that are passionate and
the process has to be there in
order to make all those people collaborate successfully.
This Bus Factor or the lack of it also implies tool selection.
>> It's a topic that sometimes you can make
no progress on choosing the right tool for the project.
>> What are the key factors
of selecting the tools that will support
the open source project in a way
that whatever happens won't,
the effectiveness of your software delivery process?
>> There are bunch of open source tools that you can
download and install on your computer and then run with it
What's wrong with that?
>> The problem with that is going back to the Bus Factor is,
if one person knows how to use the tool
or has it installed properly on the machine.
You really have to document how everyone else should do that.
>> It's their machine, they walk away that's the problem.
>> Exactly.
>> That means cloud?
>> cloud, all the way, absolutely.
There are quite a few cloud tools that either are free or
give you very generous or free plans for open source.
I think that it's really important that
as a community leader you seek out
those tools and a lot of times you make it non
negotiable to use any tools that do cost money,
because as an open source project,
you want to avoid, again,
you want to avoid that one person paying,
but you also want to build on open source and
provide the project to committers and contributors.
There are a lot of projects out there that will give
away the service whether it's CICD,
or code linting, or analysis, or whatever else.
>> Know that Microsoft gives a lot of
stuff for free for open source communities?
>> We've got Azure DevOps,
we've got Azure Pipelines and Microsoft's
not the only one for open source communities.
>> We sponsor both development
Artifactory for open source projects,
distribution through Bintray
free for open source projects.
That means actually that we can build
the entire pipeline right from the development,
from the writing of the code,
all the way to distributing our software for free in the cloud.
>> Then there are also, of course,
a lot of tools that are language specific for, let's say,
hosting dependencies or getting
dependencies down that are also open source,
getting them into your project and there's
a whole list of other things that are language specific.
So that's things like debuggers and
linters and the list goes on and on.
Really it's incumbent on
the open source community leader for
that project to seek those tools out,
and in a lot of cases introduce the contributors to
those tools and get them involved
with using those tools in the project as well.
We can automate almost all of this process from
just a developer writing code to making sure it's high-quality,
running the tests, deploying it everything along the way,
and as long as those tools are free,
there's no more Bus Factor.
>> Because whoever had this knowledge on how to release,
now actually coded it.
So I think that'll be a good example to have on our show notes,
to have a tool-chain of those free tools,
for example, that you used in Project Athens.
>> Yeah, and plenty of
other tools that are used in other projects as well.
>> Check out all those things in the show notes.
Please check out opensource.Microsoft.com.
If you like what you see and give it a thumbs
up and definitely do subscribe.
>> Thank you.