Starting from 2021, there is an interesting saying that often appears in major technical media or open source forums, “Open source is eating everything.” Whether it is exaggerated or not, from the personal perception of an industry practitioner, open source has indeed changed from the niche culture of a few geeks to the mainstream software development model. More and more enterprises are beginning to embrace open source technology and enjoy the benefits of open source technology. benefits.

On the one hand, open source technology has been widely used and implemented. Judging from the database and big data field we are in, the popularity index of global open source databases will surpass that of commercial databases for the first time in 2021. Big data components represented by Apache Hadoop, Apache Spark, Apache Flink, etc. almost constitute the big data production link. on the de facto standard. On the other hand, developers are increasingly enthusiastic about participating in open source projects and communities. Whether it is for the purpose of mastering technology, solving business problems, and improving business efficiency, or for the purpose of studying technology, strengthening coding ability, and improving vision, or for the purpose of enriching resumes and seeking career opportunities, participating in open source Projects are one of the most effective ways for developers to improve themselves.

Open source database popularity index surpasses commercial databases for the first time

In the past few years, I have been involved in the promotion of the open source project Apache Doris, and have had in-depth discussions and exchanges with many developers during this period. In June 2022, Apache Doris will graduate from the Apache incubator and officially become an Apache top-level project, allowing Apache Doris to attract the attention of more developers around the world. In the process, I also realized that how to participate in the discussion and development of open source projects is a question repeatedly mentioned by many developers, and it is also the most urgent question for new developers to seek answers.

In order to answer the above question, this article was born. In fact, it is not difficult to participate in open source projects. It can even be said that there is a certain formula. Taking the Apache Doris project I participated in as an example, I will introduce some working mechanisms of the Apache Doris community, how to participate in community contributions, and how to complete your first project. A PR, I hope to provide a simple idea for small partners who want to contribute to the open source community, and I also hope that more developers can participate in the Apache Doris community, grow with the community, and promote the excellent database developed by Chinese people to In the world, we will realize the innovation of analytical database technology together, and witness more impossible stories happening together.

From the moment an open source project is successfully hosted on GitHub, a README file is born. Just like the preface of a book or the instruction manual of an electronic device, the README file is the first entry to the journey of open source, covering almost all postures of using and participating in open source projects, including project background, system architecture, and technical characteristics The introduction of other technologies also includes the operation guide for users on how to install, deploy, and get started. It also provides the main contact information of the project maintainer, the address for obtaining relevant materials, and the guidelines on how to participate in the contribution.

The above is the Apache Doris README https://github.com/apache/doris/blob/master/README.md

By reading the README file, you can build a relatively comprehensive understanding of the Apache Doris community.

Mailing List is the most recognized communication method in the Apache community. Whether it is question feedback and answer, technical exchange and discussion, version iteration and release, community resolution and publicity, etc., it can be carried in the form of mailing list. The mailing list features asynchronous communication, rational thinking, openness and transparency, and is also very suitable for communication in the open source community. Anyone can subscribe to the mailing list to learn about community dynamics.

To subscribe to the mailing list, please refer to the following links:

Subscribe to the mailing list https://doris.apache.org/en-US/community/subscribe-mail-list

In contrast to the asynchronous communication mode of the mailing list, the instant messaging mode is represented by IM tools such as WeChat, QQ, and DingTalk.

Due to the higher efficiency of information transmission, instant messaging software has almost become the main way of daily technical communication and exchange in the domestic open source community. Take the Apache Doris community as an example. At present, the Apache Doris community has more than 20 WeChat communities with more than 8,000 users. Compared with the mailing list, the WeChat community undoubtedly carries more responsibilities for user support and question answering. Every user can join the user community by scanning the code at the entrance on the Apache Doris official website to discuss technology and seek answers.

At present, the Apache Doris community has a dedicated user support team to help users in the community locate and solve problems, although this can lead to a better user experience (in the words of some community users, the technical support of the Apache Doris community is even stronger than some The support of commercial software is even greater), but the natural shortcomings of the WeChat community, such as information fragmentation, too much redundant information, and inability to accumulate knowledge, still exist. Therefore, the community has been seeking more reasonable and sustainable methods, such as Slack. The community and GitHub Discussion hope to improve the efficiency of communication and problem solving while maintaining the user experience. This is also our more recommended communication method.

Join the Slack Join the Slack

GitHub Discussion https://github.com/apache/doris/discussions

The official website and documentation are the most important and efficient ways to gain a deep understanding of an open source project. The importance of familiarizing yourself with the documentation for mastering an open source project is self-evident and will not be repeated here.

In July 2022, with the support of the community, we carried out an overall revision of the Apache Doris official website and document structure. In addition to the overall optimization of the visual and interactive effects of each page, we also added important documents such as full-text search and version switching. The function can search any field of the current version of the document to help users quickly retrieve and locate the content that needs to be queried.

There are many ways to participate in and contribute to an open source project, including feature development, test case writing, process tool improvement, documentation improvement, blogging, etc. Any contribution to the project is valuable and welcome. After the submitted contribution is officially merged, it will automatically become a contributor to the project and appear in the project’s contributor list.

The Apache Doris community has clear criteria for contributor growth. After contributing enough to the project, contributors have the opportunity to become Committers through selection and voting, and have permission to merge into the code base, and their names will appear in the Apache website list. Further, there is also the opportunity to become a PMC Member (Project Management Committee Member) of the project and have the right to vote on important decisions of the project.

Apache Doris PMC/Committer list: https://doris.apache.org/en-US/community/team

From initial initiation to final integration, each contribution will roughly go through the following steps:

  • Problems or optimizations found
  • Fork code repository
  • Local development and self-testing
  • Create Pull Request
  • Waiting for Code Review
  • Approved and merged into Master

