diff options
author | Sean Owen <sowen@cloudera.com> | 2016-11-19 12:35:02 +0000 |
---|---|---|
committer | Sean Owen <sowen@cloudera.com> | 2016-11-21 20:57:42 +0000 |
commit | 0744e8fdd9f954a6552c968be50604241097dbbc (patch) | |
tree | ea786a184d7cf73b5091e81d2d17790cd160cc0a /site/committers.html | |
parent | 46fb91025482150f7e8eba20606211d9c016009f (diff) | |
download | spark-website-asf-site.tar.gz spark-website-asf-site.tar.bz2 spark-website-asf-site.zip |
Port wiki page Committers to committers.html, Contributing to Spark and Code Style Guide to contributing.html, Third Party Projects and Additional Language Bindings to third-party-projects.html, Powered By to powered-by.htmlHEADasf-site
Diffstat (limited to 'site/committers.html')
-rw-r--r-- | site/committers.html | 518 |
1 files changed, 518 insertions, 0 deletions
diff --git a/site/committers.html b/site/committers.html new file mode 100644 index 000000000..bad441434 --- /dev/null +++ b/site/committers.html @@ -0,0 +1,518 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + + <title> + Committers | Apache Spark + + </title> + + + + + + <!-- Bootstrap core CSS --> + <link href="/css/cerulean.min.css" rel="stylesheet"> + <link href="/css/custom.css" rel="stylesheet"> + + <!-- Code highlighter CSS --> + <link href="/css/pygments-default.css" rel="stylesheet"> + + <script type="text/javascript"> + <!-- Google Analytics initialization --> + var _gaq = _gaq || []; + _gaq.push(['_setAccount', 'UA-32518208-2']); + _gaq.push(['_trackPageview']); + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + + <!-- Adds slight delay to links to allow async reporting --> + function trackOutboundLink(link, category, action) { + try { + _gaq.push(['_trackEvent', category , action]); + } catch(err){} + + setTimeout(function() { + document.location.href = link.href; + }, 100); + } + </script> + + <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> + <![endif]--> +</head> + +<body> + +<script src="https://code.jquery.com/jquery.js"></script> +<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script> +<script src="/js/lang-tabs.js"></script> +<script src="/js/downloads.js"></script> + +<div class="container" style="max-width: 1200px;"> + +<div class="masthead"> + + <p class="lead"> + <a href="/"> + <img src="/images/spark-logo-trademark.png" + style="height:100px; width:auto; vertical-align: bottom; margin-top: 20px;"></a><span class="tagline"> + Lightning-fast cluster computing + </span> + </p> + +</div> + +<nav class="navbar navbar-default" role="navigation"> + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" + data-target="#navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + </div> + + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="collapse navbar-collapse" id="navbar-collapse-1"> + <ul class="nav navbar-nav"> + <li><a href="/downloads.html">Download</a></li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown"> + Libraries <b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/sql/">SQL and DataFrames</a></li> + <li><a href="/streaming/">Spark Streaming</a></li> + <li><a href="/mllib/">MLlib (machine learning)</a></li> + <li><a href="/graphx/">GraphX (graph)</a></li> + <li class="divider"></li> + <li><a href="/third-party-projects.html">Third-Party Projects</a></li> + </ul> + </li> + <li class="dropdown"> + <a href="#" class="dropdown-toggle" data-toggle="dropdown"> + Documentation <b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/docs/latest/">Latest Release (Spark 2.0.2)</a></li> + <li><a href="/documentation.html">Older Versions and Other Resources</a></li> + </ul> + </li> + <li><a href="/examples.html">Examples</a></li> + <li class="dropdown"> + <a href="/community.html" class="dropdown-toggle" data-toggle="dropdown"> + Community <b class="caret"></b> + </a> + <ul class="dropdown-menu"> + <li><a href="/community.html#mailing-lists">Mailing Lists</a></li> + <li><a href="/contributing.html">Contributing to Spark</a></li> + <li><a href="https://issues.apache.org/jira/browse/SPARK">Issue Tracker</a></li> + <li><a href="/community.html#events">Events and Meetups</a></li> + <li><a href="/community.html#history">Project History</a></li> + <li><a href="/powered-by.html">Powered By</a></li> + <li><a href="/committers.html">Project Committers</a></li> + </ul> + </li> + <li><a href="/faq.html">FAQ</a></li> + </ul> + <ul class="nav navbar-nav navbar-right"> + <li class="dropdown"> + <a href="http://www.apache.org/" class="dropdown-toggle" data-toggle="dropdown"> + Apache Software Foundation <b class="caret"></b></a> + <ul class="dropdown-menu"> + <li><a href="http://www.apache.org/">Apache Homepage</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + </ul> + </li> + </ul> + </div> + <!-- /.navbar-collapse --> +</nav> + + +<div class="row"> + <div class="col-md-3 col-md-push-9"> + <div class="news" style="margin-bottom: 20px;"> + <h5>Latest News</h5> + <ul class="list-unstyled"> + + <li><a href="/news/spark-wins-cloudsort-100tb-benchmark.html">Spark wins CloudSort Benchmark as the most efficient engine</a> + <span class="small">(Nov 15, 2016)</span></li> + + <li><a href="/news/spark-2-0-2-released.html">Spark 2.0.2 released</a> + <span class="small">(Nov 14, 2016)</span></li> + + <li><a href="/news/spark-1-6-3-released.html">Spark 1.6.3 released</a> + <span class="small">(Nov 07, 2016)</span></li> + + <li><a href="/news/spark-2-0-1-released.html">Spark 2.0.1 released</a> + <span class="small">(Oct 03, 2016)</span></li> + + </ul> + <p class="small" style="text-align: right;"><a href="/news/index.html">Archive</a></p> + </div> + <div class="hidden-xs hidden-sm"> + <a href="/downloads.html" class="btn btn-success btn-lg btn-block" style="margin-bottom: 30px;"> + Download Spark + </a> + <p style="font-size: 16px; font-weight: 500; color: #555;"> + Built-in Libraries: + </p> + <ul class="list-none"> + <li><a href="/sql/">SQL and DataFrames</a></li> + <li><a href="/streaming/">Spark Streaming</a></li> + <li><a href="/mllib/">MLlib (machine learning)</a></li> + <li><a href="/graphx/">GraphX (graph)</a></li> + </ul> + <a href="/third-party-projects.html">Third-Party Projects</a> + </div> + </div> + + <div class="col-md-9 col-md-pull-3"> + <h2>Current Committers</h2> + +<table> + <thead> + <tr> + <th>Name</th> + <th>Organization</th> + </tr> + </thead> + <tbody> + <tr> + <td>Michael Armbrust</td> + <td>Databricks</td> + </tr> + <tr> + <td>Joseph Bradley</td> + <td>Databricks</td> + </tr> + <tr> + <td>Felix Cheung</td> + <td>Automattic</td> + </tr> + <tr> + <td>Mosharaf Chowdhury</td> + <td>University of Michigan, Ann Arbor</td> + </tr> + <tr> + <td>Jason Dai</td> + <td>Intel</td> + </tr> + <tr> + <td>Tathagata Das</td> + <td>Databricks</td> + </tr> + <tr> + <td>Ankur Dave</td> + <td>UC Berkeley</td> + </tr> + <tr> + <td>Aaron Davidson</td> + <td>Databricks</td> + </tr> + <tr> + <td>Thomas Dudziak</td> + <td>Facebook</td> + </tr> + <tr> + <td>Robert Evans</td> + <td>Yahoo!</td> + </tr> + <tr> + <td>Wenchen Fan</td> + <td>Databricks</td> + </tr> + <tr> + <td>Joseph Gonzalez</td> + <td>UC Berkeley</td> + </tr> + <tr> + <td>Thomas Graves</td> + <td>Yahoo!</td> + </tr> + <tr> + <td>Stephen Haberman</td> + <td>Bizo</td> + </tr> + <tr> + <td>Mark Hamstra</td> + <td>ClearStory Data</td> + </tr> + <tr> + <td>Herman van Hovell</td> + <td>QuestTec B.V.</td> + </tr> + <tr> + <td>Yin Huai</td> + <td>Databricks</td> + </tr> + <tr> + <td>Shane Huang</td> + <td>Intel</td> + </tr> + <tr> + <td>Andy Konwinski</td> + <td>Databricks</td> + </tr> + <tr> + <td>Ryan LeCompte</td> + <td>Quantifind</td> + </tr> + <tr> + <td>Haoyuan Li</td> + <td>Alluxio, UC Berkeley</td> + </tr> + <tr> + <td>Xiao Li</td> + <td>IBM</td> + </tr> + <tr> + <td>Davies Liu</td> + <td>Databricks</td> + </tr> + <tr> + <td>Cheng Lian</td> + <td>Databricks</td> + </tr> + <tr> + <td>Yanbo Liang</td> + <td>Hortonworks</td> + </tr> + <tr> + <td>Sean McNamara</td> + <td>Webtrends</td> + </tr> + <tr> + <td>Xiangrui Meng</td> + <td>Databricks</td> + </tr> + <tr> + <td>Mridul Muralidharam</td> + <td>Hortonworks</td> + </tr> + <tr> + <td>Andrew Or</td> + <td>Princeton University</td> + </tr> + <tr> + <td>Kay Ousterhout</td> + <td>UC Berkeley</td> + </tr> + <tr> + <td>Sean Owen</td> + <td>Cloudera</td> + </tr> + <tr> + <td>Nick Pentreath</td> + <td>IBM</td> + </tr> + <tr> + <td>Imran Rashid</td> + <td>Cloudera</td> + </tr> + <tr> + <td>Charles Reiss</td> + <td>UC Berkeley</td> + </tr> + <tr> + <td>Josh Rosen</td> + <td>Databricks</td> + </tr> + <tr> + <td>Sandy Ryza</td> + <td>Clover Health</td> + </tr> + <tr> + <td>Kousuke Saruta</td> + <td>NTT Data</td> + </tr> + <tr> + <td>Prashant Sharma</td> + <td>IBM</td> + </tr> + <tr> + <td>Ram Sriharsha</td> + <td>Databricks</td> + </tr> + <tr> + <td>DB Tsai</td> + <td>Netflix</td> + </tr> + <tr> + <td>Marcelo Vanzin</td> + <td>Cloudera</td> + </tr> + <tr> + <td>Shivaram Venkataraman</td> + <td>UC Berkeley</td> + </tr> + <tr> + <td>Patrick Wendell</td> + <td>Databricks</td> + </tr> + <tr> + <td>Andrew Xia</td> + <td>Alibaba</td> + </tr> + <tr> + <td>Reynold Xin</td> + <td>Databricks</td> + </tr> + <tr> + <td>Matei Zaharia</td> + <td>Databricks, Stanford</td> + </tr> + <tr> + <td>Shixiong Zhu</td> + <td>Databricks</td> + </tr> + </tbody> +</table> + +<h3>Becoming a Committer</h3> + +<p>To get started contributing to Spark, learn +<a href="/contributing.html">how to contribute</a> – +anyone can submit patches, documentation and examples to the project.</p> + +<p>The PMC regularly adds new committers from the active contributors, based on their contributions +to Spark. The qualifications for new committers include:</p> + +<ol> + <li>Sustained contributions to Spark: Committers should have a history of major contributions to +Spark. An ideal committer will have contributed broadly throughout the project, and have +contributed at least one major component where they have taken an “ownership” role. An ownership +role means that existing contributors feel that they should run patches for this component by +this person.</li> + <li>Quality of contributions: Committers more than any other community member should submit simple, +well-tested, and well-designed patches. In addition, they should show sufficient expertise to be +able to review patches, including making sure they fit within Spark’s engineering practices +(testability, documentation, API stability, code style, etc). The committership is collectively +responsible for the software quality and maintainability of Spark.</li> + <li>Community involvement: Committers should have a constructive and friendly attitude in all +community interactions. They should also be active on the dev and user list and help mentor +newer contributors and users. In design discussions, committers should maintain a professional +and diplomatic approach, even in the face of disagreement.</li> +</ol> + +<p>The type and level of contributions considered may vary by project area – for example, we +greatly encourage contributors who want to work on mainly the documentation, or mainly on +platform support for specific OSes, storage systems, etc.</p> + +<h3>Review Process</h3> + +<p>All contributions should be reviewed before merging as described in +<a href="/contributing.html">Contributing to Spark</a>. +In particular, if you are working on an area of the codebase you are unfamiliar with, look at the +Git history for that code to see who reviewed patches before. You can do this using +<code>git log --format=full <filename></code>, by examining the “Commit” field to see who committed each patch.</p> + +<h3>How to Merge a Pull Request</h3> + +<p>Changes pushed to the master branch on Apache cannot be removed; that is, we can’t force-push to +it. So please don’t add any test commits or anything like that, only real patches.</p> + +<p>All merges should be done using the +<a href="https://github.com/apache/spark/blob/master/dev/merge_spark_pr.py">dev/merge_spark_pr.py</a> +script, which squashes the pull request’s changes into one commit. To use this script, you +will need to add a git remote called “apache” at https://git-wip-us.apache.org/repos/asf/spark.git, +as well as one called “apache-github” at <code>git://github.com/apache/spark</code>. For the <code>apache</code> repo, +you can authenticate using your ASF username and password. Ask Patrick if you have trouble with +this or want help doing your first merge.</p> + +<p>The script is fairly self explanatory and walks you through steps and options interactively.</p> + +<p>If you want to amend a commit before merging – which should be used for trivial touch-ups – +then simply let the script wait at the point where it asks you if you want to push to Apache. +Then, in a separate window, modify the code and push a commit. Run <code>git rebase -i HEAD~2</code> and +“squash” your new commit. Edit the commit message just after to remove your commit message. +You can verify the result is one change with <code>git log</code>. Then resume the script in the other window.</p> + +<p>Also, please remember to set Assignee on JIRAs where applicable when they are resolved. The script +can’t do this automatically.</p> + +<!-- +<h3>Minimize use of MINOR, BUILD, and HOTFIX with no JIRA</h3> + +From pwendell at https://www.mail-archive.com/dev@spark.apache.org/msg09565.html: +It would be great if people could create JIRA's for any and all merged pull requests. The reason is +that when patches get reverted due to build breaks or other issues, it is very difficult to keep +track of what is going on if there is no JIRA. +Here is a list of 5 patches we had to revert recently that didn't include a JIRA: + Revert "[MINOR] [BUILD] Use custom temp directory during build." + Revert "[SQL] [TEST] [MINOR] Uses a temporary log4j.properties in HiveThriftServer2Test to ensure expected logging behavior" + Revert "[BUILD] Always run SQL tests in master build." + Revert "[MINOR] [CORE] Warn users who try to cache RDDs with dynamic allocation on." + Revert "[HOT FIX] [YARN] Check whether `/lib` exists before listing its files" + +The cost overhead of creating a JIRA relative to other aspects of development is very small. +If it's really a documentation change or something small, that's okay. + +But anything affecting the build, packaging, etc. These all need to have a JIRA to ensure that +follow-up can be well communicated to all Spark developers. +--> + +<h3>Policy on Backporting Bug Fixes</h3> + +<p>From <a href="https://www.mail-archive.com/dev@spark.apache.org/msg10284.html"><code>pwendell</code></a>:</p> + +<p>The trade off when backporting is you get to deliver the fix to people running older versions +(great!), but you risk introducing new or even worse bugs in maintenance releases (bad!). +The decision point is when you have a bug fix and it’s not clear whether it is worth backporting.</p> + +<p>I think the following facets are important to consider:</p> +<ul> + <li>Backports are an extremely valuable service to the community and should be considered for +any bug fix.</li> + <li>Introducing a new bug in a maintenance release must be avoided at all costs. It over time would +erode confidence in our release process.</li> + <li>Distributions or advanced users can always backport risky patches on their own, if they see fit.</li> +</ul> + +<p>For me, the consequence of these is that we should backport in the following situations:</p> +<ul> + <li>Both the bug and the fix are well understood and isolated. Code being modified is well tested.</li> + <li>The bug being addressed is high priority to the community.</li> + <li>The backported fix does not vary widely from the master branch fix.</li> +</ul> + +<p>We tend to avoid backports in the converse situations:</p> +<ul> + <li>The bug or fix are not well understood. For instance, it relates to interactions between complex +components or third party libraries (e.g. Hadoop libraries). The code is not well tested outside +of the immediate bug being fixed.</li> + <li>The bug is not clearly a high priority for the community.</li> + <li>The backported fix is widely different from the master branch fix.</li> +</ul> + + </div> +</div> + + + +<footer class="small"> + <hr> + Apache Spark, Spark, Apache, and the Spark logo are <a href="/trademarks.html">trademarks</a> of + <a href="http://www.apache.org">The Apache Software Foundation</a>. +</footer> + +</div> + +</body> +</html> |