The author foreign source | | creek alibaba cloud native public number

“Society works not because we want it to, but because it is part of our evolutionary disposition. It’s literally part of human nature.” The Origin of Virtue by Matt Ridley

Perhaps the ability to cooperate and help each other evolved to satisfy a part of our innate “personal desires” that benefit both ourselves and others. This is well represented in the open source community. “Open source” itself is a social event that owes much of its popularity to collaboration and the innovation it brings. Especially as cloud native becomes the trend of The Times, enterprise IT technology system more and more toward the original, standardized thinking evolution, all these promote open source to a new golden age.

I have to say that today’s developers are happy: the cloud makes infrastructure as easy to use as water and electricity; Cloud native will continue to decentralize the threshold of distributed applications; The open source community helps developers find the basic software they need. The rest is for developers to figure out how to take advantage of all of this, by actively engaging in larger learning, communication, and communication circles, and by leveraging the capabilities of the open source community to make the “distributed” and “social” decisions that arise within the developer community a de facto standard. In turn, let each developer himself or herself be the protagonist of the wave of technology development.

OAM Community Maintainer Roy: Things I’ve grown with the community

A few days ago we had a conversation with Roy Maintainer of KubeVela project, an Open source cloud-native Application standard definition and architecture Model community (OAM). Roy is now a graduate student majoring in computer science at Hanyang University in South Korea, a bright boy. When asked what his hobbies were, he answered “coding” and “running” without thinking.