Find the first contribution point

Next, let’s talk about how to find a contribution point. This is often the first step for most people to step into the open source world. If you are lucky enough to step in, you will find that there are two completely different landscapes outside the door.

Perhaps a small mistake was found when browsing the document, such as a small typo or a link that was found to be invalid, or perhaps there was room for improvement in the detailed description or semantic expression of the existing document, which could be corrected. Or complete open source documents as the first starting point to help improve the quality of documents, which is also an important way to participate in open source projects.

Documentation contribution https://doris.apache.org/en-US/community/how-to-contribute/contribute-doc

It is also possible that a bug was found in the process of using an open source project, or some unsatisfied function points were found in one of its business scenarios. After reading and analyzing the code, it was believed that it could be improved by its own ability. You can search on GitHub to see if someone has the same idea or question as you. If not, you can create an Issue and add relevant information in turn according to the Issue template.

At the same time, in the Issue list, issues with “good first issue” can be filtered out by Label, which are usually development tasks reserved by the community for new contributors, and the Apache Doris community will regularly summarize newbie tasks in the top issue. middle. If it is the first time to participate in an open source project, you can choose these simple tasks to practice, and you can feel the friendliness of the community to newcomers while familiar with the entire Pull Request submission process.

Good First Issue https://github.com/apache/doris/issues/11706

Usually the modification of the system architecture or the introduction of important functions needs to be fully discussed and communicated in the community. You can initiate discussions in the mail group, or submit an Issue for initiation. At the same time, you can submit detailed design documents in Doris Improvement Proposals to help other developers. The reader understands the design motivation, requirements and detailed solutions of the function.

DSIP https://cwiki.apache.org/confluence/display/DORIS/Doris+Improvement+Proposals

Fork code repository

After determining the contribution point, you can start to develop, and the first step is to Fork the code. After entering the GitHub of Apache Doris, click the Fork button in the upper right corner to Fork. If you like Apache Doris, you can also follow the code repository by clicking the Star 🌟 button next to it)

After the fork is completed, go back to your GitHub account to find the fork project. At this time, you have the permission to modify your fork project arbitrarily, and you can clone the code locally for development.

(1) Clone the code to the local:

git clone https://github.com/<your_github_name>/doris.git

After Clone is complete, origin will point to the remote fork address on GitHub by default.

(2) Add apache/doris as a remote branch Upstream of the local repository:

cd  doris
git remote add upstream https://github.com/apache/doris.git

(3) Check the remote warehouse settings:

git remote -v
origin https://github.com/<your_github_name>/doris.git (fetch)
origin    https://github.com/<your_github_name>/doris.git (push)
upstream  https://github.com/apache/doris.git (fetch)
upstream  https://github.com/apache/doris.git (push)

(4) Create a new branch to make changes on the branch:

git checkout -b <your_branch_name>

Note: is your custom branch name.

After the creation is completed, code development and self-testing can be performed.

Create Pull Request

After the development and self-testing are completed, the code can be referred to the remote branch of your Fork, and then the Commits are submitted and merged in by means of Pull Request.

For detailed Pull Request submission guidelines, please refer to the following documents:

Code Submission Guidelines https://doris.apache.org/en-US/community/how-to-contribute/pull-request

(1) Submit the code to the remote branch:

git commit -a -m "<you_commit_message>"
git push origin <your_branch_name>

(2) Create Pull Request

Switch to your own github page in the browser, switch the branch to the submitted branch , click Compare & pull request button to create, as shown below:

(3) Prepare branch

At this time, there will be Create pull request button, if not, please check if the branch is selected correctly, you can also click “compare across forks” to re-select the Repo and branch.

(4) Fill in the Commit Message

Please fill in the details of the Pull Request here. The Apache Doris community has a clear specification for the Commit format. For details, please refer to:

Commit format specification https://doris.apache.org/en-US/community/how-to-contribute/commit-format-specification/

(5) Wait for GitHub check and Code Review

click Create pull request After the creation, the Pull Request will automatically trigger the GitHub inspection task after the creation is completed, and the code can only be merged after passing the inspection.

Github Checks https://cwiki.apache.org/confluence/display/DORIS/Github+Checks+Guidance

The created Pull Request also needs to accept the community’s Review while accepting the GitHub Check. In the Apache Doris community, we welcome everyone to participate in the review of the code, and ensure the quality of the code through open discussions. Finally, the developers who have the permission to merge the code will give comments, and at least one non-author Committer must give the comments. +1 to be merged.

Code Review Guide https://doris.apache.org/en-US/community/how-to-contribute/contributor-guide#code-review

(6) Code integration

Finally, the GitHub check task and Code Reivew’s Pull Request will be merged into the Master within one working day. Congratulations on becoming an Apache Doris Contributor!

In fact, there is no threshold for participating in open source projects. Most open source projects are free and open, and more people are welcome to participate. Rather than knowing how to participate in open source projects, I personally feel that it may be a little barrier caused by information transmission barriers. Maybe a simple email to the dev mail group can be resolved.

Whether submitting an Issue or participating in PR Review, or modifying and improving documents, or sharing technical blogs and application cases, you are all participating in open source contributions, and we look forward to having more of you participate.

– End –

If you are interested in Apache Doris, please join Doris!We also launched Call for Papers , I invite you to tell the story of meeting Doris and getting to know each other. Not only will you get beautiful gifts, but you can also get SelectDB omni-channel exposure blessing!

Finally, more open source technology enthusiasts are welcome to join the Apache Doris community, grow together, and build a community ecosystem.


#participate #Apache #top #open #source #projects #scratch #Wall #Crack #Recommendation #Personal #Space #SelectDB #News Fast Delivery

Leave a Comment

Your email address will not be published. Required fields are marked *