Yubo, Ant Researcher, Head of Experience Technology Department. Joined Taobao in 2008, and started working at Alipay in 2012 in the fields of Ant Design, data visualization AntV, and knowledge collaboration. At present, we are dedicated to creating first-class technology and products that serve Ant Financial and the industry.
On the 527 Ant Technology Day in 2021, the Ant Endogenous Community held an endogenous special session. In the special session, Yubo shared "What Open Source Can Bring Me". The following is a compilation of pictures and texts of the speech.
My road to open source
From 2009 to 2018, for nearly ten years, I have been doing some open source things, and I have gained a lot in the process. Today I will share with you some of my gains and feelings in reviewing the past ten years.
I first registered on GitHub in the summer of 2009. Before that, I had some personal projects on Google Code. This picture is from July or August 10, when I started to submit code crazy on GitHub. At that time, I was immersed in the code all day, and I am still very happy in retrospect.
I have done some open source projects over the years. The first is the module loader Sea.js. I developed the Kissy project with others during the Taobao period. I did a less successful project Arale in the early days of Alipay. I did this for about two years. The aspect was wrong. I switched to Ant Design immediately, and then started the AntV data visualization open source project. Of course, the Experience Technology Department also has many good open source projects, such as egg.js and Chair, but I don't participate much in these.
my gains: work efficiently
Over the years, I have been thinking about what my real gains are from the process of participating in open source.
I have summarized three points. One of the first is develop the habit of efficient work .
Efficient work includes several small points, first of all, document first .
In terms of documentation, one of the things that impressed me the most was that I participated in the CommonJS open organization around 2010. This is a virtual organization. The main output is documentation. I have felt that these top experts in the industry have regard to documentation. Attention.
At that time, everyone together through a wiki system and Google Group forum to discuss what is a module, and the drafting of its 1.0, 1.1 and other specifications. There are many branches in each specification. There are many details in it, and everyone is noisy. Not open. It is these specification documents produced through everyone's efforts that have greatly helped the entire industry.
Students who are often involved in open source may find that foreigners pay too much attention to the aspect of document priority. Some projects may be just empty shells, but there have been a lot of discussions inside, and many ideas, how to do, and what may be encountered To pit these issues, through documentation and discussion, I think clearly before writing the code. This is very different from China.
When you are really deeply involved in open source and practice in a document-first way, your gains will be very great.
asynchronous collaboration is very emphasized in the open source community. Whether it’s issues on GitHub or Google’s Groups, they are all powerful tools for asynchronous collaboration. Later, Yuque’s discussion forum also borrowed these ideas because we found that asynchronous collaboration is much more efficient than offline meetings. I also really want to promote asynchronous collaboration within the company. There is a saying in the experience technology department. Instead of looking for me on DingTalk, it is better to send me an issue. You may get feedback faster.
People usually communicate through listening, speaking, reading and writing. Reading and writing are higher-dimensional methods than listening and speaking. They require more logic and abstraction skills, which are more conducive to early resolution of problems.
The last point is , . Some projects on GitHub have a large number of participants, and everyone’s participation in the discussion is very intense. How to reach a consensus when there are differences, and not only reach a consensus but let the community take a step forward, this requires some leadership and some opinion leaders. Some sacrifices. For example, there was a C language expert in the CommonJS community at that time. He has implemented a version of modular code, which is more elegant than the existing ones, but in order to keep the community's opinions consistent and move forward, he deleted all his code. Lost.
Here, seeking common ground and respecting differences is not a very fictitious word, but a very practical principle, which affects many of your choices.
The last point is quite interesting. In the early days, many of GitHub's communities were technical and relatively pure. Later, all kinds of pursuits of commercialization and personal influence came. So my last point is that you have to be aware of the world. Now, there are many open source libraries on GitHub, you can see that they are here to rub fame and fortune. In this case, just smile and don’t need to be true, otherwise it will consume a lot of unnecessary time. , At least affect the mood. But at the same time, don't let the world know you, keep it pure. The open source community is also a small society, and GitHub is not as pure as everyone thinks. There are many stories in it.
These habits and cognitions have continued to my current work and have really brought me a lot of help. I believe that as long as you participate in open source, you will gain some perceptual knowledge, knowing that they are very beneficial to your professional growth and habits.
My second harvest: learn to make products
When I worked on open source projects such as Sea.js, I used it as a product to build, so I will definitely encounter the soul of the product three questions:
Every open source project must ask itself these questions when deciding whether to do it or not. These problems are actually very similar to those encountered by many businesses and products. You must answer these questions clearly before you can go one step further.
For example, when we were working on AntV's G2, we had to answer a question. At that time, there were open source visualization frameworks such as higcharts and echarts at home and abroad, and they were all very successful. At this time, why do you use G2 as another visualization library? Later, I thought about this question with Xiao Qing for a long time, and the final answer was that we need to do graphic grammar instead of configuration-based visualization, which is common in the industry. This is also the differentiated competitive advantage of G2, and it is really done. Will bring more possibilities.
Regarding the second question, because many projects you want to do either already exist on GitHub or have been discussed in the documentation, why did you do it? Why are you more likely to make it? A "politically correct" answer to this question is related to your business. More practically, it may be more related to you. It is whether you want to do it in your heart and whether you are willing to invest in it for a long time.
For example, Ant Design and AntV, in fact, the group had more opportunities to do it at that time, because the group had a data product technology department, and they had a lot of business. Under these business soils, there were more opportunities to grow these projects, but they lacked people. . So my answer to this question is that in many cases, the human element is more important than the business. As long as you are determined to do what you want to do, just do it boldly.
The third question is actually more difficult to answer, that is, where is your boundary. Some open source projects that I have come into contact with are getting bigger or more complicated, which is not necessarily good. The ideal open source product in my own mind is to achieve a certain stage, and there is no need to do it again. For example, some command-line gadgets have not been updated for many years, but everyone is using them because their various interfaces are very complete, and they no longer need to be updated. The same is true for open source projects. When you spend some time designing it, and then write the code, you can tell the whole world, I'm done, you can use it. Of course, this is an ideal state.
My third harvest: the love of things
The last point of my sharing is that loves . Whenever you have ever experienced being crazy for open source, you will understand what love is. And if you haven't been crazy, love is just two words for you.
Recently, Yuan Lao passed away, and the whole country was in grief. I also watched the 40-minute documentary and I was really touched during the process. In particular, it mentions Yuan’s dream of enjoying the coolness under Hexia: He has a dream. He hopes that the rice grows as high as sorghum, the ears of rice are longer than a broom, and the grains are as big as peanuts. Then he and his The assistant can lie down to enjoy the cool and take a nap. I think that when Mr. Yuan said this passage, his whole person was sublimated. After watching this video, you can understand what is called career and what is called passion.
When you treat open source as your own business, the feeling is actually the same. Even if life is simple, you can live happily. When you write code, think about how to write better, how to reduce a certain memory footprint, and how to improve a certain performance. When you are thinking about this, some material gains and losses are not so important. .
I hope that students can feel this love by participating in and leading projects through open source. After continuing to feel a few passions, I think you will be different as a whole. Faced with many things, you will live more transparently and thoroughly.
In addition, I was very moved when I saw a sentence on Twitter not long ago. What he mainly said is that many people say that work needs to be with the right person, but in fact it has nothing to do with the place where you work or the company. It is better to follow your own heart. If you really move forward in your professional career, you should find your mission and calling, as well as finding something meaningful and passionate about you.
To sum up, if you talk about what open source has brought me, first of all, the first is the habit of efficient work, which will benefit me for life; the second is to learn how to make products in the process; the third is to thank myself for having After I am interested in participating in some open source projects, I feel what love is from it, which has changed a lot of my views on life.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。