<!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">
  <meta name="description" content="Home page of The Apache Software Foundation">
  <link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-touch-icon-152x152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon-180x180.png">
  <link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
  <link rel="icon" type="image/png" href="/favicons/favicon-194x194.png" sizes="194x194">
  <link rel="icon" type="image/png" href="/favicons/favicon-96x96.png" sizes="96x96">
  <link rel="icon" type="image/png" href="/favicons/android-chrome-192x192.png" sizes="192x192">
  <link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
  <link rel="manifest" href="/favicons/manifest.json">
  <link rel="shortcut icon" href="/favicons/favicon.ico">
  <meta name="msapplication-TileColor" content="#603cba">
  <meta name="msapplication-TileImage" content="/favicons/mstile-144x144.png">
  <meta name="msapplication-config" content="/favicons/browserconfig.xml">
  <meta name="theme-color" content="#282661">

  <title>Apache Corporate Governance - Members</title>
  <link href="/css/Montserrat-300-600.css" rel="stylesheet">
  <link href="/css/min.bootstrap.css" rel="stylesheet">
  <link href="/css/styles.css" rel="stylesheet">
  <style>
.headerlink {
  visibility: hidden;
}
dt:hover > .headerlink, p:hover > .headerlink, td:hover > .headerlink, h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink {
  visibility: visible
}  </style>

  <!-- pagefind search -->
  <link href="/_pagefind/pagefind-ui.css" rel="stylesheet">
  <script src="/_pagefind/pagefind-ui.js" type="text/javascript"></script>
  <script>
    window.addEventListener('DOMContentLoaded', (event) => {
        new PagefindUI({ element: "#pagefind-search" });
    });
  </script>

<!-- https://www.apache.org/licenses/LICENSE-2.0 -->
</head>

<body >
  <!-- Navigation -->
  <header>
	<div id="skiptocontent">
		<a href="#maincontent">Skip to Main Content</a>
	</div>
    <nav class="navbar navbar-inverse navbar-fixed-top mainmenu">
      <div class="container">
        <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#mainnav-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>
        <div class="collapse navbar-collapse" id="mainnav-collapse">
          <ul class="nav navbar-nav navbar-justified">
            <li><a href="/index.html#news">News</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">About&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation">Overview</a></li>
                <li><a href="/foundation/how-it-works.html">Process</a></li>
                <li><a href="/foundation/governance/">Governance</a></li>
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="/foundation/governance/members.html">Membership</a></li>
                <li><a href="https://community.apache.org/">Community</a></li>
                <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="/foundation/glossary.html">Glossary</a></li>
				  <li><a href="/apache-name">About Our Name</a></li>
                <li><a href="/foundation/preFAQ.html">FAQ</a></li>
                <li><a href="/foundation/contributing.html">Support Apache</a></li>
                <li><a href="/press/">Media/Analysts</a></li>
                <li><a href="/foundation/contact.html">Contact</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Make a Donation&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation/contributing.html">Donate Now</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via Credit Card</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via ACH</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via PayPal</a></li>
                <li><a href="https://www.redbubble.com/people/comdev">Buy Swag</a></li>
                <li><a href="/foundation/sponsorship.html">ASF Sponsorship</a></li>
                <li><a href="/foundation/thanks#targeted-sponsors">Targeted Sponsorship</a></li>
                <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">The Apache Way&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="https://s.apache.org/GhnI">Sustainable Open Source</a></li>
                <li><a href="/foundation/how-it-works.html">How it Works</a></li>
                <li><a href="/foundation/how-it-works.html#meritocracy">Merit</a></li>
                <li><a href="https://blogs.apache.org/foundation/category/SuccessAtApache">Success at Apache</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">Join Us&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="https://community.apache.org/gettingStarted/101.html">Getting Started</a></li>
                <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                <li><a href="https://www.apachecon.com/">ApacheCon</a></li>
                <li><a href="http://community.apache.org/calendars/">Community Events</a></li>
                <li><a href="https://tac.apache.org">Travel Assistance</a></li>
                <li><a href="https://community.apache.org/gsoc.html">Summer of Code</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="https://community.apache.org/contributors/etiquette">Etiquette</a></li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Projects&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/index.html#projects-list">Project List</a></li>
                    <li><a href="/foundation/how-it-works.html#management">How they work</a></li>
                    <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
                    <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
                    <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
                    <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
                    <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
                    <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
                    <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="/foundation/marks/">Brand Management</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">People&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
                    <li><a href="/foundation/members.html">Members</a></li>
                    <li><a href="https://community.apache.org/contributors/">Committers</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Officers  &amp; Project VPs</a></li>
                    <li><a href="https://community.zones.apache.org/map.html">Location Map</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://people.apache.org/">Committer Directory</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Community&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="https://community.apache.org/about/">Community Development</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://community.apache.org/">Get Involved</a></li>
                    <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
                    <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
                    <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Infrastructure&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/dev/infrastructure.html">Infra overview</a></li>
                    <li><a href="https://infra.apache.org/" target="_blank">Policies and Tools</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/INFRA/Index" target="_blank">CWiki</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">License&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
                    <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
                    <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
                    <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
                    <li><a href="/foundation/marks/list/">Trademarks</a></li>
					<li><a href="/licenses/exports/">Exports</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Sponsors&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
                    <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
                    <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
                    <li><a href="/foundation/contributing.html">Individual Donations</a></li>
                    <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
                  </ul>
                </li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Downloads&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="https://downloads.apache.org/">Distribution</a></li>
                <li><a href="https://projects.apache.org/releases.html">Releases</a></li>
                <li><a href="https://status.apache.org/">Infrastructure Status</a></li>
                <li><a href="/uptime/">Infrastructure Statistics</a></li>
              </ul>
            </li>
            <li class="dropdown hidden-xs">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"><span class="glyphicon glyphicon-search"
                  aria-hidden="true"></span><span class="sr-only">Search</span></a>
              <ul class="dropdown-menu search-form" role="search">
                <li>
                  <div id="pagefind-search" class="input-group" style="width: 100%; padding: 0 5px;"></div>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </nav>
  </header>
  <!-- / Navigation -->
  <header id="main-header" class="container">
    <div class="sideImg">
          <a class="visible-home" href="https://events.apache.org/x/current-event.html">
            <img class="img-responsive" style="width: 125px;" src="/events/current-event-125x125.png" alt="Apache Events"/>
