Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hello everyone, this is Trista. I'm the Sophie X co founder
and the CTO. So actually I really experienced
the precise from the open source part to the
open source commercial part. And then now
we have our open source commercial company,
Sophie Ex. But today I will just focus on
how to foster or develop your community,
especially the tech open source community. Make it
become active or healthy.
So maybe one day that you found you really
like your community and your community become broader and
active and also maybe for the next step for
your commercial company or monetization.
Right? So that's the background of myself.
Like I said, I'm the Sophia has co founder and CTO.
Actually I started my commercial journey
from the developer. Because I'm a developer, I really
put my lot of time in the tech area and
open source areas, especially about the approaches
software foundation there. Actually I
joined there and learn what's the open source and
how CTO make your open source become so active
and to know the rules of the rani
or open source community. Therefore Apache,
Shirley and Sophia become the top leopard jet of Approaches
foundation. And also I become the
incubator approaches incubator mentor to
provide more help to other open source
tech community. All right, so actually if
you interested in me or my post or articles, you can
give a look on my twitter or linking and see you
there, right? So today, that's the
structure of today's talk. First we need to give the definition
what's the health and active open source tech
community? And then we have the definition,
we want to make our community become that.
Then we need to take some actions, right? Then we
need to have some the actions, the steps to reach that
goal. Therefore, you can see were we will talk
each of the atoms how to reach the death goal,
how to make your community become that liable,
right? So how do you understand what's the open source tech
community? Actually, when people give the evaluation,
different people from different perspectives have
different idea about it. In general,
if we want to evaluate open source
community, we have the following metrics.
First, about the project or coding quality.
Second, it's license and copyright.
And also about a document about the articles.
And also does this project provide a
platform for people to talk about it or give the feedback
or reason? My issue. And then that part is
so important about the people because you need
to know that it's not the one person single
person project, it's the community,
right? So if the community, that means there are so many
people there, maybe they're user, they're evangelist,
they're contributor or committer. So how to
invite more people to stay here to contributors to this community.
So that's more important. The key point then
if we want to make each of the mattress looks nice
or decent women, you take some actions, the actions
I give all of them here, this mind
map. And later on I will use this mind
map to introduce each of them. So let's
get started. Okay, so today
I will take our project as an example,
because this project actually at the beginning have
zero star on GitHub. But now you can see here
if we want to use our metrics to evaluate
this project is healthy or not, is active or not.
We can use all of the metrics here.
For example, what's up about having Sophia here on
his homepage you can see sharding Sophia is
the ecosystem to help to transfer your
monolithic database. For example MySQL or postgresql
to become a having architecture, right? And also
can provide, make it become the distributed
database and enhance this system with a lot of
user features, for example data automatically
encryption or decryption and SQL audits or
auto scaling on the Kubernetes, right?
And so you can see here women of the metrics on the GitHub
and it's already received, that's more than 17,000
stars and have a lot of forks. That means
people want to host it and
create their features based on this
ripo. And also it's already released
for more than 15 times. It's so big and
it's mature because there are so many release.
And also it have a lot of GitHub
actions to guarantee the coding
quality and the feature quality, the stateability.
Plus you can see here it used the Apache license that
is in the commercial friendly and forward and users or
for other companies to consider it have the more
than 400
people contributors towards here. So we
use the previous matches to evaluate
as example. And now if
you want CTO, make your open source tech community become that
or better than that. What should we do?
Okay, oh, forget about that.
Apart from the Matrix on GitHub, you can see here
many people or many foundations are talking
about this project. You can see here a lot of
conference people talk about it, Infoq or VC
or the CNCF foundation,
right? So I will introduce them specific
steps or actions or strategies to make your community
become that or better than that. First you
need to consider, you need to consider the key values
of your project. And that's the
first important questions for you. Because you
know that why people want to give attention to this community.
CTO this project because they want CTO use it. They found it
interesting. It's in the channeling, right?
So if you, your community or your
project can really help people to solve their issues,
and can really help most of the people to solve
the most of their production issues, that means
people want to use it. It's useful for people.
So that creates the potential for your community
to become larger and larger. And if this
community can really help people or help the
mature people to solve their issue, that means you have the
more potential to become the larger than
others. Because for example here I gave this
example diagrams, right? Most of the people will
use it to draw their flowchart, right?
Because most of the people they
needed to draw the flowchart or
mind map of the stuff. So that means this project
can really help maturity planted people to
solve their real issues. So you can see were
many people connected or started because they
think it's useful. And also another
part, you need to consider that about training, because you
know that a lot of the Apache Java
project, for example Flink or PoSA,
or for having Sophia or the
other famous projects are considered
how to move their infrastructure or their project
into the cloud or into the Kubernetes.
Because Kubernetes cloud is the future of the
tech, right? So even though all of the
wonderful projects were born in maybe five
years or six years, but now in this point
they needed to adopt the trending about the
new infrastructure, make their project become modern
at this point, right? So that means you needed
to consider the future features of your project,
make it evolved along with the time
with the people's needs. I can give another
example here actually approaches
software foundation. They have a category called Attic.
That means if your projects have no people,
interesting, no people want to maintain it, then your
project will be moved to the attic. That means frozen
for some times. So all of the key
values you need to consider and if you really help
people to solve it, that means you have the chance to do
the monetization. For example, Sharon Sophia
it's very active and helpful for projects
for people, especially in the database
cloud databases area. So we have the chance to
create our companies via ex.
So another part lets us consider about the asset
of your project. Because if you want to start from small,
that means you need to create a lot of asset for
this project to help your community or a project
run housely, right? And then attract
more people to join here. The first part is about the infrastructure,
the kernel part, because you need to consider how
to host your code base, how to do the CSCD,
how to do the test and how to pick up the license
copyright and how to create the platforms for
people to talk about it. And people can give your feedback
and gather help, right? So that's infrastructure
for your open source community. Actually GitHub,
it's not a pitch, it's a really good platform
for me to recommend for you because you know that
all of the issues, the questions or the
infrastructure, they help you to create
it. They have a lot of infrastructure templates
for you to really kickstart your project or
community. There are so much GitHub action or useful
marketplace for you to pick up to create your
coding base, tattoo, CI, CD license
or issues platform, the issues trackers.
So I think they're useful and recommend for you to
give a look. And last part, you need to consider the programming language,
because if you want to solve people issue, there are
many ways, many developmental language for you to
choose to pick up, you need to consider, because if you
pick up the niche, I mean language for you to
do the programming, that means that you can only
find a small portion of people to become
your potential contributors. Here I gave this
programming language of the 2022. You can see
here the python, Java.
Oh, there's no the rust or the go, they are
so popular recently. So I recommend use of
the programming language to develop your project and
to help people to solve their issues. Next part about
another part is the shelf your project as
the asset. Because even though you
have a good infrastructure to guarantee your code
quality, your testing, the stability,
you also need a lot of documents to
teach people how to use this project.
And you also need to help people know that what is project,
what's the issues this project can help me solve,
right? So you need CTO document because you have no time to teach
everyone and people cannot to
read your code to know what
this project. So you need to document another
part about the articles to tell people that
what the issues this project focus on,
right? And also the code conduct because you
need more people to help you to create this
project, right? So if there is no code conduct, that means
people just use their
habits to programming. That means later on you
found that the coding, it's out of the control and
it's a mess for you to maintain it.
So you need some the code conduct or rules or
the policies to guarantee that everyone follow
that rules, the policies and to make
this the code base or make the feature introduction
part looks decent and looks almost
consistent, right? In the same style.
It's a long term work. You need to spend one,
two more, three years to create this
code base for your articles, for your document, for Alpha
sharing. Sophia, we actually spent three years,
a lot of time to create our document base for
people to use it. Another part, it's about
the community documents.
People always just focus on the user's document.
But forget your community document. What that means?
Community apartment. That means, for example, here, how to get
involved. How do I become the contributors here?
If I interested in some issues, how do I raise
my first pull request here? Right?
What's the part? I can be part of that. All the stuff.
Because you need to tell people that, hey, we are so welcoming. We are
an open community. We welcome our contributors
to come here. CTo be part of this community.
You know that your community, you are not a single
person to remain it. So you need to pave the
way for your contributors to come here.
So you need the documents to tell them, right? So this
part people not
gave us too much attention, but so important.
Okay, so, yeah, that's all cases that
Shirley Sophie gave. And that part I need to talk about
the people. I mean, because lifers, for example,
the approaches soviet foundation. They think that
the community overcoat. That means the people
overcoat. Because if you have a lot of people,
that means you have a lot of the fellows to
work with you. CTo make you feel fulfilled
and make you feel that it's both in your
effort to stay here. To help people. CTO solve their issue.
People give their feedback, read the issues,
read the poll request to help this community become decent,
become better and people like it,
right? That will encourage you to put more efforts to
maintain this community, this project,
right? So the encouragement
from your community, from other people can
become the incentive
for you to stay here, to maintain here, right?
So you need the contributors, you need the communities.
So how to attract their attention?
First, but you know that different
community have different idea about this part. For me,
I can give some the common ways.
The general approaches for you to consider the first.
And make your communication open. That means you
cannot just talk women stuff
only in a small group, right? Because you know that
people want to know what is happening in this community. If you can
make a community become open, that means people can have
the chance to know more about it. And then maybe
some part of your talk can attract
their attention. And they want to be part of there,
right? And second, that means
the belongings. That means you need to create
some system. Not so much like
the hierarchy or system. But if you can
give the path for the people, the growing path.
It's like your career right at the beginning you are the
junior programmer and then become the
senior. And you know there is a clear career
path for you to grow up and in community actually
were the PMC that means the project management
committee and the has libal is communities.
The later on is contributor and the user. If you
gave more efforts here and you have lost being
about our professional knowledge about this community's project that means
you know more about it and you will become.
You can not control but can
give more guidance to this community
help more people and the people more
trista your input or your idea
or they want support you to
hear, right? So that means you need to spend do
a lot of contributors to this community. It's the
hierarchy of the Apache Software foundation.
Actually in Apache Charlie Sofia we also have the project
management committee. We will vote our contributors to
become the communities to really tell our
community that hey, this guy is so experienced here and they
really help this community
CTO grow up. So we really sax and we
also have the swags to give our contributors
our committees to Saxford efforts. Because you know
that people need the positive feedback
that will give their more energy,
give their more instill the atom to stay here,
right? Because everyone need the
positive encouraged. No matter
it's in the school, in the company
or here in the community. So how
to join here or how to become the communities from the
contributor I gave the following items but today
I have no item enough time to talk
more. But in the future if I
can write some of the post on my twitter or linking
later on. Oh, I can give a case here.
This guy here is me. All this beautiful lady.
It's me and this guy, it's our
employee. It's a manager developer
manager of Savior. Yes, our company actually we
pick it up or we invited this guy to join our company because at
the beginning he just the contributors of this shirt
named Sophia. And we found he really did a good job.
So we voted to become the PMC project
manager committee of this project. And then we found hey,
will you by him. Hey, you really did a good job ensuring Sophia.
And now we have our Sophia's company.
Do you want to join were and to
make your women source become your career. And this guy said,
wow, it's wonderful. I really like this chance. So he
become the manager here. Yeah,
that's a good case. Later on about you
needed to create a lot of the cooperation with other
media or other communicate to
invite more people to join here or to know more about
having about your community, about your projects.
Right. So that's why we write
this book. We wrote this book. We gave the talk on staff
overflow and we give a lovely tad talk in different
conference. Because I think this community is useful
for people. So I want to share my experience because I really
get a lot of help from the community.
Now it's a good time for me to do the feedback,
to share my experience.
Maybe that will help someone,
some of the audience that worlds be perfect.
Right? Okay. Here. Because I
wrote a lot of articles. Some guys saw my article and they think hey,
they can use my article to quickly kick started
their project in their production environment.
So this guy come from
the delivery hero. They use the hero
the Korea branch and they use Apache having
Sophia to solve their database, sharding and
distributed issue in their real production and
give us feedback. We feel so good. We think that
we really did a lot of good job and
our users think we are useful.
So I think that this feeling is
so good. Right. And also here the
JD.com is the big online
shopping company in China. And so
they used the MySQl plus Apache having
Sophia to create their sharding distributed
system. So the mysql found this
case. Everything is so good. So they connected it.
Yeah. Then the last question I
want to say that be patient with
the progress, you know that everything small from
the small. So we need to be
patient with all the stuff and persist doing
the routine, the common things and later on that
will become the magic. And I believe
if you really love open source women like the
tech, technology or stem,
I just want to share my experience and hope you can get
something from my talk.
And good luck. Yeah, see you next time.