An open source player who created many "firsts"—— Zhang Haining, Technical Director of VMware China R&D Center

This interview lineup

Guest: Zhang Haining , technical director of VMware China R&D Center, responsible for cutting-edge technology innovation projects. He is the chairman of the Federal Learning FATE open source project development committee, the founder of China's first CNCF open source project Harbor product warehouse, and the most valuable expert TVP of Tencent Cloud. He is the author of "Harbor Authoritative Guide", "Blockchain Technology Guide" and other books.

Moderator: Zhuang Biaowei , director of Open Source Society, open source expert of Huawei Open Source Management Center. Participate in various community activities all year round, and be enthusiastic about research and sharing on open source governance, open source growth, and open source academics.

Q: Why did you choose such a career as computer and software?

Zhang Haining : I first learned some basic programming concepts and principles in the computer interest class in elementary school. In middle school, I also participated in many programming competitions in school and did some research with my friends. When I was in college, I chose computer science, and I have kept it until now. After graduating from university and working in an IT company for a few years, I went to Canada to study for a master's degree in computer science. After working there for a few years, I returned to China and continued to work as a computer software development architect, helping customers solve enterprise application problems, etc. . 

It can be said that from elementary school to now, I have been doing computer-related things. From this point of view, I think I am the kind of computer geek who "plays" out. Based on hobbies since childhood, I gradually developed into this industry.

Q : Which field of software did you work on at that time?

Zhang Haining: From 2000 to 2005, I basically focused on writing Web Apps, and later I also started to develop some iOS Apps that I am interested in. The reason is that enterprise-level application development is generally more standardized and standard, and there are no new tricks to play, but mobile apps are completely different genres, so I wrote some apps in my spare time, which can be regarded as a kind of geek spirit continue! At that time, the mobile terminal (iOS, etc.) was a relatively new technology, and it had not yet entered the mainstream applications. It was very fulfilling to let users download the iOS application written by myself in the App Store.

At that time, there was a shortage of mobile phone apps, so I wrote a lot of tool apps to help users solve problems encountered in the use process, and many people used them.

Q : What do you think is the most interesting or challenging thing to write?

Zhang Haining: At that time, I wrote a lot of different kinds of apps, some of which were not valuable from the perspective of programmers. To give an example that is easiest to understand, there is a navigation website that lists a bunch of URLs for people who surf the Internet. This seemingly low-level website is very practical and solves the problem of many people accessing the Internet.

I wrote a similar app, which collects and displays the URLs of vehicle violation inquiries from public security bureaus across the country. Because there are many car owners in the country, but at that time there was no app that could be used to check illegal information, what should I do? Car owners can check the violation information all over the country through the link in my app. In fact, this software does not have too many technical difficulties. It just lists hundreds of URLs in all provinces and cities across the country for everyone to use.

Zhuang Biaowei: It takes a lot of effort to collect data.

Zhang Haining: Yes, it’s not that the program is difficult to write, but the data is valuable. For programmers, data is not a problem, just crawl online and there will be. After crawling to the data, turn it into an App, and the code may not even have 100 lines. After only one day on the App Store, it rushed to the top of the list. It can be said that this is a very useful and popular app without much technical content.

In addition, I will talk about a slightly more technical app. In daily life, we may want to send a text message to someone at a certain time, for example, my friend’s birthday is tomorrow, I set the alarm clock today, and the text message will be sent out by itself tomorrow. But the iphone does not have this ability, it has some permission restrictions, and programmers cannot develop such apps.

After research, I wrote this app through some technical methods, because only my app in the global App Store can do this, and many people download and use it. After more than a year, maybe Apple guessed that I might have used some unpublished APIs, so they banned my app. In fact, technically speaking, this app is purely for programmers to challenge the difficulty of programming, so it is more interesting.

Q: Do users of the App communicate with you?

Zhang Haining: Their communication is usually to write reviews in the App Store, for example, it is easy to use, it is too bad, and so on. This is the most direct. The other is to leave an email, let the user send me an email, and I can hear their voices. Later, when working in an open source community, these communication methods were also used.

Zhuang Biaowei: Have you ever encountered a situation where I sent you an email saying "as long as you add a function, I will give you money"?

Zhang Haining: It hasn't reached this point yet. They didn't talk about giving money. They just said that it would be better to improve it and attract more people to use it.

Zhuang Biaowei: Can you make such an app? For example, make a free version with fewer functions, and add a paid version with more functions.

Zhang Haining: At that time, this model was quite popular. Part of the code was blocked, and two versions of the app were released, free and paid, and the paid app was promoted through the free app, but I never did it.

Q: The next important turning point is also an area we are more interested in - the open source community. When did you first get in touch with the open source community?

