 Hello everyone. So I'm so happy to attend our conference to give this talk around our open source, around the tech, around the community. And I'm Tristan Pian, the co-founder and CTO of Sophia Yex. My professional is around distributed database and database management automation. So apart from my area, my professional, I engage a lot in Apache Software Foundation. And now mentoring three incubator Apache projects. So that's one of the reasons I want to give some talk around our open source, around our community. Because Sophia Yex, they start up, it's based on a successful community or successful infra database project. That is the Apache-sharing Sophia. So apart from that, about our community, I also help such Apache foundation projects or incubator projects to give their help or give their suggestions around their open source tech community and projects to make them become stronger, healthier and popular. Sometimes I will post some articles around startup, around the distributed database, around big data, around open source on my Twitter and LinkedIn, and GitHub. So if you are interested in such topics, welcome your look at them. So today our topic is around community. Before we really consider how to make your open source community become attractive, we need to know that a community is made of two important parts. First one is project itself. It includes about the code, your programmer, your programming and your infrastructure, your documents. Another important part is the people. Because of the people, our community could have the capability to become the popular, become attractive, become diverse. So today I will focus on two elements to give them my thinking around them. The last one is about persistence. That's another very important and key point here. Because before we consider how to run our community, we need to first answer this question. Why do you think that open source is important for you? So that's related to another element here, that is persistence. Some people will think you want to show your talents and get to recognize from others, from the industry. Another people will think I want to make our community become active. I want to receive many feedback from our contributors or from our industry, from the users. And some people will think that I just want to make our community become live longer or healthy. So that will help for my business part. So no matter which reason you want, it's your reasons I want to know that part. I mean you need to know that part because that will give you motivation, give you incentive around your persistence to run your community. To make your community become popular. So everyone has his answer. So what's that about you? Alright, so when we first solve the persistent issue, next one will really enter into project part and people part. First we need to answer this question. What's the key value of your project? From the maintainer or from the founder of an open source project. We just want to people give our feedback and user project. But we need to change your perspective. We need to become, we need to become a user. Why we use project? Because I found this project can help me solve the issues around my industry, around my company. And the second, maybe I found the idea of the architecture of this open source project so attractive and so wonderful, so I want to be part of that. That could become the rhythm. So from the maintainer part, you need to consider what's the value you can present to your any users and your contributors. That's the foundation of everything. Let's take a picture of this. For example, at the beginning, we really just have only one feature. That is how to shard our traditional database, like the PostgreSQL or MySQL or Oracle to make it become the distributed database. That's the only key feature we can present to our users. And at that time, I mean, that's maybe around 2016 or 2017, shard or distributed system is so hot. So people want to use it to help them to upgrade efficiently and effectively their traditional database cluster, MySQL cluster or PostgreSQL cluster. That's the value. Because of that value, we can attract the first bunch of the users and contributors. And gradually, that we found, we need to consider the next step, the next milestone for our project or for our community. Because I gave this example here, Apache Attic. Apache Attic is a group project that all of them that people don't want to use them or have no values for the future users or no people want to maintain them. So they enter into the frozen time, frozen period. So that means maybe one day they will really die, but currently they are frozen. So we don't want to or open source projects become died in one day, we hope, right? So we need to consider the next milestone or the future of this project. And for Sharding Sophia, we found that people not just want to use a shard, not just want to make their traditional database become the distributed system. They also want to help them to automatically manage their database like data encryption or database gateway, or help them to governance the traffic for database and your application. I mean the traffic between application and your database. So like the rewrite splitting or data encryption or SQL audit distributed authentication. So we gradually found it not can just to present the key, the only one key key values to users that Sharding. We also present them more features to our users than Sharding Sophia from the database middleware become the data platform. So that's the story. I give this history just to want to take the evidence forward user for audience that if you want to your community become more and more popular, you need to consider currently value and future value, currently perspective and future architecture. So that's the key values for your community. All right, so next part. Okay, that's the one of the benefits from the successful open source. That means you can you can have your startup company. Next part, it's about the infrastructure. Now you solve the issue that why open source is important for you. And what's the value for your open source project. Next one that how to build this building. First, you need infrastructure. The infrastructure include two parts. First one is hot. I mean, infrastructure, like your code base, right? And your test system and your developing language, what's your developing language, etc. So here I gave the important element or factors here for your hot infrastructure. No matter your newcomer or your veteran, I recommend GitHub. It's not the pitch, but it's really useful for us because GitHub, it's a platform, which can prevent a lot of useful tools, infrastructures, GitHub actions to help you create your code base, give a place, create a place for users and committers to raise the pull requests and issues and run all the tests. So that's important. Another one, it's about your programming language. From this image you can see here, it's the most in demand programming language 2022. And if your project is developed by Python, that means most of the Python developers could be the potential committers or contributors to your community, right? That gives your community a lot of chance. But if you use developer language that few of the people use it for their project, that means you only have a small potential contributor base for you to pick up. So you get my point, right? Yeah. So by using GitHub or other platform, you create your code base, you create the cornerstone for your building, for your project, for your open source community. The next part, it's about your soft infrastructure. It's the culture or policies or regulation of this community. Because we have to know that our open source community or open source projects, it's not for a group of people or only for you. It's open, right? That means you can get the feedback and the contribution from the people all over the world. But everyone, each one has his thinking, has practice, has habits about coding, idea and development, developing, programming, right? So we really want to this community or this project, it's healthy. So we can set up quickly and support the future, hire more requirements from our community from the world, right? So we have to make up this regulation, this culture, calculate this culture. So anyone joined here or the future people joined here, he will found a community or this land is beautiful and it's regulated or it's opened for our contributors or users, right? Because if everyone just have no rules, just put this idea here, then this community one day will become messy and stable in the future. So for that, to reach that goal, we need to create our fundamental stuff. That is about your documents, your code conduct and your post, your articles, your documents. So here you can see that Shirting Sophia has this document for each big release and about the community, we also tell our people like how to get started and how to prescribe our Apache mail list and how to set up your dive environment and how to do your contribution. We make all the stuff become convenient for contributors to join here because the maintainer will only have two or three or a bunch of maintainer, but they cannot face thousands, hundreds of the contributors or users to ask their question. We cannot give their answers their questions so quickly, so advanced. So we need this document to help us to make it convenient for our users, for our contributors to learn about this project, about this project, about this community, about how to do blah, blah, blah. So here you can see we have a lot of documents around our project, around our community and also have some posts to introduce how others use our product for their scenarios, for their cases. So thanks for the community. They really help this project become like the thriving currently and in the future. Thanks to all the contributors here. And last part, it's about the people. So people, I said before that it's the key point here because from Apache Community Governance and principle that they believe the community is over code, they think that the people is more important than code or than your repo because if we just have the code base, that means you are only one people to maintain this repo. You cannot, you have no users, you have no attentions, you have no contributors to help you. So that means it cannot have a long-term healthy running mod, right? So we need people. How to attract people's attention? First, as I said, you solve the issue about the values or about your milestones, about your architecture of your community. So some of the people who are interested in such ideas, they will join here or your users want to become the contributors to fix down the bugs. And then you also need to create the hierarchy. This hierarchy, like here, from the contribution level or from the professional aspect that we create this hierarchy to tell the people how professional this person is. From the project PMC, that is the project management committee, they have the more knowledge around this community because they stayed here for a long time and they really did a lot of contribution here. So people trust them. People trust their knowledge, their professional, their idea, that project management committee. The next part, it's the next level, it's the committer. The committer means that they did a lot of effort and time here to go a lot of time here. So they are more professional than our contributor, right? So if they answer some question that people will think his authority, it's okay to believe or to trust, right? The next part is contributor. That means they just come across this project and do some contributions and then leave left. That's okay, that's fine. And we also sense their efforts here, but it's random, right? Okay, so next part is the user. User also didn't give some contribution here, but they will read their issues, their questions, they help to answer some issues, blah, blah. So they have the majority of that part. They are massive, but they also can help our project to grow up. So also important. So when we create this hierarchy, that means each contributor will stay here to earn his authority. And it also can help ourselves to know how to make the people in different levels to stay here or to make them happy because I thought it's a double win. It's not just from the community. For all of the people that stay here, they feel happy, they feel that they are recognized by the community. And they also learn a lot of new knowledge. They practice their skill sides. So they want to stay here, right? They want to do their contribution here. So it's a double win. When we have this hierarchy, then we can tell our community to make it open because open communication can create more chance for the future users and the contributors or our PMCs. So open communication is like you need to pay the role for your users, right? If you have no communication channel, then people create a wall for your users, your contributors and yourself. It's so bad, right? So open communication is like pay the role to the world. The last part is about the people outside. Alright, after that, I gave some cases to evidence that open community is important and the hierarchy and the system, the policy here is important because you can see here, I published the discussion so people can have the chance to know what is happening in this community and if you like it, this idea, they will give their public vote or cast their vote. And when we welcome the new commuter here, they will find, wow, I'm so welcomed by this community. They really published this email and this vote to tell that the whole community that I, today, from today, I will become the commuter of this community. I'm so honored to be here, right? So that maybe will create the belongings for them. The next part is about the people outside. That means we need to create the cooperation with the people outside. First, about the promotion part. Here, like about the short answer field, we have our channel, we have our Twitter. So we can have people, what is happening in the community and if there are any new commuters here and also I will give some talks about the tech, about the open source or write some articles to introduce these projects to tell people that we not just want to become the pitch, we not just to do the ad. We really want to solve people's issues. So that's why we stay here. That's why I wrote that article. I just want to present value to our any other. And people have their choice to listen to, to believe this project or not, to have a try or not. But for us, we need the first way to tell people, hey, there it's a wonderful project I think. So do you want to have a try? Yeah. And about the cooperation, like I said here, this example, Apache short answer field also have created some like the mixed project with another two Apache top-level project. So we group a new team to leverage each of the projects, the power and to create this new project to solve the load test online issue to for our users. So you can see here, right? So that's a potential chance for the cooperation. That's can also each to affect each of the community of the three projects, right? Because we create the cooperation, then the people in another project or another community will know us, will know this new project, then people that will can promote it or like create a more new idea, create more values to this industry. All right, so that's all about over a second stack overflow to publish our new article. Right, so the last part, it's about the persistence. Like I gave some the talk about at the beginning, right? So the persistence wins the trust precisely. From the history of Apache Foundation at the beginning, they're so small. It's the group of the people. But now they have more than 300 wonderful projects here. And for Apache Shooting Sophia, at the beginning, we have zero stars on the GitHub. But now we have more than 16,000 top stars at GitHub. That charming or that's a power of the process of the persistence. If you like open source, if you believe your projects, if you want to make become diversity, want to become better in the future, then you need to learn how to be patient with the time. That's the like a word I tell myself every day because it's not just about the open source project. It's also about our each person's life and about our career. So that's all the content about this talk. If you have any questions, I guess you can find me on my Twitter or GitHub, just a zero. So thanks for listening. Bye.