blob: 49d70406432f8efd2ea2495aa5495781efeaed11 [file] [log] [blame]
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – Contributor Guide</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/</link><description>Recent content in Contributor Guide on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: How to become a Dubbo committer</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/become-a-committer_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/become-a-committer_dev/</guid><description>
&lt;p>Anyone can be a contributor to an Apache project. Being a contributor simply means that you take an interest in the project and contribute in some way, ranging from asking sensible questions (which documents the project and provides feedback to developers) through to providing new features as patches.&lt;/p>
&lt;p>If you become a valuable contributor to the project you may well be invited to become a committer. Committer is a term used at the ASF to signify someone who is committed to a particular project. It brings with it the privilege of write access to the project repository and resources.&lt;/p>
&lt;p>In Dubbo community, if a committer who have earned even more merit, can be invited to be a part of the Project Management Committee (PMC).&lt;/p>
&lt;p>One thing that is sometimes hard to understand when you are new to the open development process used at the ASF, is that we value the community more than the code. A strong and healthy community will be respectful and be a fun and rewarding place. More importantly, a diverse and healthy community can continue to support the code over the longer term, even as individual companies come and go from the field.&lt;/p>
&lt;p>More details could be found &lt;a href="https://community.apache.org/contributors/">here&lt;/a>.&lt;/p>
&lt;h3 id="what-can-i-contribute">What can I contribute?&lt;/h3>
&lt;p>Please refer to the &lt;a href="https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/new-contributor-guide_dev">new contributor guide&lt;/a>.&lt;/p></description></item><item><title>Docs: CLA Signing Guide</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/cla-signing-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/cla-signing-guide_dev/</guid><description>
&lt;p>You are required to sign the Apache ICLA under the following condition:&lt;/p>
&lt;ul>
&lt;li>You have made lots of contribution to Dubbo before Dubbo get donated to Apache, and you haven&amp;rsquo;t sign the Alibaba-CLA before.&lt;/li>
&lt;li>You have made lots of contribution to Dubbo, and you are invited to become committer of Dubbo, and you have not signed Alibaba-CLA or Apache ICLA before.&lt;/li>
&lt;/ul>
&lt;h4 id="steps">Steps&lt;/h4>
&lt;ul>
&lt;li>Download this &lt;a href="https://www.apache.org/licenses/icla.pdf">pdf&lt;/a>&lt;/li>
&lt;li>Fill in the necessary blanks&lt;/li>
&lt;li>Print it out&lt;/li>
&lt;li>Sign the printed file&lt;/li>
&lt;li>Scan it&lt;/li>
&lt;li>Send an email to &lt;a href="mailto:secretary@apache.org">secretary@apache.org&lt;/a> and cc &lt;a href="mailto:private@dubbo.apache.org">private@dubbo.apache.org&lt;/a>:
&lt;ul>
&lt;li>entitled with &amp;ldquo;ICLA submission&amp;rdquo;&lt;/li>
&lt;li>please also provide the link to your github account in the email body&lt;/li>
&lt;li>remember to add you ICLA as attachment.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h4 id="explanation-to-the-fields">Explanation to the fields&lt;/h4>
&lt;ul>
&lt;li>Mailing address: Your company address in English is preferred.&lt;/li>
&lt;li>preferred apache id(s): if you are invited to become committers, you have to choose one apache id, otherwise you can leave it blank.&lt;/li>
&lt;li>notify project: Dubbo (This means Dubbo is the project who notifies you to sign the ICLA)&lt;/li>
&lt;/ul></description></item><item><title>Docs: New Contributor Guide</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/new-contributor-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/new-contributor-guide_dev/</guid><description>
&lt;p>This is a guide for new comers who wants to contribute to Dubbo.&lt;/p>
&lt;h3 id="subscribe-to-the-mailing-list">Subscribe to the mailing list&lt;/h3>
&lt;p>The mailing list is the recommended way for discussing almost anything that related to Dubbo. Please refer to this &lt;a href="https://github.com/apache/dubbo/issues/1393">issue&lt;/a> for detailed documentation on how to subscribe.&lt;/p>
&lt;p>To subscribe to the following mailing list, please refer to &lt;a href="https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/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>: the develop mailing list, you can ask question here if you have encountered any problem when using or developing Dubbo.&lt;/li>
&lt;li>&lt;a href="mailto:commits@dubbo.apache.org">commits@dubbo.apache.org&lt;/a>: all the commits will be sent to this mailing list. You can subscribe to it if you are interested in Dubbo&amp;rsquo;s development.&lt;/li>
&lt;li>&lt;a href="mailto:issues@dubbo.apache.org">issues@dubbo.apache.org&lt;/a>: all the JIRA &lt;a href="https://issues.apache.org/jira/projects/DUBBO/issues">issues&lt;/a> and updates will be sent to this mailing list. The Dubbo community has decided to use github issues rather than JIRA issues, therefore it is expected that most of the issues will be tracked by github issues. The JIRA issues are used to track ASF related issues.&lt;/li>
&lt;/ul>
&lt;h3 id="reporting-issue">Reporting issue&lt;/h3>
&lt;p>You can always reporting an issue to Dubbo via Github &lt;a href="https://github.com/apache/dubbo/issues">Issues&lt;/a>.&lt;/p>
&lt;p>If you are reporting bugs, please refer to the issue report &lt;a href="https://github.com/apache/dubbo/issues/new?template=dubbo-issue-report-template.md">template&lt;/a>.&lt;/p>
&lt;p>If you are reporting regualur issues, like raise an question, you can open an &lt;a href="https://github.com/apache/dubbo/issues/new">regular issue&lt;/a>&lt;/p>
&lt;h3 id="sending-pull-request">Sending pull request&lt;/h3>
&lt;ul>
&lt;li>Follow the checklist in the &lt;a href="https://github.com/apache/dubbo/blob/master/PULL_REQUEST_TEMPLATE.md">pull request template&lt;/a>&lt;/li>
&lt;li>Before you sending out the pull request, please sync your forked repository with remote repository, this will make your pull request simple and clear. See guide below:&lt;/li>
&lt;/ul>
&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-sh" data-lang="sh">&lt;span style="display:flex;">&lt;span>git remote add upstream git@github.com:apache/dubbo.git
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git fetch upstream
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git rebase upstream/master
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git checkout -b your_awesome_patch
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>... add some work
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>git push origin your_awesome_patch
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="code-convention">Code convention&lt;/h3>
&lt;p>Please check the &lt;a href="https://github.com/apache/dubbo/blob/master/CONTRIBUTING.md">CONTRIBUTING.md&lt;/a> for code convention.&lt;/p>
&lt;h3 id="participate-in-the-release-vote">Participate in the release vote&lt;/h3>
&lt;p>Participate in the release vote is an important way to contribute to Dubbo. The Dubbo community welcomes everyone to partipate, you can check the release vote using this &lt;a href="https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist">check list&lt;/a>.
If you have any question regarding the check list, please feel free to ask on &lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a>.&lt;/p>
&lt;h3 id="what-can-i-contribute">What can I contribute?&lt;/h3>
&lt;ul>
&lt;li>Take a look at issues with tag called &lt;a href="https://github.com/apache/dubbo/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22">&lt;code>Good first issue&lt;/code>&lt;/a> or &lt;a href="https://github.com/apache/dubbo/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22">&lt;code>Help wanted&lt;/code>&lt;/a>.&lt;/li>
&lt;li>Join the discussion on mailing list, subscription &lt;a href="https://github.com/apache/dubbo/wiki/Mailing-list-subscription-guide">guide&lt;/a>.&lt;/li>
&lt;li>Answer questions on &lt;a href="https://github.com/apache/dubbo/issues">issues&lt;/a>.&lt;/li>
&lt;li>Fix bugs reported on &lt;a href="https://github.com/apache/dubbo/issues">issues&lt;/a>, and send us pull request.&lt;/li>
&lt;li>Review the existing &lt;a href="https://github.com/apache/dubbo/pulls">pull request&lt;/a>.&lt;/li>
&lt;li>Improve the &lt;a href="https://github.com/apache/dubbo-website">website&lt;/a>, typically we need
&lt;ul>
&lt;li>blog post&lt;/li>
&lt;li>translation on documentation&lt;/li>
&lt;li>use cases about how Dubbo is being used in enterprise system.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Improve the &lt;a href="https://github.com/apache/dubbo-admin">dubbo-admin/dubbo-monitor&lt;/a>.&lt;/li>
&lt;li>Contribute to the projects listed in &lt;a href="https://github.com/dubbo">ecosystem&lt;/a>.&lt;/li>
&lt;li>Any form of contribution that is not mentioned above.&lt;/li>
&lt;li>If you would like to contribute, please send an email to &lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a> to let us know!&lt;/li>
&lt;/ul></description></item><item><title>Docs: Mailing List Subscription Guide</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/mailing-list-subscription-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/mailing-list-subscription-guide_dev/</guid><description>
&lt;p>The Dubbo developer mailing list (&lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a>) for Apache Incubator has been established, please feel free to subscribe and refer to [^1] for more details.&lt;/p>
&lt;p>You can also view &lt;a href="https://lists.apache.org/list.html?dev@dubbo.apache.org">the archive of the mailing list&lt;/a>&lt;/p>
&lt;p>Here is a brief guide specific to Dubbo:&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>, you can have empty subject and empty content. 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 the email directly, you can have empty subject and empty content. 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>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>After that, you will receive any email that is posted to this mailing list. If you have any further questions, just send email to &lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a> and hopefully someone will answer your questions.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>If you want to unsubscribe, just send an email to &lt;a href="mailto:dev-unsubscribe@dubbo.apache.org">dev-unsubscribe@dubbo.apache.org&lt;/a>, and follow the steps once you get an reply.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;blockquote>
&lt;p>Note that &lt;a href="mailto:dev@dubbo.apache.org">dev@dubbo.apache.org&lt;/a> is valid. &lt;a href="mailto:dev@dubbo.incubator.apache.org">dev@dubbo.incubator.apache.org&lt;/a> is no longer applicable.&lt;/p>
&lt;/blockquote>
&lt;p>[^1] &lt;a href="http://apache.org/foundation/mailinglists.html#subscribing">http://apache.org/foundation/mailinglists.html#subscribing&lt;/a>&lt;/p></description></item><item><title>Docs: Software Donation Guide</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/software-donation-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/software-donation-guide_dev/</guid><description>
&lt;p>Before you go through this guide, make sure you have confirmed with PMC that a SGA is actually needed.&lt;/p>
&lt;p>If you are donating significant amount of code or documentation to Apache Dubbo , you will be required to sign a &lt;a href="https://www.apache.org/licenses/#grants">Software Grant&lt;/a> before your code/doc could be merged.&lt;/p>
&lt;h4 id="steps">Steps&lt;/h4>
&lt;ol>
&lt;li>Download this &lt;a href="https://www.apache.org/licenses/software-grant-template.pdf">pdf&lt;/a>&lt;/li>
&lt;li>Print it out&lt;/li>
&lt;li>Fill in the blanks (see below as an example)&lt;/li>
&lt;li>Request your boss to sign it&lt;/li>
&lt;li>Scan it&lt;/li>
&lt;li>Send an email to &lt;a href="mailto:secretary@apache.org">secretary@apache.org&lt;/a> and cc &lt;a href="mailto:private@dubbo.apache.org">private@dubbo.apache.org&lt;/a>&lt;/li>
&lt;/ol>
&lt;h4 id="example">Example:&lt;/h4>
&lt;p>Below is an text versioned &lt;strong>example&lt;/strong>, original text could be found &lt;a href="https://www.apache.org/licenses/software-grant.txt">here&lt;/a>&lt;/p>
&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>License Agreement
&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;span style="display:flex;">&lt;span> This License Agreement is entered into as of the _12th_ day of
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>___April____, __2018__ by ___ABC Software Co., Ltd.____ (&amp;#34;Licensor&amp;#34;),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>in favor of The Apache Software Foundation, a Delaware nonstock
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>membership corporation (the &amp;#34;Foundation&amp;#34;).
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> WHEREAS, Licensor owns or has sufficient rights to contribute the
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>software source code and other related intellectual property as
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>itemized on Exhibit A (&amp;#34;Software&amp;#34;) under the terms of this agreement
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>to the Foundation for use within Foundation software development
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>projects (&amp;#34;Projects&amp;#34;).
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> NOW, THEREFORE, FOR GOOD AND VALUABLE CONSIDERATION, the receipt
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>and legal sufficiency of which are hereby acknowledged, the parties
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hereto, intending to be legally bound, agree as follows:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>1. Subject to the terms and conditions of this License, Licensor
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hereby grants to the Foundation:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> a) a non-exclusive, worldwide, royalty-free, irrevocable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> copyright license to reproduce, prepare derivative works of,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> publicly display, publicly perform, distribute and sublicense,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> internally and externally, the Software and such derivative
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> works, in source code and object code form; and,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> b) a non-exclusive, worldwide, royalty-free, irrevocable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> patent license under Licensed Patents to make, use, sell,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> offer to sell, import and otherwise transfer the Software
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> in source code and object code form. &amp;#34;Licensed Patents&amp;#34; mean
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> patent claims owned by Licensor which are necessarily
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> infringed by the use or sale of the Software alone.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>2. Licensor represents that, to Licensor&amp;#39;s knowledge, Licensor is
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>legally entitled to grant the above license. Licensor agrees to notify
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>the Foundation of any facts or circumstances of which Licensor becomes
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>aware and which makes or would make Licensor&amp;#39;s representations in this
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>License Agreement inaccurate in any respect.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>3. This Software is provided AS-IS, WITHOUT WARRANTIES OR CONDITIONS
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>OR FITNESS FOR A PARTICULAR PURPOSE. NEITHER THE LICENSOR NOR ITS
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>SUPPLIERS WILL BE LIABLE TO THE FOUNDATION OR ITS LICENSEES FOR ANY
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>THE USE OR DISTRIBUTION OF THE WORK OR THE EXERCISE OF ANY RIGHTS
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>This License Agreement is the entire agreement of the parties
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>with respect to its subject matter, and may only be amended by a
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>writing signed by each party. This License Agreement may be
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>executed in one or more counterparts, each of which shall be
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>considered an original.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> IN WITNESS WHEREOF, Licensor has executed this License Agreement
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>as of the date first written above.
&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;span style="display:flex;">&lt;span> LICENSOR:
&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;span style="display:flex;">&lt;span> Signed By: _____________________________________ &amp;lt;--- Your boss&amp;#39;s sign here
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Print Name: _____Lei Li_________________________ &amp;lt;--- Your boss&amp;#39;s name here
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Title: ____Director_____________________________ &amp;lt;--- Your boss&amp;#39;s title here
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Representing: ____ABC Software Co., Ltd. _______
&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;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Contact Name: ____Lei Li________________________ &amp;lt;--- Your boss&amp;#39;s name here
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> Contact Email: ____lilei@abc.com________________ &amp;lt;--- Your boss&amp;#39;s email here
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Exhibit A
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>List of software and other intellectual property covered by this agreement:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>* Github address where your code is hosted
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>* Pull request link
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Docs: Reporting Security Issues</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/reporting-security-issues_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/reporting-security-issues_dev/</guid><description>
&lt;p>The Apache Software Foundation takes a rigorous standpoint in annihilating the security issues in its software projects. Apache Dubbo is highly sensitive and forthcoming to issues pertaining to its features and functionality.&lt;/p>
&lt;h2 id="reporting-vulnerability">REPORTING VULNERABILITY&lt;/h2>
&lt;p>If you have apprehensions regarding Dubbo&amp;rsquo;s security or you discover vulnerability or potential threat, don’t hesitate to get in touch with the Apache Dubbo Security Team by dropping a mail at &lt;a href="mailto:security@dubbo.apache.org">security@dubbo.apache.org&lt;/a>. In the mail, specify the description of the issue or potential threat. You are also urged to recommend the way to reproduce and replicate the issue. The Dubbo community will get back to you after assessing and analysing the findings.&lt;/p>
&lt;p>PLEASE PAY ATTENTION to report the security issue on the security email before disclosing it on public domain.&lt;/p>
&lt;h2 id="vulnerability-handling">VULNERABILITY HANDLING&lt;/h2>
&lt;p>An overview of the vulnerability handling process is:&lt;/p>
&lt;ul>
&lt;li>The reporter reports the vulnerability privately to Apache.&lt;/li>
&lt;li>The appropriate project&amp;rsquo;s security team works privately with the reporter to resolve the vulnerability.&lt;/li>
&lt;li>A new release of the Apache product concerned is made that includes the fix.&lt;/li>
&lt;li>The vulnerability is publically announced.&lt;/li>
&lt;/ul>
&lt;p>A more detailed description of the process can be found &lt;a href="https://www.apache.org/security/committers.html">here&lt;/a>&lt;/p></description></item><item><title>Docs: Extension Guide</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/dubbo-extension-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/dubbo-extension-guide_dev/</guid><description>
&lt;p>Dubbo Use microkernel + plugin design pattern. Microkernel is only responsible for assembling plugins, the functions of Dubbo are implemented by extension points(plugins), which means that all functions of Dubbo can be replaced by user customized extension.&lt;/p>
&lt;h2 id="dubbo-ecosystem">Dubbo Ecosystem&lt;/h2>
&lt;p>We recommend you to put extension to Dubbo &lt;a href="https://github.com/dubbo">ecosystem&lt;/a>. Using this pattern will keep the core repository cleaner and decrease the maintains work. With less code also speed up core repository build process.&lt;/p>
&lt;h2 id="dependency">Dependency&lt;/h2>
&lt;p>Implement your own Dubbo extension, in general is just dependence on API jar correspond to what you want.
For example:&lt;/p>
&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-xml" data-lang="xml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">&amp;lt;dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;lt;groupId&amp;gt;&lt;/span>org.apache.dubbo&lt;span style="color:#268bd2">&amp;lt;/groupId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;lt;artifactId&amp;gt;&lt;/span>dubbo-serialization-api&lt;span style="color:#268bd2">&amp;lt;/artifactId&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#268bd2">&amp;lt;version&amp;gt;&lt;/span>${dubbo.version}&lt;span style="color:#268bd2">&amp;lt;/version&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">&amp;lt;/dependency&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="src-guide">Src Guide&lt;/h2>
&lt;p>Usually, implement special extension, just need reference the &lt;a href="https://dubbo.apache.org/en/latest/contribution-guidelines/">Developer Guide&lt;/a> docs. Implement necessary interface and adapt extension to dubbo. Besides, some others should be considered:&lt;/p>
&lt;ol>
&lt;li>Well tested. You should write unit test and mock test to eliminate potential bugs.&lt;/li>
&lt;li>No warning, if some warning cannot to avoid, use @SuppressWarnings to suppress it, but do not abuse it.&lt;/li>
&lt;li>README. Add necessary readme to show how to use your extension, and something to take notice.&lt;/li>
&lt;li>License. Make sure of use Apache License 2.0.&lt;/li>
&lt;/ol>
&lt;h2 id="notify-the-community">Notify the Community&lt;/h2>
&lt;ol>
&lt;li>Commit your code to &lt;a href="https://github.com">GitHub&lt;/a>.&lt;/li>
&lt;li>Join the mail list (recommended). &lt;a href="https://github.com/apache/dubbo/wiki/Mailing-list-subscription-guide">HowTo&lt;/a>&lt;/li>
&lt;li>Send email to &lt;a href="mailto:dev@incubator.dubbo.apache.org">dev@incubator.dubbo.apache.org&lt;/a> to notify the community&lt;/li>
&lt;li>Usually, after sending email, community will discuss your extension, and Administrators of dubbo group will contact you for transfer project to dubbo ecosystem.&lt;/li>
&lt;/ol>
&lt;h2 id="transfer-project-to-dubbo-group">Transfer Project to Dubbo Group&lt;/h2>
&lt;ol>
&lt;li>Administrators of dubbo group will ask you, grant your project owner to dubbo.&lt;/li>
&lt;li>Administrators of dubbo group will create a new project under dubbo group and invite you join the project.&lt;/li>
&lt;li>Once you accept the invitation, you can transfer your project to new project under dubbo group.&lt;/li>
&lt;li>Existing members of dubbo group will do the code review. After that you may make some improvement to code.&lt;/li>
&lt;/ol></description></item><item><title>Docs: Test Coverage Guide</title><link>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/test-coverage-guide_dev/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/en/docs/contribution-guidelines/contributor/test-coverage-guide_dev/</guid><description>
&lt;h3 id="the-benefits-of-unit-testing">The benefits of unit testing&lt;/h3>
&lt;ul>
&lt;li>Unit test code can help everyone to go into details and understand the function of the code.&lt;/li>
&lt;li>We can find bugs by test case, and then enhance the robustness of the code.&lt;/li>
&lt;li>Test case code is also the demo usage of the core code.&lt;/li>
&lt;/ul>
&lt;h3 id="some-design-principle-of-unit-test-case">Some design principle of unit test case&lt;/h3>
&lt;ul>
&lt;li>Steps, fine-grained and combination conditions should be well designed.&lt;/li>
&lt;li>Attention to boundary condition test&lt;/li>
&lt;li>Test code should also be designed without writing useless code.&lt;/li>
&lt;li>When you find a &lt;code>method&lt;/code> that is hard to write unit test, if you can be sure the &lt;code>method&lt;/code> is &amp;ldquo;smelly code&amp;rdquo;, then refactor it with the committer.&lt;/li>
&lt;li>The mock framework in dubbo is: &lt;a href="http://site.mockito.org/">mockito&lt;/a>. Some tutorials:&lt;a href="https://www.baeldung.com/bdd-mockito">mockito tutorial&lt;/a>,&lt;a href="https://dzone.com/refcardz/mockito">mockito refcard&lt;/a>&lt;/li>
&lt;li>TDD(optional):When you start a new issue, you can try to write test case at first&lt;/li>
&lt;/ul>
&lt;h3 id="the-specified-value-of-the-test-coverage">The specified value of the test coverage&lt;/h3>
&lt;ul>
&lt;li>In the stage, the test coverage specified value of delta changed codes is :&amp;gt;=60%. The higher, the better.&lt;/li>
&lt;li>We can see the coverage report in 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>