<!-- STALE: <img class="img-responsive" style="width: 125px;" src="https://www.apachecon.com/event-images/default-square-light.png" alt="ApacheCon 2021 Coming Soon!" /> -->
          </a>
      <a class="hidden-home" href="/"><img class="img-responsive" src="/img/asf-estd-1999-logo.jpg" alt="The Apache Software Foundation"></a>
    </div>
    <div class="main">
      <img class="img-responsive center-block visible-home" src="/img/asf-estd-1999-logo.jpg" alt="Apache 20th Anniversary Logo">

      <ul class="nav navbar-nav navbar-justified">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Projects&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/index.html#projects-list">Project List</a></li>
            <li><a href="/foundation/how-it-works.html#management">How they work</a></li>
            <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
            <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
            <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
            <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
            <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
            <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
            <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="/foundation/marks/">Brand Management</a></li>
            <li><a href="/foundation/glossary.html">Glossary of Terms</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">People&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
            <li><a href="/foundation/members.html">Members</a></li>
            <li><a href="https://community.apache.org/contributors/">Committers</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Officers &amp; Project VPs</a></li>
            <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://people.apache.org/">Committer Directory</a></li>
            <li><a href="https://community.zones.apache.org/map.html">Heat Map</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Community&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="https://community.apache.org/about/">Community Development</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://community.apache.org/">Get Involved</a></li>
            <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
            <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
            <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Infrastructure&nbsp;<span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
              <li><a href="/dev/infrastructure.html">Infra overview</a></li>
              <li><a href="https://infra.apache.org/" target="_blank">Policies and Tools</a></li>
              <li><a href="https://cwiki.apache.org/confluence/display/INFRA/Index" target="_blank">CWiki</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">License&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
            <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
            <li><a href="/foundation/marks/list/">Trademarks</a></li>
			<li><a href="/licenses/exports/">Exports</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Sponsors&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
            <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
            <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
            <li><a href="/foundation/contributing.html">Individual Donations</a></li>
            <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
          </ul>
        </li>
      </ul>
    </div>
 
  </header>
  <main id="maincontent">