! [1.jpg](https://ucc.alicdn.com/pic/developer-ecology/dc6b5122aa244375adca23fc2197e483.jpg) Roy GitHub ID: @captainroy-hy

Roy has been actively contributing to the OAM since its launch. As the first project in the world to define cloud native application standards and architecture model, OAM, which was opened in October 2019, is young and growing fast, just like Roy. Young OAM emerged this year and was selected as “top 10 Open Source Emerging Projects in 2020”. Young Roy is the core Maintainer of the KubeVela project with his own contributions to OAM, which needs to help with project development from a more global perspective.

We talked to Roy about his Maintainer experience and got some different answers to questions about how to view the open source spirit, contribute to the community and understand OAM.

“Discovering OAM comes from looking for cloud application model landing scheme”

Roy’s research direction in the lab is “Cloud computing and Cloud Application Choreography”, which helps application developers to build and orchestrate large and complex cloud native applications by shielding them from the complexity and differences caused by the underlying infrastructure. This is a very challenging topic at this stage.

With the rapid development of cloud native, there are many open source projects related to cloud native emerging in the open source community. Roy often looks at some of the open source projects related to cloud native. In his view, the value of the OAM is with a view of the perspective of the entire cloud native area, through the establishment of a new definition and application delivery model, used to build and deliver in the application layer provides a cloud native applications standard specification, it gives the past has focused on infrastructure layer cloud native areas opened up a new direction.

Because he saw that the goal of OAM was very close to his own research topic, coupled with the endorsement of large enterprises such as Alibaba and Microsoft, coupled with his own “backtrack” of the past open source experience of the core start-up members of THE OAM community, Roy gradually established his trust in OAM and began to “follow” in a real sense.

“The first contribution has nothing to do with the code, but it matters”

Roy’s contribution to OAM began with the translation of The English documents of OAM-Spec. “At that time, I saw a developer put forward such a demand in the Issue, and I started to translate it under the leadership of Teacher Sun Jianbo. This process helped me a lot in understanding the OAM because I had to go through the instructions from start to finish.

In addition to translating documents, Roy also introduces many ways to contribute to the community besides writing code, such as:

  • Asking questions in the community, or even poking fun at existing features, gives project members a better idea of how to help users;

  • Answer questions from other members. If you find that a question needs to be answered over and over again, you can write or update a FAQ document so that other people with similar questions can refer to it at any time.

  • Provide specific scenarios of OAM practice and problems encountered. Practical problems based on specific scenarios can help the community quickly locate user needs.

  • Ideas for new feature design, what features you want the project to have in the future, why you need it, initial implementation ideas, etc., can be raised in the community, you will find that others have similar pain points, and the community may eventually push to implement the new feature;

  • Help to educate and promote the program. You can help OAM educate and influence its users by sharing in any way you like, such as group discussions, writing case studies and blog posts.

“OAM is a new project and there is so much you can contribute. Code is an important way, but it’s not the only way, and you can always find a way to get involved in the community in a way that works for you, and you will definitely receive feedback for your contributions to the community, “Roy said.

“How QUICKLY I integrated into the OAM community as a student Developer”

Roy is now devoting most of his energy to the maintenance of the OAM project. In addition to being in school and having free time, there are also two strong motivations for him to do so. One is to increase his knowledge and skills by participating in OAM. Second, you can feel a sense of accomplishment when you see that the project you are involved in really helps a lot of developers and has been used by more and more people.

However, as a graduate student in school, it was not easy to integrate into such an engineering practice oriented community at the beginning. The lack of practical experience in the cloud native space and the knowledge blindness of mature projects was a challenge for Roy: “One of my predecessors introduced me to a problem that came up in production, and because it involved so much jargon, I didn’t know what he was talking about at first. Not until they give concrete examples, or even post the code. The lack of familiarity with the practical scenarios can easily lead to a bias in my understanding of the functional requirements.”

However, these are the same challenges that Roy hopes to complement with community: “Community work is a practice in and of itself. It’s not the same thing as going to the classes and reading the tutorials yourself.”

  • Keep learning in open source

In order to overcome these difficulties, Roy first pushed himself to learn and explore the relevant basic knowledge. Cloud native is a relatively new and comprehensive field, take Kubernetes for example, involving knowledge points, function points are very many, with a low learning threshold. Roy shared some of his experiences using the open source community to learn: “First OF all, I will learn from the open source community and put together some of the most authoritative official documents, and also look at some mature open source projects based on Kubernetes. Because these projects are constantly improved during the landing process, they gradually form a relatively mature practical reference, which is a very useful learning object when we encounter similar problems.”

  • Supplement practice through communication

Consulting seniors in the community is the most effective way for Roy to make up for his shortcomings in practice: “IN the community, I have the opportunity to communicate with many seniors with strong technical ability, such as directly communicating with senior technical experts in Aliyun, which is a very valuable opportunity for me.” He believes that the most important thing in community work is to communicate with each other and not to be “closed-minded”. Only when everyone has the same understanding of the same problem, and reaches a preliminary consensus on the solution, then start to write code, is the efficient way to solve the problem in the community.

“Become Maintainer process to make my understanding of OAM more complete”

From actual community involvement to Maintainer promotion, Roy helped KubeVela achieve several features over a period of four to five months, which were recognized by the founding team and existing maintainers. Through this work, Roy himself has a more complete understanding of OAM’s “application-centric” philosophy. In his view, the emergence of OAM and its current achievements are a natural progression in the cloud native field:

“The development of cloud native up to now, especially since the emergence of Kubernetes, can be said to have gone through a stage of savage growth. It provides highly extensible capabilities that allow you to integrate almost any form of software into the platform. This has helped Kubernetes and cloud native thrive, but it has also complicated the management of applications on the platform.”

As a developer who has been focusing on cloud native and Kubernetes, Roy believes that past open source projects have been around the infrastructure layer, while OAM was the first to come up with the concept of “application centric”, and recently opened source with KubeVela, The OAM model and Kubernetes runtime are fully implemented in a way that is more relevant to PaaS platform users and PaaS platform builders.

“Being Maintainer is a huge recognition for me and a huge amount of responsibility. In the future, in addition to listening more to community feedback and improving the capabilities of OAM and its sub-projects, I will also spread the concept of OAM and related open source projects to more developers, helping users to learn and practice OAM more quickly, just like sun Jianbo and his predecessors did, “Roy said.

“Hope to build an ‘app Management ecosystem’ with more developers

When it comes to the future of the OAM project, Roy wants to see “the next generation of fully open application management ecosystems” mature. He believes that the development of OAM, including KubeVela’s open source, has created a standard cloud-native application platform framework that is highly scalable and flexible, user-friendly, and provides a lot of out-of-the-box application management capabilities, and more importantly, This framework also gives the entire community a “one-click assembly” of cloud-native ecosystem capabilities as the best path to PaaS, such a fully open application management ecosystem based on cloud-native community capabilities is actually in its infancy.

At the end of this chat, Roy expressed his expectation: “I hope that more and more people will participate in the OAM community, especially KubeVela project, to build a thriving application management ecosystem, so that more and more platform teams can quickly and easily build powerful and rich PaaS, so that application developers can truly enjoy the beautiful experience of cloud native.”

Afterword.

“Self-interest and mutual aid are not incompatible.”

After talking with Roy, we had a very direct experience of the mutual achievements of “developers”, “open source community” and “market” : developers contribute to open source, open source drives technology to enterprise, and enterprise brings more convenience to developers.

So developers, don’t let yourself be alone, it’s a virtue, and it’s a good thing to help yourself. Finally, this open, inclusive and active community, you are welcome to join us. If you have any questions, please feel free to search the group number: 23310022 to join the community exchange group.

Project Address:

  • OAM:github.com/oam-dev/spe…
  • KubeVela:github.com/oam-dev/kub…