Brief introduction:When it comes to contributing to open source projects, the common response is to contribute at the code level. It is a common misconception that I am only a contributor because my code has been merged by the community. In fact, there are a lot of non-code contributors in an open source community, and a lot of key roles in an open source community are overlooked.

Source head photo source: https://opensource.guide/ | alibaba cloud native public number

Does contributing code count as contributing to an open source project community?

When it comes to contributing to open source projects, the common response is to contribute at the code level. It is a common misconception that I am only a contributor because my code has been merged by the community. In fact, there are a lot of non-code contributors in an open source community, and a lot of key roles in an open source community are overlooked. Organising activities can also be about contributing to the community:

  • You can learn from @fzamperin in Cuiaba, Brazil, and organize workshops or offline meetups for your favorite open source projects
  • You can also help community members find suitable offline summits to present technical issues

Technical writing or technical preaching also contributes to the community:

  • Write or improve documentation for your favorite open source projects
  • Set up a sample of how to use this open source project
  • Translate documentation into other languages to help global developers understand and use the project
  • Share your guidelines and tips on using the project on your official account or blog

Design and website development also contribute to the community:

  • Restructure the open source project website to help developers better understand and use the open source project
  • Conduct user research to better improve the website navigation and directory
  • Build a Style Guide to help the project have a more unified, polished visual design
  • Design stickers, T-shirts and other accessories for the open source project

Apache Dubbo Samples SIG is up! Samples contributors are being recruited

Today, Apache Dubbo has 386 contributors, including code, tests, use cases, documentation, recommendations, and more. Currently, Dubbo Core has two very active evolution branches, 2.7 and 3.0, among which version 2.7 has been put into production on a large scale by many well-known enterprises, such as Ctrip, Industrial and Commercial Bank of China, Guasi second-hand car, etc., while branch 3.0 has also released the Preview version in March. The first available version of 3.0 is also scheduled to be released in June. The rapid evolution and iteration of the kernel has contributed to the rapid development of Dubbo, but it has also brought new challenges to the entire community and Committer core project team, as shown in:

  • User examples and documentation associated with the new Feature are missing. Users have no idea how the new features will be used, and flipping through the code is the only way.
  • Stability cannot be fully guaranteed. During iterations, unit and integration tests are not adequately supplemented, which leads to reduced test coverage and high regression costs, and worse, if issues remain undiscovered in the release phase, they will inevitably be brought to the user side.

Due to the lack of documentation and use cases, we had to deal with a large number of issues, as well as other online Q&A, to answer users’ questions. Some of them were users who didn’t know how to use a specific feature, others were configured incorrectly and didn’t work properly. Stability decline is both to ourselves and users of Dubbo double whammy, constant problems will lead to users began to lose faith in release of Dubbo, core defender, and for those of us who spend a lot of energy to complete version has added to the user, it will make the whole team has become frustrated. There is no doubt that addressing these issues is a pressing task for the Dubbo community, which is as important in itself as the core feature development that everyone is passionate about, but we recognize that it takes a lot of effort to do it, and it’s going to be a lot of work with the current few maintainers. Especially considering that they also need to take care of the entire Dubbo community. In this context, we thought of bringing together the strength of the community, and today, with the unanimous recommendation of the Committer core members, Apache Dubbo decided to form Samples Sig (Note: SIG is the abbreviation of Special Interest Group (i.e., Interest Group), in the hope of improving the above problems such as missing examples and stability. There is no doubt that the SIG will require the active participation of the developers, and of course the core developers of the community will also be actively involved.

Dubbo status quo

Of course, Dubbo’s testing and stability mechanism is not without its advantages in supporting the stable operation of so many enterprises and instances. Here are some of the capabilities and mechanisms Dubbo has.

  • Unit tests. Unit tests are all based in \ _https: / / github.com/apache/dubbo\_ backbone warehouse, now can reach about 40% to 50% coverage, but it is a pity that in the near future a lot of new changes, including 2.7 and 3.0, in this respect are lacking.
  • Integration testing. Dubbo integration test project is located in \ _https: / / github.com/apache/dubbo-samples\_, containing the most of our current construction Dubbo Feature use cases, you can take this as a Quick Start with example of project, It can also be used as a functional reference manual (code), on which we build an automated integration test mechanism that enables full verification of all use cases.
  • Automated test flow based on GitHub Actions. Each code submission, PR, and Workflow are triggered, which compiles the backbone repository and then runs unit tests, integration tests, and some code-conformance checks.

The improvement plan we need to do is to continue to improve on the basis of the above existing components. Through combing, we conclude that the following parts need to be improved:

  • Dubbo 3.0 introduces some new core mechanisms, component unit test coverage
  • User cases and integration tests for some of the new core components introduced in Dubbo 3.0
  • Dubbo focuses on components such as ZooKeeper, Nacos, etc
  • Unit test coverage of some core components of the Dubbo kernel, such as Registry, Directory, URL, FilterBuilder, Context, Asyncrp CResult, ApplicationModel, ServiceRepository, etc

Please pay attention to the SIG contact information below for better ongoing collaboration and task progress updates.

Help and requirements for participants

Get involved in the SIG, whether you are a student, a new Dubbo developer, a user, or a techie in the workplace, here are a few things you can do:

  • Learn how to use Dubbo’s new features
  • Get a quick look at the core mechanics of Dubbo
  • Get first-hand information on the evolution of Dubbo
  • If you are an enterprise user, you can also jointly promote the stability of Dubbo and solve the problem of Dubbo’s enterprise landing
  • Communicate deeply with technical experts and peers in the industry to improve ourselves and realize information sharing
  • Accumble activity, become an open source expert, get attached to Apache and have the opportunity to become Apache Dubbo Committer

In addition, the community will also hold online and offline activities from time to time to obtain exclusive gifts from community contributors. The only requirement for participants is enthusiasm, continuous commitment to the Dubbo community, and regular participation in our SIG communication activities, so as to achieve collaboration with others.

Scan the QR code to enter the group

Reference documents:

  • https://opensource.guide/how-to-contribute/

Copyright Notice:The content of this article is contributed by Aliyun real-name registered users, and the copyright belongs to the original author. Aliyun developer community does not own the copyright and does not bear the corresponding legal liability. For specific rules, please refer to User Service Agreement of Alibaba Cloud Developer Community and Guidance on Intellectual Property Protection of Alibaba Cloud Developer Community. If you find any suspected plagiarism in the community, fill in the infringement complaint form to report, once verified, the community will immediately delete the suspected infringing content.