<div class="container">    <h1 id="members">Members<a class="headerlink" href="#members" title="Permalink">&para;</a></h1>
<p>The Membership of the Apache Software Foundation are those individuals
elected to Membership in the corporation itself; they are eligible to
elect new Members and to elect Directors to the Board.</p>
<div id="toc"><ul><li><a class="toc-href" href="#organization" title="Organization">Organization</a></li><li><a class="toc-href" href="#legal" title="Legal">Legal</a></li><li><a class="toc-href" href="#communication" title="Communication">Communication</a></li><li><a class="toc-href" href="#meetings" title="Meetings">Meetings</a></li><li><a class="toc-href" href="#merit" title="Merit">Merit</a></li><li><a class="toc-href" href="#community" title="Community">Community</a></li><li><a class="toc-href" href="#technical" title="Technical">Technical</a></li><li><a class="toc-href" href="#references" title="References">References</a></li></ul></div>
<h2 id="organization">Organization<a class="headerlink" href="#organization" title="Permalink">&para;</a></h2>
<p>The ASF is a <a href="/foundation/bylaws">membership corporation</a>, so Members serve a similar role as
shareholders do in publicly traded corporations. Members may propose new
candidate members, may vote in new candidate elections and in board elections.</p>
<p>Members are not empowered to speak officially on behalf of the ASF as a whole,
nor do they have any special rights to influence technical direction of any
Apache projects that they do not participate in a committer or PMC member. While Members often volunteer and serve in many capacities both at the
Foundation level and within various Apache projects, their only specific
<em>organizational</em> rights are to vote in board and Member elections.</p>
<p>The Apache Incubator is special: any ASF Member may request to be added to the
Incubator PMC without a vote. Within the Incubator PMC, members may serve as
official mentors or champions to incoming podlings, as well as voting on
Incubator policy and releases of podlings undergoing incubation. In this way,
members work to mentor podling communities and guide them in the Apache Way,
and eventually to graduation as a top level Apache project.</p>
<h2 id="legal">Legal<a class="headerlink" href="#legal" title="Permalink">&para;</a></h2>
<p>Members act as shareholders of the corporation. Each Member has a
single vote on electing directors to the board; similarly members may vote on
new nominees to membership. Members are eligible to nominate new candidate
members and to nominate individuals to the board.</p>
<p>Organizationally, members do not have specific standing within any Apache
projects or Incubator podlings. However, most members are active as individuals
within multiple Apache projects on their own technical or social merits, and
once elected as a member often find more ways to get involved in more Apache
projects.</p>
<p>While the board and relevant officers are directly responsible for providing
oversight to the many Apache projects, members often work within many Apache
projects to help ensure projects run smoothly and follow the Apache Way.</p>
<h2 id="communication">Communication<a class="headerlink" href="#communication" title="Permalink">&para;</a></h2>
<p>The central place for member-focused announcements and discussions is the
privately archived members@ mailing list. This is used for a wide variety of
purposes: proposing and discussing new technical or policy ideas within
the ASF, announcing marriages or births within members' families or other major
social events, and sharing any formal announcements to the membership from the board or
corporate officers.</p>
<p>By policy, members have the <strong>right to inspect and review the archives of all
mailing lists</strong> at Apache. This policy is designed to ensure that every member
can independently inspect all corporate operations, and the operations of all
Apache projects. Thus members may, for example, review all private mailing lists
about internal legal affairs, fundraising, and security issues, as well as any
private@ lists used by our Apache projects' PMCs.</p>
<p>While members may send messages to any private lists, they do not automatically
receive any special merit in terms of influencing the technical direction of
Apache projects. Merit in Apache projects is gained within each individual
project community, and membership does not convey any other special privileges.</p>
<h2 id="meetings">Meetings<a class="headerlink" href="#meetings" title="Permalink">&para;</a></h2>
<p>The board holds an <a href="/foundation/bylaws#3.2">Annual Members' Meeting</a> at least every 13 months, at which members elect a <a href="/foundation/governance/meetings#boardvoting">new board of
directors</a>, and may vote on <a href="/foundation/governance/meetings#membervoting">new member candidates</a>. Meetings
currently take place on a private IRC channel, as an alternative to a traditional
conference call, where any reports are read and members may ask questions. The
meeting has a ~48 hour recess for voting, and then reconvenes to announce results
and complete the meeting: this lets members who may not be able to personally
attend the first portion of the meeting attend the second half, and, more importantly, to
conduct voting by email asynchronously, using our own secure voter tool
(Now become its own <a href="https://steve.apache.org/">Apache STeVe</a> project). Members who are
unable to attend any of the 2 day meeting period may provide for another member
to proxy their attendance and votes.</p>
<p>The board sometimes holds interim Special Members' Meetings between Annual
Meetings, primarily to give members a chance to nominate and vote on new candidate members. Members also use Special and Annual meetings to raise
questions or issues about Foundation operations - although members
usually just raise questions to the board or to any ASF officer at any time
over our usual mailing lists. Members and invited guests are welcome at all
Members' meetings.</p>
<p>Given the distributed and volunteer nature of the ASF, the Foundation no longer holds official, in-person
meetings of the Membership. Foundations and projects conduct all their business on normal email lists, although some of the lists are
private. Members do often meet in small groups in person, although this is for
social reasons, and often involves a meal or drinks. When the ASF's annual ApacheCon conference takes place in a physical location, rather than online, many members and committers
traditionally attend and meet each other there.</p>
<h2 id="merit">Merit<a class="headerlink" href="#merit" title="Permalink">&para;</a></h2>
<p>All members have the ability to nominate new individuals as candidates for
membership. The amount and types of merit that existing members look for in
Apache committers varies, but always includes some significant technical or
other contribution to one or more of our projects, as well as a clear interest
and understanding of the Apache Way. Potential members display these contributions and
traits over a significant period of time, usually over a year or more of
engagement in one or more Apache projects.</p>
<p>Note that it is not required to be a committer before being considered for
membership. However, in the vast majority of cases any
potentially worthy individual has already become a committer on some Apache
project. At least two individuals have been elected as members without being
committers first, in each case for non-coding contributions in mentoring on the
Apache Way or for other organizational work.</p>
<p>Many newly elected members are surprised (pleasantly!) to be told they've been
elected. Typically, being nominated and elected as a new member happen well after the nominee has a clear track record and a positive
influence on Apache projects for some time; in hindsight, a frequent comment
is "Isn't So-and-So a member already? They do such good work!". The Apache culture frowns on individuals
asking to be made a member (or worse, insisting they should be elected!). In a perhaps counter-intuitive way, being considered
for membership is something that requires real effort acting over a measurable
time, but without making it obvious that you're seeking recognition.</p>
<p>Members approve candidates for membership by a simple majority vote (more yes'es than no's)
at Annual or Special members' meetings. Members vote using custom
voting software, with secret ballots.</p>
<p>Within the Membership, merit is equal; all members have an equal vote and
ability to propose change within the ASF. Membership is a notably helpful factor
in being considered for the board or in appointment to officer positions at the
ASF, although the most important factor is demonstrated merit within the
particular project or the ASF as a whole.</p>
<h2 id="community">Community<a class="headerlink" href="#community" title="Permalink">&para;</a></h2>
<p>The ability of members to influence the ASF is simultaneously major and
immaterial. On one hand, members vote on new candidate members, and more
importantly vote on the Board of Directors, which clearly affects strategic
policies of the ASF. On the other hand, membership grants individuals no other
special merit within any of our projects, and is not an official position within
the legal corporation itself.</p>
<p>The perceived importance of membership is likewise a dichotomy. Many members are
quite modest about their membership, and a frequently heard comment is that
"Oh, they really deserve to be recognized more than I did". For many, being
elected a member was not a goal or title they were pursuing; rather,
they were naturally doing their own work (at an Apache project), and were then
recognized for it. Many members list their affiliation on their resume (or
LinkedIn, etc.); some do not.</p>
<p>Recognition of membership varies widely outside of the ASF: some software
companies don't seem to care what the ASF is or what membership means; a few
software companies strongly encourage their employees to become committers
or members, and gaining one of those roles is a notable prestige bonus within
those companies. Likewise, open source conferences frequently invite members or officers of the ASF to be speakers.</p>
<p>Members share the community of all other members, and often serve
as bridges between the various Apache projects they are involved in.
Many members also volunteer extra time to serve as mentors, both working with projects and communities within the ASF and mentoring
others or speaking at conferences outside of it.</p>
<h2 id="technical">Technical<a class="headerlink" href="#technical" title="Permalink">&para;</a></h2>
<p>The membership as a whole and individually does not provide technical direction
for any Apache projects directly; every PMC is free to manage its technical
direction independently. PMCs are the governing body for their project, and are
expected to manage the project's technology in the best interest of the whole
project community, independent of outside commercial influence.</p>
<p>This is similar to how the board does not set technical direction for projects:
this is a key reflection of how the ASF is intentionally structured to provide
maximum freedom to its projects. The board and the ASF membership are happy to
provide a home to any software project communities that are willing to follow
the Apache Way. The mission of the ASF is to provide software for the common
good: we are happy to help like-minded communities to provide that software; are
confident that communities will form around software that is useful; and
understand that there are many different ways to effectively and collaboratively
build software.</p>
<p>Nearly all members participate in a number of
Apache projects as individuals, based on their merit within the specific
projects. Simply being elected a Member does not confer any additional
abilities in terms of other projects. Many members choose to serve as ambassadors
of the Apache Way, and usually get involved in more projects as time goes on.</p>
<h2 id="references">References<a class="headerlink" href="#references" title="Permalink">&para;</a></h2>
<ul>
<li>Who They Are: <a href="/foundation/members.html">Current Members</a></li>
<li>Who They Are: <a href="http://people.apache.org/committer-index.html">Current Members and Committers by Project</a></li>
<li><a href="/foundation/bylaws.html">Bylaws of the ASF</a></li>
<li><a href="orgchart.html">Org chart of the ASF</a></li>
<li><a href="http://people.apache.org/%7Ecurcuru/timeline/members.html">Graph of Membership Growth</a></li>
<li><a href="/foundation/governance/meetings#membervoting">How Members Are Elected</a></li>
<li>Members have access to additional resources listed on the <em>foundation/private-index page</em> in svn.</li>
</ul>

