<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Contributor Guide on Apache Dubbo</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/</link><description>Recent content in Contributor Guide on Apache Dubbo</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/index.xml" rel="self" type="application/rss+xml"/><item><title>How to Become a Dubbo Committer</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/become-a-committer_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/become-a-committer_dev/</guid><description>&lt;p>Anyone can become a contributor to an Apache project. Being a contributor simply means you are interested in the project and contribute in some way, from asking reasonable questions (which document the project and provide feedback to the developers) to providing new features as patches.&lt;/p>
&lt;p>If you become a valuable contributor to a project, you may be invited to become a Committer. A Committer is a term used by the ASF (Apache Software Foundation) to refer to individuals who commit to a specific project. It grants you write access to the project&amp;rsquo;s repository and resources.&lt;/p></description></item><item><title>New Contributor Guide</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/new-contributor-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/new-contributor-guide_dev/</guid><description>&lt;p>This guide aims to provide guidance for newcomers preparing to contribute to Dubbo.&lt;/p>
&lt;h3 id="mailing-list-description">Mailing List Description&lt;/h3>
&lt;p>The mailing list is the official recommended discussion channel for Dubbo, where all topics related to Dubbo can be discussed. Please click &lt;a href="https://github.com/apache/dubbo/issues/1393">Issue&lt;/a> for more information about subscribing to the mailing list.&lt;/p>
&lt;p>To subscribe to the mailing lists below, please refer to the &lt;a href="../mailing-list-subscription-guide_dev">Mailing List Subscription Guide&lt;/a>&lt;/p>
&lt;ul>
&lt;li>&lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a>: Development mailing list where you can ask any questions encountered while using or developing Dubbo.&lt;/li>
&lt;li>&lt;a href="mailto:commits@dubbo.apache.org">commits@dubbo.apache.org&lt;/a>: All commit content will be pushed to this mailing list. If you&amp;rsquo;re interested in Dubbo&amp;rsquo;s progress, you can subscribe to this mailing list.&lt;/li>
&lt;li>&lt;a href="mailto:issues@dubbo.apache.org">issues@dubbo.apache.org&lt;/a>: All &lt;a href="https://issues.apache.org/jira/projects/DUBBO/issues">JIRA Issues&lt;/a> and modification information will be pushed to this mailing list. The Dubbo community has decided to use GitHub Issues instead of JIRA Issues, so most Issues will be tracked by GitHub Issues. JIRA Issues are used to track ASF related issues.&lt;/li>
&lt;/ul>
&lt;h3 id="reporting-issues">Reporting Issues&lt;/h3>
&lt;ul>
&lt;li>For non-security issues, raise them directly in GitHub Issues, and also refer to the &lt;a href="https://github.com/apache/dubbo/blob/master/.github/ISSUE_TEMPLATE/dubbo-issue-report-template.md">Issue Template&lt;/a>.&lt;/li>
&lt;li>For security issues, please refer to &lt;a href="../reporting-security-issues_dev">“Reporting Vulnerabilities”&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h3 id="code-contribution-process">Code Contribution Process&lt;/h3>
&lt;p>This contribution process applies to all content in the Apache Dubbo community, including but not limited to dubbo (main repository), dubbo-admin, and dubbo-website.&lt;/p></description></item><item><title>Mailing List Subscription Guide</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/mailing-list-subscription-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/mailing-list-subscription-guide_dev/</guid><description>&lt;p>The Apache Incubator&amp;rsquo;s Dubbo developer mailing list (&lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a>) has been established. Please feel free to subscribe and refer to [^1] for more details.&lt;/p>
&lt;p>You can also directly view the &lt;a href="https://lists.apache.org/list.html?dev@dubbo.apache.org">archive&lt;/a>.&lt;/p>
&lt;p>Here is a brief guide on subscribing to the Dubbo mailing list:&lt;/p>
&lt;ol>
&lt;li>Send an email to &lt;a href="mailto:dev-subscribe@dubbo.apache.org">dev-subscribe@dubbo.apache.org&lt;/a>, leaving the content and subject empty. You will receive an email with the following content:&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>from: dev-help@dubbo.apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>reply-to: dev-sc.xxxxxxx.xxxxxxxx-hello=example.com@dubbo.apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>to: hello@example.com
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>date: Sat, Feb 24, 2018 at 3:12 PM
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>subject: confirm subscribe to dev@dubbo.apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mailed-by: apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Hi! This is the ezmlm program. I&amp;#39;m managing the
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dev@dubbo.apache.org mailing list.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>I&amp;#39;m working for my owner, who can be reached
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>at dev-owner@dubbo.apache.org.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>To confirm that you would like
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> hello@example.com
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>added to the dev mailing list, please send
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>a short reply to this address:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> dev-sc.xxxxxxx.xxxxxxxx-hello=example.com@dubbo.apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Usually, this happens when you just hit the &amp;#34;reply&amp;#34; button.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>If this does not work, simply copy the address and paste it into
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>the &amp;#34;To:&amp;#34; field of a new message.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>or click here:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> mailto:dev-sc.xxxxxxx.xxxxxxxx-hello=example.com@dubbo.apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ol start="2">
&lt;li>Reply to the email, leaving the content and subject empty, and you will receive another email with the following content:&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>from: dev-help@dubbo.apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>to: hello@example.com
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>date: Sat, Feb 24, 2018 at 3:14 PM
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>subject: WELCOME to dev@dubbo.apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mailed-by: apache.org
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Hi! This is the ezmlm program. I&amp;#39;m managing the
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>dev@dubbo.apache.org mailing list.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>I&amp;#39;m working for my owner, who can be reached
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>at dev-owner@dubbo.apache.org.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Acknowledgment: I have added the address
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> hello@example.com
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>to the dev mailing list.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Welcome to dev@dubbo.apache.org!
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Please save this message so that you know the address you are
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>subscribed under, in case you later want to unsubscribe or change your
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>subscription address.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ol start="3">
&lt;li>
&lt;p>At this point, the mailing list subscription is complete. From now on, you will receive many emails sent to this mailing list. If you have more questions, just send an email to &lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a>, and someone will answer your questions.&lt;/p></description></item><item><title>Software Donation Guide</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/software-donation-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/software-donation-guide_dev/</guid><description>&lt;p>Before you read this guide, please ensure that you have confirmed the actual SGA needed with the PMC.&lt;/p>
&lt;p>If you are donating a significant amount of code or documentation to Apache Dubbo, you will need to sign the &lt;a href="https://www.apache.org/licenses/#grants">Software Grant&lt;/a> before merging the code or documentation.&lt;/p>
&lt;h3 id="steps-to-follow">Steps to Follow&lt;/h3>
&lt;ol>
&lt;li>Download this &lt;a href="https://www.apache.org/licenses/software-grant-template.pdf">pdf document&lt;/a>&lt;/li>
&lt;li>Print the downloaded document&lt;/li>
&lt;li>Fill out the form as required (see the example below)&lt;/li>
&lt;li>Have your supervisor sign above&lt;/li>
&lt;li>Scan the document&lt;/li>
&lt;li>Email the scanned document to &lt;a href="mailto:secretary@apache.org">secretary@apache.org&lt;/a>, with a copy to &lt;a href="mailto:private@dubbo.apache.org">private@dubbo.apache.org&lt;/a>&lt;/li>
&lt;/ol>
&lt;h3 id="example">Example&lt;/h3>
&lt;p>Below is a text example; the original text can be found &lt;a href="https://www.apache.org/licenses/software-grant.txt">here&lt;/a>&lt;/p></description></item><item><title>Reporting Security Issues</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/reporting-security-issues_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/reporting-security-issues_dev/</guid><description>&lt;p>The Apache Software Foundation takes a strict stance on eliminating security issues in its software projects. Apache Dubbo is very sensitive to issues related to its functionality and features and addresses them promptly.&lt;/p>
&lt;h2 id="reporting-vulnerabilities">Reporting Vulnerabilities&lt;/h2>
&lt;p>If you have concerns about the security of Dubbo, or if you discover vulnerabilities or potential threats, please email the Apache Dubbo security team at &lt;a href="mailto:security@dubbo.apache.org">security@dubbo.apache.org&lt;/a>. In your email, specify a description of the issue or potential threat. You are also encouraged to suggest ways to reproduce and replicate the issue. The Dubbo community will reach out to you after evaluating and analyzing the investigation results.&lt;/p></description></item><item><title>Extending Dubbo Guide</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/dubbo-extension-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/dubbo-extension-guide_dev/</guid><description>&lt;p>Dubbo uses a microkernel + plugin design pattern. The kernel is only responsible for assembling plugins, and all of Dubbo’s functionalities are implemented by extension points (plugins), which means that all of Dubbo’s features can be replaced by user-defined extensions.&lt;/p>
&lt;h3 id="dubbo-ecosystem">Dubbo Ecosystem&lt;/h3>
&lt;p>We recommend adding extensions to the Dubbo ecosystem. Using this model can keep the core repository cleaner and reduce maintenance work. Less code can also improve the build speed of the core repository.&lt;/p></description></item><item><title>Test Coverage Guide</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/test-coverage-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/contact/contributor/test-coverage-guide_dev/</guid><description>&lt;h3 id="benefits-of-writing-unit-tests">Benefits of Writing Unit Tests&lt;/h3>
&lt;ul>
&lt;li>Unit tests help everyone dive into the details of the code and understand its functionality.&lt;/li>
&lt;li>Through test cases, we can discover bugs and enhance the robustness of the code.&lt;/li>
&lt;li>Test cases also serve as demo usage of the code.&lt;/li>
&lt;/ul>
&lt;h3 id="some-design-principles-for-unit-test-cases">Some Design Principles for Unit Test Cases&lt;/h3>
&lt;ul>
&lt;li>Steps, granularity, and combination conditions should be carefully designed.&lt;/li>
&lt;li>Pay attention to boundary conditions.&lt;/li>
&lt;li>Unit tests should also be well-designed; do not write useless code.&lt;/li>
&lt;li>When you find a &lt;code>method&lt;/code> difficult to unit test, if it can be confirmed that this &lt;code>method&lt;/code> is &lt;code>smelly code&lt;/code>, then refactor it together with the developer.&lt;/li>
&lt;li>The mock framework used in Dubbo is: &lt;a href="http://site.mockito.org/">mockito&lt;/a>. Below are some developer guides: &lt;a href="https://www.baeldung.com/bdd-mockito">mockito tutorial&lt;/a>, &lt;a href="https://site.mockito.org/">mockito refcard&lt;/a>&lt;/li>
&lt;li>TDD (optional): When you start writing a new feature, you can try to write the test cases first.&lt;/li>
&lt;/ul>
&lt;h3 id="test-coverage-threshold">Test Coverage Threshold&lt;/h3>
&lt;ul>
&lt;li>At this stage, the test coverage threshold for Delta changes is: &amp;gt;=60%, the higher the better.&lt;/li>
&lt;li>We can see the test report on this page: &lt;a href="https://codecov.io/gh/apache/dubbo">https://codecov.io/gh/apache/dubbo&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>