Haining Zhang: When I was studying in Canada, RMS (Richard Matthew Stallman) once came to our school to give a speech. He talked about the concept of open source and some stories. It sounds very interesting. It was the first time I came into contact with open source. Before 2005, everyone had the idea of ​​open source, but the concept of open source was not so obvious and mainstream. After 2005, with the rise and promotion of cloud computing, open source gradually became popular. I have this feeling, I don't know what Biao Wei thinks?

Zhuang Biaowei: I was talking with a friend the day before yesterday about the development of open source. In fact, at the earliest time, those of us only knew technology, not open source. Although the technology we used might be some kind of open source technology, we didn’t care about it, and didn’t separate it from open source, software, and open source development technology. , which is the first stage. In the second stage, there are three types of people consciously at the beginning, one is Chinese open source people participating in foreign open source projects; the other is translators, who will be very enthusiastic about translating some foreign documents; the third is people like you In this way, you have a certain understanding of open source abroad, and then bring your foreign development habits and understanding of the open source community back to China and become a part of the domestic open source community. Later, there is the concept of "we are a group of open source people", which is probably such a change.

Zhang Haining: The first time I realized the power of open source and felt that open source would gradually become a very important trend was around 2007-2010. At that time, those of us who wrote Java also used some open sources, such as the well-known Log4j, which was already in use at that time. At that time, open source code was used, but the proportion may not be as high as it is now. Most of the time, people still had to write it by themselves, or there were not so many open source software available at that time. After 2005, especially after 2010, the atmosphere of open source, including the aforementioned community operation and promotion in all aspects, gradually increased. Until now, open source is also a very important model for promoting the use of software. At present, the development of applications is basically inseparable from open source software, so I think open source has a development process.

Q: Which open source community did you first contact or deeply participate in?

Zhang Haining: The most in-depth open source community should be the Cloud Foundry (CF) project that VMware joined in 2012. At that time, my task was to promote the Cloud Foundry technical community. The characteristic of Cloud Foundry is that PaaS (Platform-as-a-Service: Platform as a Service) is the first PaaS open source platform, which has attracted the attention and use of many people.

The project has two teams, one in Shanghai, China, and the other at the Silicon Valley headquarters in the United States. I was working as a missionary in China at the time, mainly doing CF solutions and technology promotion. I have been preaching in the Chinese community for about a year, and I have come into contact with a large number of open source community users. Since then, I have had in-depth contact with open source. Many friends and experience have been accumulated at that time. Doing open source related things has laid the foundation, which can be said to be a relatively important turning point.

Zhuang Biaowei: This is actually a big turning point in my career, because being an evangelist has to go out and do a lot of preaching, which is quite different from writing code.

Zhang Haining: Indeed. If you are not an evangelist, you may focus on developing programs and writing codes in the company. In the era of Cloud Foundry, there are fewer opportunities to write code. Because most of the time, I'm either talking about PPT, or introducing its features at the conference, and occasionally doing PoC. Of course, my previous experience in software development is very helpful to me in the technical transformation of Cloud Foundry, and has a great pavement effect.

Q: What do you think was the atmosphere in the Cloud Foundry community at that time?

Zhang Haining: I think Cloud Foundry was quite popular at that time. For example, many of my domestic cloud or cloud-native friends were active in the CF community at that time. The concept of Cloud Native was first proposed by people from Pivotal. In a sense, Cloud Foundry is also one of the originator projects of Cloud Native.

There are two reasons for this. One is that there are few projects of this type, not many PaaS projects, and the concept of cloud native is relatively new; the other is that many technology enthusiasts are paying attention to this field and actively participating in it, like us There are quite a few people participating in each Meetup and other activities organized.

Q: What are the metrics or work goals for the Cloud Foundry community?

Zhang Haining: In fact, it is to let more users use CF. From the perspective of an evangelist, the purpose of evangelism is to let more people understand and apply CF, so the easiest KPI to measure is the number of users, especially for a new platform/project.

Zhuang Biaowei: Will you find a way to attract external open source contributions?

Zhang Haining: In addition to using it, of course, those who can provide code are also very welcome. But I feel that the open source culture in China is not as popular as abroad in terms of ideology and willingness. Everyone uses it first, and there are relatively few direct contributions. 

Zhuang Biaowei: We also felt this way when we were doing open source. To do open source in China, only a small number of people are enthusiastic, and the rest are either watching lightly from the sidelines, or using it silently, and even secretly changing it to sell it for money. There are very, very few people who are really passionate about communicating with you, actively contributing, or making suggestions.

