summaryrefslogtreecommitdiff
path: root/site/committers.html
diff options
context:
space:
mode:
Diffstat (limited to 'site/committers.html')
-rw-r--r--site/committers.html518
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 &#8220;ownership&#8221; 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&#8217;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 &#8211; 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 &lt;filename&gt;</code>, by examining the &#8220;Commit&#8221; 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&#8217;t force-push to
+it. So please don&#8217;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&#8217;s changes into one commit. To use this script, you
+will need to add a git remote called &#8220;apache&#8221; at https://git-wip-us.apache.org/repos/asf/spark.git,
+as well as one called &#8220;apache-github&#8221; 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
+&#8220;squash&#8221; 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&#8217;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&#8217;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>