</div>  </main>

  <!-- Footer -->
  <footer class="bg-primary">
    <div class="container">
      <div class="row">
        <br />
        <div class="col-sm-1">

        </div>
        <div class="col-sm-2">
          <h5 class="white">Community</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://community.apache.org/">Overview</a></li>
            <li><a href="/foundation/conferences.html">Conferences</a></li>
            <li><a href="http://community.apache.org/gsoc.html">Summer of Code</a></li>
            <li><a href="http://community.apache.org/newcomers/">Getting Started</a></li>
            <li><a href="/foundation/how-it-works.html">The Apache Way</a></li>
            <li><a href="https://tac.apache.org">Travel Assistance</a></li>
            <li><a href="/foundation/getinvolved.html">Get Involved</a></li>
            <li><a href="/foundation/policies/conduct.html">Code of Conduct</a></li>
            <li><a href="http://community.apache.org/newbiefaq.html">Community FAQ</a></li>
            <li><a href="/memorials/">Memorials</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Innovation</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://incubator.apache.org/">Incubator</a></li>
            <li><a href="http://labs.apache.org/">Labs</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Tech Operations</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/dev/">Developer Information</a></li>
            <li><a href="/dev/infrastructure.html">Infrastructure</a></li>
            <li><a href="/security/">Security</a></li>
            <li><a href="http://status.apache.org">Status</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Press</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/press/">Overview</a></li>
            <li><a href="https://blogs.apache.org/">ASF News</a></li>
            <li><a href="https://blogs.apache.org/foundation/">Announcements</a></li>
            <li><a href="https://twitter.com/TheASF">Twitter Feed</a></li>
            <li><a href="/press/#contact">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Legal</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/legal/">Legal Affairs</a></li>
            <li><a href="/legal/dmca.html">DMCA</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/records/">Public Records</a></li>
            <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
            <li><a href="/licenses/exports/">Export Information</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-1">
        </div>

      </div>
      <hr class="col-lg-12 hr-white" />
      <div class="row">
        <div class="col-lg-12">
          <p class="text-center">Copyright &#169; 2023 The Apache Software Foundation, Licensed under the <a class="white" href="/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
          <p class="text-center">Apache and the Apache feather logo are trademarks of The Apache Software Foundation. </p>
        </div>
      </div>
    </div>

  </footer>

  <!-- / Footer -->

  <script src="/js/jquery.min.js"></script>
  <script src="/js/bootstrap.js"></script>
  <script src="/js/slideshow.js"></script>
  <script>
    (function($){
    $(document).ready(function(){
    $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) {
    event.preventDefault();
    event.stopPropagation();
    $(this).parent().siblings().removeClass('open');
    $(this).parent().toggleClass('open');
    console.log('WOrked');
    });
    });
    })(jQuery);
  </script>
</body>
</html>