Zhang Haining: There may be a lack of atmosphere, of course, it may also be a lack of awareness. You don't think that while using it, we have the responsibility and obligation to give back to open source projects. In another interview, I said that if possible, we should set up an open source culture course in Chinese universities to instill this kind of thinking in students before they enter the society. I think this is a way to change the status quo.

Q: Cloud Foundry is a very popular open source project, but today when we talk about cloud native, only containers are completely inseparable. It seems that Cloud Native is equal to containers and Docker. Of course, Docker is now being put back. In such a change, how did you view this matter at the time?

Zhang Haining: Cloud Foundry was launched in 2011, and Docker was released in 2013. Docker is convenient and easy to use, and Developer is easy to use, so it quickly occupied most of the container market. At the same time, there were many competing products/technologies, such as the Warden module in Cloud Foundry, which can run applications in the form of containers; in addition, there are many other similar solutions from manufacturers such as Google. The biggest difference in Docker's solution is that it can run container applications through the same tool chain. The image format invented by Docker is also a major basis for our later Harbor project.

Container images can package applications in a fixed and standard format for distribution very well, and have the characteristics of portability and dissemination. For all the container technologies before, I feel that many of them only realize the running part, and do not have the ability to solidify distribution. Docker has the two advantages of being easy to use and having a common packaging format. People who have used it will not let it go. It can be said to be synonymous with containers.

Cloud native includes a series of container technologies and concepts, and container is just one of the cloud native technologies. So it is not accurate to say that containers are equal to cloud native.

Q: Docker is so easy to use, why do you make Harbor additionally? Is it for private deployment?

Zhang Haining: I think the core value of Docker is the container image format and the Registry image warehouse it publishes. With this mirror warehouse, the mirror is alive, and the indiscriminate transfer between various systems can be realized. Sun Microsystems used to have a slogan about Java "Write once, run anywhere". Docker uses the Registry as an intermediary to enable any machine to easily run through the container image, solving the problem of image (and contained applications) flow. However, the first version of the Registry made by Docker only has the basic ability to distribute images, and lacks the capabilities that many enterprises need. For example, for enterprises, a mechanism similar to RBAC (Role-Based Access Control) is required to meet the requirements of enterprises. . Therefore, based on the basic version of Docker Registry, we have added a series of image management capabilities, and developed Harbor, a mirror warehouse management software, to meet the needs of users. It can be regarded as an enhanced version of Docker Registry.

Q: Why do you want to open source Harbor?

Zhang Haining: At that time (around 2012), most enterprises used virtual machines, and the container technology was so new that no one dared to use it. They were in a wait-and-see state, even though everyone understood its advantages. Later, it was also because the Harbor project could find a larger user base that it was decided to open source it.

Q: How did you convince the company to allow Harbor to open source?

Zhang Haining: At that time, I also did a lot of persuasion work. VMware is a relatively traditional enterprise-level software company. Open source code is also a new thing. After several months of work, it finally convinced the leaders of all parties to open source Harbor.

Zhuang Biaowei: There is a dilemma in persuading leaders and companies to open source a project. You can neither make it too important nor make it too unimportant. If it is too important, the company will ask why not sell it for money? Let others make this money in vain? If it is not important, the company will ask what is the meaning of opening it?

Zhang Haining: This is indeed something that all companies will consider, because each company has its economic interests. If an enterprise releases a valuable and commercially viable code for free, it must weigh the gains and losses. Because container technology and Harbor were very new at that time, their commercial potential was uncertain, so the company didn't care too much. On the other hand, from the perspective of cloud native projects, they are basically open source, which may be a process of cultural change, which is relatively easy to explain.

Zhuang Biaowei: Almost all the emerging technologies that we can see in the industry are promoted in an open source way, and few of them are closed source.

Zhang Haining: I think it is also the user's choice. When there is a choice, users generally choose open source first. They have the freedom to try, adjust, and transform. It is also a production method that avoids reinventing the wheel and improves efficiency.

Q: Harbor is already a very successful open source project of VMware, why donate it to CNCF?

Zhang Haining: There are several backgrounds: the first one is that Harbor has a huge mass base and is very popular among users. 80%-90% of the cloud-native users I have contacted tell me that they are using the Harbor container mirror warehouse, and the audience is very wide. Second, from the perspective of neutrality, if an open source software is dominated by a certain company, the company may have certain concerns. What if it gives up in the future? What if the road belt is crooked? If there is a neutral foundation to manage, it may be the best choice. The third is to think about the acceptance of developers. Especially when participating in projects, projects in open source foundations are often preferred, because in this way, the subsequent development of the project will not be affected by the decision of a certain company. This is one of the reasons why Harbor donated to CNCF at that time. If you don't donate, few people are willing to develop with you, and it will only get smaller and smaller. Furthermore, CNCF had no open source projects in China at that time, so they decided to donate Harbor to CNCF and they readily accepted it. To sum up, Harbor is the first open source project donated by VMware and the first CNCF sourced from China.

