content source: On June 5, 2021, the 2021 China Developer Ecological Summit hosted by SegmentFault came to a successful conclusion. At the meeting, Zhiliu Technology CEO, Apache APISIX PMC Chair Wen Ming delivered a speech on "Exploration of Apache APISIX Community Operation and Commercialization".
Sharing guests: Wen Ming, CEO of Zhiliu Technology, Apache APISIX PMC Chair
shorthand compilation and release: SegmentFault Editorial Department
My name is Wen Ming, from the Apache APISIX community. Actually, the content of Pengfei and I are somewhat similar. We are both an open source project based on a global, and we will also make some commercial attempts on it. We are all from 0 to 1, but the difference between us is that he has Qingyun and the resources behind it. We have nothing. When we first started, there were only two people and no money.
How did we make this project from 0 to 1? Do Apache, become a commercial company, and then become a commercial company with dozens of people, and have commercial customers. So today I will share some of our own experiences.
First of all, introduce myself, I am a member of the Apache Foundation. The special thing about the Apache Foundation is that it is different from CNCF. It contributes a lot of code from contributors, and then you have the authority to write, and you will become Apache's committer. After the commiter, if you continue to contribute and participate in the community, you will become a member of PMC. PMC is the project management committee. At this time, you can vote and elect. After you become a PMC member, you will rise up to become the PMC Chair. The Apache Foundation has more than 300 top level projects, and there are more than 300 PMC VPNs, that is, PMC chair. There are about 700 Apache members in the world, and there are more than 30 Apache members in China. After becoming a member, you can elect board members.
As Wu Sheng shared today, Wu Sheng is one of the nine board members of the Apache Foundation. I myself am the PMC chairman of APISIX, a member of Apache, a commitor of skywalking, and a member of k8s. These titles are all won by your code and your contribution to the open source community pr. Many people who share today are community operators, marketing people, or community people, but I am actually a developer.
About Zhiliu Technology
We established a commercial company in 19 years, called Zhiliu Technology, and we will do the commercialization of APISIX.
Tributary Technology is a commercial company that we established in 2019. We will commercialize based on some APISIX. Our current product line includes gateways, k8s ingrass, and our service grid. In fact, they are all Under Yunyuansheng, there are some products related to the user's four-layer and seven-layer traffic, and these three product lines are connected together.
Almost last year, we took several rounds of financing. Now our employees are all remote. We have more than 20 employees, all of whom are located in three countries and twelve cities. We link everyone together through things like Slack, Tencent Conference, Jira, GitHub, etc.
So this is actually a technology company with a bit of Silicon Valley in China. All of us now, except for administrative classmates, all have developer backgrounds. You can see the relationship between us and various foundations. We are the only project in China donated by startups to the Apache Foundation, and then we are the only Chinese project in the API gateway in the CNCF panorama, and we are also the Linux microservice TARS Founding member of the foundation, the TARS Foundation is a microservice foundation initiated by Tencent, so we will have some connections with the three major foundations in the world.
This is our team. In addition to me, there is a small partner Yuansheng Wang. The two of us have written code in the small black room for more than a year. Then the head brother (Yeliang Wang), mixed with the Chinese technology circle, knows that the head brother is in charge of our BD and products.
Community operation of Apache APISIX
Let me probably talk about what APISIX is, because many people don’t actually know what APISIX is, and many people ask us: Why is it called this name, because it’s actually not a word, it’s a word APISIX coined by us, we do API Yes, API is a very important thing. All Internet services and all cloud services we use now are exposed through API. So API is a very important thing. We want users to manage the API very efficiently and securely, so we chose SIX, and then our enterprise version is called seven, because six is a lucky number in China, and seven is a number abroad. Lucky number.
We joined the Apache Incubator in October 2019 and graduated in July 20, and it took a very short time to become a TLP (top level project). In this process, we release a version every month. When we first entered Apache, we only had 20 comtributors, and now we have 250 comtributors. We only spent more than a year, and the number of comtributors increased more than ten times.
As Pengfei said just now, let’s make a small open source tool. The purpose of this open source tool is to look at the growth curve of open source project contributors, because nowadays many people are working on open source projects, so how do you evaluate one? Open source project? Some people look at the star, some look at the comtributor, some look at the issue, some look at the pr, and some look at some functions or performance compared to similar projects.
But for us, whether it’s an open source project or a company, the core of it is people, so I think it’s enough to look at people. For example, how many of the world’s best people are using your open source project and contributing to you. How many companies with very large logos are using your company's products, in fact, just look at this one.
In business, which big logo companies have used your products? Which top people are using it? How many people from different parts of the world have contributed to your open source project, it is ok to understand this, the number of stars is meaningless.
This is a growth curve of APISIX.
Another question is whether to look at monthly activity? There are many open source projects, which can attract people, but they can’t keep them. This is a big problem.
This is the curve of APISIX's monthly contributors, that is, how many people contribute code to APISIX each month to be merged into the main trunk. We are about 25 people.
Compared with some other projects, for example, our company in the United States, Kong, has more than 400 employees, and his comtributor has a monthly life of 15 people. Our company only has more than 20 people, so most of the contribution of monthly life The person still comes from the community.
Are the contributors paying attention to your project? Are you contributing to you? This is a point that we are very concerned about. The core of the entire open source project is the developer. After that, whether it is our publicity, our documents, our videos, etc., it is a means. The core thing is whether I can attract the attention of the world's top developers, because now is an era when there are so many open source projects. An open source project has a lot of competing products, and a company and a developer have a lot of choices. , Why did he choose you? Why not choose other open source projects? What can you attract him.
After attracting him, he will use it, and then find your bug and contribute code to you. In fact, this will form something similar to the full life cycle, so what I am going to do to keep my contributors in a very active state, this is a key point in our entire community.
Again, we never look at the star number.
Many open source projects will add probes to their projects, that is, after I install them, I will return some data back. The function of probes is to know which company is using me and which city is he from? How much data is there? But APISIX is an Apache project, we can't have any infringement of user privacy, so we don't have probes. We can only rely on open source users to report online, so we can only know some users, and these users are actually mainly concentrated in Internet companies, and online education is actually related to the recent epidemic. Then take a look at APISIX. In fact, we feel that we are developing relatively fast. From April 2019, we wrote the first line of code. After two months to June, we open sourced a demo. Our early users of APISIX were all that we invited others to dinner and asked if you want to try it? Do you think I'm reliable? Do you think I am reliable, can you use my open source project, can you run in the production test environment?
When you sell your products, you are the person who sells you. So how does APISIX maintain a monthly iteration? How do we let more and more companies use our project?
In fact, we are all stupid methods, we do not use black technology, we are all very stupid methods. , we put user questions first. I don’t know which author of an open source project, like us, is busy communicating with users every day. We look at user feedback every day, and if there is any question, we will directly feed it back. For development, I don’t know how many people can still read user feedback every day, but we do it every day.
Another way is to preach. preached is actually very slow. APISIX has an offline meeting up once a month. There was no meeting during the epidemic. Now it is an offline meeting up once a month. Last time was in Shenzhen, this month is in Chengdu, next month is in Hangzhou, we will go to Beijing, Shanghai, Guangzhou, Shenzhen, and Chengdu, which is equivalent to saying that we will run a city every month, and then when we run the city, we are CTO and CEO. Go to run the customer personally. Because only by getting closer and closer to the customer and listening to their feedback, can you know how your product will do?
In addition, obsession is also very important. core reason why many open source projects at 160ee61484f8b9 did not persist is because the founder may not be interested anymore. This is a more important thing. No matter how big your project is, such as Redis, when the author of Redis announced his retirement, Redis has a great influence on open source projects and commercial companies. Just like k8s ingress controller, this is the second open source project in K8S. When its author announced his retirement, the project stopped updating for more than 20 days. No matter how popular an open source project is, there are only two or three people behind it. If these two or three people someday feel that they don’t want to do this thing, are not interested, or do other things, the open source project will definitely die. . So for us, obsession is very important. The APISIX project must be a lifetime project of Wang Yuansheng and I. When we entered Apache comtributor, we went to find a Chinese tutor, Jiang Ning, and Jiang Ning Tell us that there is a price for you to enter the incubator, and the label of this thing will be affixed to you for a lifetime.
We actually learned a lot from Apache. When we entered Apache in October of 19, we spent more than half a year graduating, but in this more than half a year, there were a lot of cultural conflicts, and we also learned a lot of things. We found what we learned. These things are not only applicable to open source projects, it is actually helpful to commercial companies. Apache’s belief is that the community is greater than the code. We believe that the community is more important than the code. Then when we communicate with customers, we will think, for example, even if he cannot become my paying user, can we cultivate a comtributor? What? Let him contribute my code? So this company doesn't actually spend money, but it spends people on my open source projects, and we have to build the entire community. Another thing is for the public interest. Apache is actually very important. I have made so much code. I am a charity. I have so much code. I have Hadoop, I have Spark, and I have Kafka. Things are free. I have brought a lot of benefits to the whole world, saved a lot of money, and brought benefits to mankind. Well, a commercial company, a commercial company can't just for money, it must have ambitious goals, must do something for the public interest, so that it can be long-term.
There is also an open channel for discussion in Apache. We all discuss it on the mailing list. This method is very old. Many people actually don't read mailing lists, or in China, many people don't use mails. Everyone uses chat software, but why does Apache always use mailing lists? In fact, we have also asked, saying that everyone is so developed now, right? Why can't we discuss it on GitHub with such advanced technology? Since all our projects are on GitHub, why should we discuss them on the mailing list? Then the Apache people replied, because Apache has some project comtributors in Africa, or in some very backward countries, or even in countries where GitHub is forbidden to access them, then how can he contribute code to these people? How does he participate in the discussion? We want everyone to participate in the discussion. Email is the most reliable, because you have no way to close an email. The email is in plain text and will not contain pictures or videos, so it can participate in discussions even on a poor network. So Apache wants to let everyone in the world join in, and it wants everyone to participate in the discussion. And there is no way to modify the mailing list, but GitHub can delete or modify your posts.
In Apache, we have 72 hours to discuss a thing, which is three days. This is mainly because some people can’t see it on weekends. After three days, everyone can continue to push the matter forward. It is the same in our company. Because our company is also a fully remote, everyone is also through Slack, through GitHub, through Google Docs, through e-mail to string together everyone's content. So we tell everyone not to worry. Before discussing a problem, before pulling everyone to the meeting, you must write your proposal clearly. You don't know the proposal, and don't pull others to the meeting. You are wasting other people's time. It's the same in Apache. When you talk about something with others, you must write it very clearly, otherwise no one will care about you. There is also an elite democracy in Apache. Just like Du Junping said this morning, in Apache, everyone is democratic and anyone can vote, but your vote is different from mine. Yes, for example, if I am a PMC, one of my votes is valid. If you are not a PMC, your vote is invalid, but friendly votes are not counted. The more you contribute, the greater your right to speak. So in Apache is an elite democracy, that is, everyone has this right, but the more you contribute, what you say counts. In fact, the same is true in the company. The greater the value your employees do to your company, the greater their right to speak, but we want everyone to participate, so we are also Push is similar to OKR, everyone can see everyone's OKR, and all things are public, but whether you can do this is another matter.
Apache APISIX commercialization exploration
Then let’s take a look at the commercialization of open source. Open source commercialization is a hot topic, especially in China in the past year. It seems that something can be commercialized after being open sourced, but it is actually different. Many projects cannot be commercialized of. For example, you see tens of millions of projects on GitHub, but there are not many that can be commercialized and have commercial value. Many front-end projects and tool projects are difficult to commercialize. Open source and commercialization are not necessarily related. Open source is actually just that programmers think this tool is fun. For example, when Linus first developed the Linux operating system, it was not for commercialization. He thought it was done. A more fun thing. Many open source projects were not originally intended for commercialization, but in the end commercialization achieved great success. There are also open source projects that cannot be commercialized but are actually very good. For example, some front-end projects are difficult to commercialize, but relying on sponsorships also earn tens of thousands of dollars a month. It is also very good for him to be a consultant and then sponsor. The project is difficult to commercialize, but it is a very good and successful open source project. Many software companies that are well-commercialized are not open source. For example, our windows and office are not open source, but their commercialization is very successful, and there is even no substitute. But do you think open source can kill them? It's difficult, so whether a business is not commercialized or can be successful is not necessarily related to whether it is open source.
There is a very big gap between . In fact, I have always reminded the company’s friends not to think that you have made a very awesome project with good performance and many people who use stars very well. Because what the company wants is a commercial product, but what you are doing is an open source project. What do you want for a commercial product? What you want is security and stability. Then, if something goes wrong, you can help him think of all kinds of things similar to high Usability, rollback, audit, and even to reduce costs, improve efficiency, and solve these business problems, but open source projects cannot directly solve this thing. Doing an open source project is just a basis for your commercialization, and there is also a gap. Jump, there is a book called "Crossing the Chasm". When one of your projects goes from Startup to commercialization, there are many gaps between them. In addition, the roles of contributors to open source projects and managers of commercial companies are different. This is a very big challenge for many open source commercial companies, because like my partner and I, both of us are Developers. We have written code for more than ten years, and we have not even managed anyone in the previous company. What should I do if I manage a small team of several people? I’m going to be a commercial company now. I’m going to talk about money with investors, I’m going to recruit people, I’m going to talk to outside partners, I’m going to write articles, and then I’m going to become an internet celebrity... There are so many things that you have to send money and negotiate options with employees. So I think that being a Developer is actually the happiest thing, because you don't have to worry about these chores, so it's fun to write code with peace of mind. Why not want to start a business? There are very big differences between his roles, and sometimes I feel that it is not necessarily a good thing for programmers to choose to start a business, so why are so many people coming out? I think the biggest attraction is that the challenge will be very big, that is, you will think that I was just a developer before, but now you can directly decide some things, decide the direction of the company, the direction of the open source project, and some strategies behind the company. You will encounter very big challenges, and these challenges will actually bring you very great pleasure, so if you want to turn from a core contributor to an open source project to a manager of a commercial company, the core point is, Can you experience the pleasure, or whether you enjoy the pleasure and challenge. It’s just that you are upset in the process. If you feel good, then you can actually do it, but some people think that this thing is too difficult for him, then it is difficult for you to complete this, the role change is for people The challenge is still very big.
Then why do everyone choose open source now? In fact, I think whether you choose open source or not is not necessarily related to the success of your project.
Open source is a means. For example, some people open source for marketing. I hope that more people will know about it, and hope to be able to search on it. This is one aspect; there is another aspect, I hope to get the world's top developers and more The scene of the big logo, this is one of the purposes of open source. There are also some open sources just for financing. So open source has many purposes and many ways, but if you really want to do it for a long time, the core thing is to look at your core developers or your founders. What is your original intention? Then when I went to talk with my partner, I would ask why you chose the two of us? Why did you choose to open source this thing? Two people are very hard pressed. They didn't have a penny. They wrote code for more than a year. In 19 years, no one looked at open source. When investment was the coldest, why did we choose to do this stuff? Then my partner's idea is: I have no pursuit of money, I just want to write my name in the annals of history. He talks to others like this every time, and he does it, and his life is particularly hard. In fact, I have a similar idea. My first job was in Jinshan for five years, and then Jinshan’s slogan was to let our code and our software run on every computer, and then my partner’s dream was to change the name Written in the annals of history, we all hope to be able to make some contributions. We have been in the application layer for more than ten years. Like many developers, I have been developing business for more than ten years, but after more than ten years of development , Where is my code? Where is the code now? All is gone, nothing is left, but if you do a top-level Apache project and build a good commercial company based on the top-level project, you will be left behind. This thing is very pleasant for us.
to sum up
To sum up, in fact, open source is actually just a means, it depends on what your founder wants.
On another point, open source projects need to find users who can run long-distance together. Now the long-distance running with us are like Tencent, Weibo, Shell, and Sky Cloud. They can accompany you for long-distance running. They can raise a lot of bugs in your product, and then they can change. Become your contributors and PMC, and then some are willing to give you money. Then gradually you can go from one scene to another, and then to another scene, do not build castles in the sky, do not build cars behind closed doors, let the needs of users run with you, you can guarantee that you will always be the most advanced.
We feel that we have a relatively clear business path, because many open source projects cannot be commercialized. This is because users are unwilling to pay for them.
So what kind of open source project users are willing to spend money?
There must be some very critical data with you. If your open source project goes down and his company also goes down, he is willing to pay for it, such as the database. The TP and AP in the database are different: TP If the database is down, the user hangs up; the AP doesn't matter, I can change it. APISIX is the traffic portal, and the traffic portal cannot be linked. If it hangs up, all the connections between the app and the user will be disconnected. This is also a very critical place, only the critical place can receive the user's money.
In addition to APISIX, we now have Ingress Controller pushed to Apache, and Service Mesh has just been open sourced. We went from one open source project to three open source projects. The functions of these three open source projects are 90% the same, but the scenarios are different.
Finally, open source is actually only suitable for some companies and some projects. It is not a silver bullet. It doesn't mean that this thing is not good for me. When I open source, I will become popular. Open source commercialization has a bright future, because it can really help users reduce costs, reduce operation and maintenance costs, engineer costs, help him improve efficiency, help him with digital transformation, and help him go to the cloud. , Open source projects can help him to do it, but it is still very clear, from the project to the product actually needs to do a lot of things, and the founder of this matter must have a very clear understanding.
In addition, now is the best time for engineers. If we think back to more than ten years ago, or more than twenty years ago, you did not have such an opportunity to try to start a business. For example, there are many open source projects now. A sum of money to try, even if it fails, is a good thing, because you never had such an opportunity before. Now that Chinese engineers have accumulated some accumulation and China's capital has also accumulated some, he can do such trial and error. There are always some projects and some commercial companies that can come out. Then I think this is also a very good time for the operation of open source projects or for market students. If you are interested in what I just talked about, you can add my WeChat. Thank you.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。