Q: When did you start paying attention to the blockchain?

Zhang Haining: The essence of the blockchain is a decentralized distributed ledger database. As a trust-creating machine, users’ trust in the blockchain is essentially based on open source code. If it is not open source, how can people trust you? Therefore, most blockchain projects are now open source.

It should be in 2016. I learned about blockchain in the open source community. At that time, Ethereum was just emerging, and I participated in some activities of Ethereum. By chance, I also participated in writing a book called "Blockchain Technology Guide" at that time. In 2017, the blockchain became popular, and that book became a bestseller in China. It is against this background that I got involved in the blockchain field.

Q: Which open source project is the main investment in now?

Zhang Haining: I am currently investing more energy in another project called FATE for privacy computing. It is the first industrial-level open source framework for federated learning, and its integration point is relatively close to cloud computing. Federated learning privacy computing is a very popular field now, and it is an algorithm that can ensure data security and privacy. The FATE (Federated AI Technology Enabler) I am currently participating in is still somewhat related to Harbor. I am the chairman of the FATE open source community development committee.

At the KubeCon 2019 Shanghai Conference, WeBank donated FATE to the Linux Foundation. At that time, I happened to give a keynote speech on Harbor at KubeCon 2019, and got to know the relevant personnel of the FATE open source project. The FATE project is very good, and we hit it off right away. In the second half of the same year, we started from the perspective of cloud native, participated in some related work, and became active in the community.

Q: What are the more interesting areas that you will care about or pay attention to in the future technological development ?

Zhang Haining: At present, artificial intelligence is still a very interesting field, with great potential and room for imagination, and there are still many directions worth exploring and developing. Although from an algorithmic point of view, artificial intelligence itself is the process of finding numerical solutions through calculations. Because it contains many possibilities, I think it will bring some unpredictable innovation points, which is a more interesting field.

Other edge computing, which everyone is concerned about, may also be a potential direction. Although it has been said for many years, I think it may eventually come out.

Zhuang Biaowei: I found that your projects have many firsts: Cloud Foundry is the industry's first open source PaaS, Harbor is the first container image enterprise-level solution, and it is also the first CNCF China open source project. We originally did open source out of interest and found it interesting, but the further we go, the more we need some kind of forward-looking. I believe that so many of your firsts are inseparable from your forward-looking. How did this ability to judge earlier than others come about?

Zhang Haining: It may be due to the mission and culture of our Team. Leaders often encourage us to explore new frontier fields, which are the kind that no one has touched or known. In short, the newer the better, it has created us to a certain extent. Always do something original. But in fact, we didn't think about whether so many are the first and the first, mainly to see what new value and new opportunities it can bring, and what new uses it can bring to users.

From the perspective of technical personnel, we will conduct research first to initially judge whether a certain technology has value. If there is potential, I will find one or two colleagues to do in-depth research. There have been both successful and, of course, failed projects along the way. In addition to purely technical reasons, there is also a process of comprehensive team decision-making.

Q: Opinions/suggestions on open source rainforest, and expectations for the future development of open source rainforest

Zhuang Biaowei: Open Source Rainforest is an enterprise open source empowerment plan first initiated by Huawei. Its essence is to create a better and healthier open source ecosystem in China and around the world. Because we think that the tropical rainforest is a very diverse ecosystem, and we also hope that the open source ecosystem can flourish like the tropical rainforest, so we named it Open Source Rainforest.

We will do a lot of things, such as Open Source Rainforest’s open source empowerment courses for enterprises, build a knowledge system around the three major aspects of open source general knowledge, open source use, and open source contribution, and use the technical and experience advantages of all parties to help companies understand open source Concept, master practical methods, so that enterprises can use and contribute to open source more efficiently. Like our big coffee interviews today, we are actually looking for friends in the community to chat, and making friends is also what Open Source Rainforest is doing. In addition, through the continuous evangelism and empowerment of the open source rainforest, as well as some online and offline activities, we hope to gradually form some ecological cooperation opportunities. From the perspective of an open source person, if the open source ecosystem wants to develop better, what else can we do?

Zhang Haining: I think the points you just mentioned are quite accurate. From the perspective of participation, influence, popularity, and recognition are the key points of open source. The name Open Source Rainforest is also very vivid. When you hear Rainforest, you immediately think of the scene of ecological prosperity. From the perspective of open source culture, it is very important.

Guess you like

Origin blog.csdn.net/Huawei_KYYL/article/details/127976586