<!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>Plain-English version of the Bylaws of The ASF</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>

<!-- 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="https://smile.amazon.com/gp/chpf/homepage/ref=smi_se_scyc_srch_stsr?q=apache+software+foundation&orig=%2F">Shop smile.amazon.com</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="/travel/">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 class="input-group" style="width: 100%; padding: 0 5px;">
                    <script async src="https://cse.google.com/cse.js?cx=cb41d2753d228d8b7"></script>
                    <div class="gcse-search"></div>
                  </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="plain-english-version-of-the-bylaws-of-the-asf">Plain-English version of the Bylaws of The ASF<a class="headerlink" href="#plain-english-version-of-the-bylaws-of-the-asf" title="Permalink">&para;</a></h1>
<p><em>Caution: this is a simplified text to help people understand the legal document. This is NOT the legal Bylaws of The Apache Software Foundation (the ASF). Please consult the <a href="bylaws.html">official text</a> if you intend to base some action or argument on the precise text of the bylaws. Note, also, that the bylaws are interpreted in light of the laws of the State of Delaware in the United States, and that such interpretaion can get complex.</em></p>
<p><em>This summary is of the bylaws as of April, 2022</em></p>
<h2 id="article-1-business-offices">Article 1 - Business offices<a class="headerlink" href="#article-1-business-offices" title="Permalink">&para;</a></h2>
<p>The Board of Directors (the Board) can put the business offices of the ASF anywhere it wants. In 2022, the official office is in Wilmington, Delaware. (This is just the service address for the ASF; there is no actual "office" and no ASF staff work there.)</p>
<h2 id="article-2-registered-offices-and-agents">Article 2 - Registered offices and agents<a class="headerlink" href="#article-2-registered-offices-and-agents" title="Permalink">&para;</a></h2>
<h3 id="21-delaware">2.1 Delaware<a class="headerlink" href="#21-delaware" title="Permalink">&para;</a></h3>
<p>The Certificate of Incorporation of the ASF states the location of the first office of the ASF, which was in the State of Delaware, and the name of the first registered agent of the ASF. Whenever the Board changes either the office location or its registered agents, it must inform the Secretary of State of the State of Delaware.</p>
<h3 id="22-other-states">2.2 Other states<a class="headerlink" href="#22-other-states" title="Permalink">&para;</a></h3>
<p>If the ASF needs to set up offices or have registered agents in other states, it must follow the laws and rules of those states. (Note: this probably applies to any nation on earth, not just states in the United States of America.)</p>
<h2 id="article-3-members-meetings">Article 3 - Members' meetings<a class="headerlink" href="#article-3-members-meetings" title="Permalink">&para;</a></h2>
<h3 id="31-meeting-place">3.1 Meeting place<a class="headerlink" href="#31-meeting-place" title="Permalink">&para;</a></h3>
<p>Official meetings of Members of the ASF can take place anywhere. Historically, meetings have taken place in person (in the early years), or on Internet Relay Chat (IRC).</p>
<h3 id="32-annual-meeting">3.2 Annual meeting<a class="headerlink" href="#32-annual-meeting" title="Permalink">&para;</a></h3>
<p>The Board must call an annual meeting of the Members of the ASF within 13 months of the previous annual meeting. At an annual meeting the Members elect the Board and carry out any other "proper" business. (There is no definition of "proper".)</p>
<h3 id="33-special-meetings">3.3 Special meetings<a class="headerlink" href="#33-special-meetings" title="Permalink">&para;</a></h3>
<p>The Board Chair, the President, the full Board, or 10%+1 of the Members who can vote can call a special meeting at any time. The person or group calling the meeting can assign the person to announce it.</p>
<h3 id="34-notice-of-members-meetings">3.4 Notice of Members' meetings<a class="headerlink" href="#34-notice-of-members-meetings" title="Permalink">&para;</a></h3>
<p>The person or group calling the meeting, or the person they assign, must inform Members of the meeting at least 10 days before, and not more than 60 days before, the day of the meeting. The notice must be given "personally" or by first class mail to the mailing address the ASF has for each Member. ("Personally" is not defined, but is currently satisfied by sending email to a deliberately low-volume email list, <a href="mailto:members-notify@apache.org">members-notify@apache.org</a> which is auto-subscribed by each Member.)</p>
<p>The ASF is not responsible for informing Members of meetings if it no longer has a good address or other contact information for them, based on two notices of Members' meetings in a row being undeliverable. It is up to each Member to keep their contact information current with the ASF.</p>
<h3 id="35-notice-of-adjourned-members-meetings">3.5 Notice of adjourned Members' meetings<a class="headerlink" href="#35-notice-of-adjourned-members-meetings" title="Permalink">&para;</a></h3>
<p>The ASF does not have to send out notices if a meeting is adjourned to another time or place, if the new time and place were announced in the course of the meeting <strong>unless</strong> the date changes by more than thirty (30) days. Then section 3.4 applies.</p>
<h3 id="36-waiver-of-notice">3.6 Waiver of notice<a class="headerlink" href="#36-waiver-of-notice" title="Permalink">&para;</a></h3>
<p>Any Member can tell the ASF in writing that they don't need a formal notice of Members' meetings. If you attend a meeting you can't require a notice of that meeting <strong>except</strong> if you intend to object that the meeting is out of order.</p>
<h3 id="37-setting-the-record-date-for-the-meeting">3.7 Setting the record date for the meeting<a class="headerlink" href="#37-setting-the-record-date-for-the-meeting" title="Permalink">&para;</a></h3>
<p>a. The Board can set a "record date", between 10 and 60 days before a Members' meeting. Those who are ASF Members on the record date are Members who must be invited to, and may take part in, the coming meeting. If the Board does not set a record date, the day two days before when the notice of meeting is sent to Members (OR, if there is no notice for the meeting, two days before the meeting date) is the record date.</p>
<p>b. When the Board wants to know what the Members want to do about something without holding a meeting (see section 3.12), it can set a "record date", as above, to determine the Members who can express their wishes about the matter in writing.</p>
<p>c. The Board can establish a "record date" as in item a. to establish which Members can exercise rights or take some other action. The record date cannot be more than 60 days before the time when the Members might want to exercise those rights.</p>
<h3 id="38-voting-rights">3.8 Voting rights<a class="headerlink" href="#38-voting-rights" title="Permalink">&para;</a></h3>
<p>The Secretary or other person the Board assigns makes a list of Members entitled to vote at a meeting, ten days before the meeting. The list is private, but any Member can ask for a copy to review for accuracy. If the Directors of the ASF do not produce such a list for a meeting that involves the election of Members, those Directors are not eligible to be elected to any office at that meeting.</p>
<h3 id="39-quorum">3.9 Quorum<a class="headerlink" href="#39-quorum" title="Permalink">&para;</a></h3>
<p>Normally, the quorum for an ASF Members' meeting is one-third (33% +1) of the Members eligible to vote at that meeting. Having a quorum means the meeting can legally conduct business, including the election of Board members.</p>
<p>(There are details about different classes of membership that are not relevant right now to the ASF.)</p>
<p>Candidates for the Board are elected by a plurality of the votes cast. This is currently implemented via the Single Transferrable Vote method in which Members vote for their first, second, third, etc. choice.</p>
<p>Members can assign another Member to be their proxy, so that member can act on their behalf. All proxies also count toward establishing the quorum. (See below.)</p>
<p>If Members leave the meeting after the quorum for the meeting has been established, the quorum is still valid for the duration of the meeting.</p>
<p>If actions during the meeting result in adding Members to the ASF, the meeting's already-established quorum is still valid.</p>
<h3 id="310-voting">3.10 Voting<a class="headerlink" href="#310-voting" title="Permalink">&para;</a></h3>
<p>Each Member (not Emeritus Members) has one vote on each matter submitted for a vote during the meeting. Members can vote themselves or by having a proxy cast their vote.</p>
<h3 id="311-proxies">3.11 Proxies<a class="headerlink" href="#311-proxies" title="Permalink">&para;</a></h3>
<p>A proxy is a person to whom you give authority to act for you, especially in regard to quorum or voting. The use here specifically relates to ASF Members giving another Member the right to register as "present" for them for the purpose of establishing a quorum and to vote on their behalf in Members' meetings.</p>
<p>The Member or someone with legal authority to act for them must "sign" the proxy form. In practice, the ASF recognizes digital signatures through an online process.</p>
<p>The proxy is valid for three years from the date it is given, unless the proxy form includes a shorter time limit. You can revoke a proxy you have given.</p>
<h3 id="312-members-taking-action-without-a-meeting">3.12 Members taking action without a meeting<a class="headerlink" href="#312-members-taking-action-without-a-meeting" title="Permalink">&para;</a></h3>
<p>Anything that can happen at a Members' meeting, can happen without a meeting <strong>if</strong> enough members have signed written consents for the action. "Enough" in this case would be the minimum number of votes that would authorize taking the action at a meeting at which all voting Members were present. Each consent must have a Member's signature. Members must deliver their consents to the ASF within 60 days of the ASF receiving the first one.</p>
<p>The ASF must notify all Members promptly of an action it takes in this way.</p>
<h2 id="article-4-members">Article 4 - Members<a class="headerlink" href="#article-4-members" title="Permalink">&para;</a></h2>
<h3 id="41-new-members">4.1 New Members<a class="headerlink" href="#41-new-members" title="Permalink">&para;</a></h3>
<p>Current Members can nominate new Members. The ASF makes such nominations available to all Members at least ten days before a meeting in which there will be a vote on the nominations.</p>
<p>The original Members of the ASF were voted in by the Board at the first Board meeting. All others require a vote in favor at a Members' meeting to become Members. Newly elected Members must submit their signed membership application within 30 days after the vote to become Members.</p>
<h3 id="42-emeritus-members">4.2 Emeritus Members<a class="headerlink" href="#42-emeritus-members" title="Permalink">&para;</a></h3>
<p>An Emeritus Member is a Member who has become inactive, either at their own request or by a vote at a Members' meeting. Emeritus Members cannot vote at Members' meetings and their presence does not count toward achieving quorum. The ASF will continue to send notices of Members' meetings to Emeritus Members as long as it has good contact information for them.</p>
<p>References to "Members" in the bylaws do not include Emeritus Members.</p>
<h3 id="43-voluntary-conversion-to-emeritus-member-status">4.3 Voluntary conversion to Emeritus Member status<a class="headerlink" href="#43-voluntary-conversion-to-emeritus-member-status" title="Permalink">&para;</a></h3>
<p>A Member can change to Emeritus status by sending a notice to an officer of the ASF. The bylaws say "signed, written", but the ASF accepts proper electronic notice. Their status changes ten days after receipt of the notice.</p>
<h3 id="44-involuntary-conversion-to-emeritus-member-status">4.4 Involuntary conversion to Emeritus Member status<a class="headerlink" href="#44-involuntary-conversion-to-emeritus-member-status" title="Permalink">&para;</a></h3>
<p>The Members of the ASF can convert a Member to Emeritus status with a two-thirds majority of the Members voting.</p>
<h3 id="45-reinstatement-of-an-emeritus-member">4.5 Reinstatement of an Emeritus Member<a class="headerlink" href="#45-reinstatement-of-an-emeritus-member" title="Permalink">&para;</a></h3>
<p>An Emeritus Member can apply to become a full Member again. If a majority of ASF Members voting approve the request, the Member regains full status, privileges, and obligations.</p>
<h3 id="46-voluntary-withdrawal-of-membership">4.6 Voluntary withdrawal of membership<a class="headerlink" href="#46-voluntary-withdrawal-of-membership" title="Permalink">&para;</a></h3>
<p>Full and Emeritus Members can at any time end their membership with a written notice to the ASF. The membership ends ten days after receipt of the notice.</p>
<h3 id="47-ending-a-membership">4.7 Ending a membership<a class="headerlink" href="#47-ending-a-membership" title="Permalink">&para;</a></h3>
<p>The Members of the ASF can end a person's membership with a two-thirds majority of the Members voting.</p>
<h3 id="48-effect-of-withdrawal-or-termination">4.8 Effect of withdrawal or termination<a class="headerlink" href="#48-effect-of-withdrawal-or-termination" title="Permalink">&para;</a></h3>
<p>A person who has withdrawn their membership or whose membership has been terminated loses all rights of ASF membership, including voting rights. A former member can become a Member again, following the process in section 4.1.</p>
<h2 id="article-5-directors">Article 5 - Directors<a class="headerlink" href="#article-5-directors" title="Permalink">&para;</a></h2>
<h3 id="51-powers">5.1 Powers<a class="headerlink" href="#51-powers" title="Permalink">&para;</a></h3>
<p>The Board of Directors directs the conduct of the business of the ASF. The Board can do anything on behalf of the ASF that does not require a vote of the Members.</p>
<h3 id="52-qualification">5.2 Qualification<a class="headerlink" href="#52-qualification" title="Permalink">&para;</a></h3>
<p>There are <strong>no</strong> specific qualifications for Directors.</p>
<h3 id="53-compensation">5.3 Compensation<a class="headerlink" href="#53-compensation" title="Permalink">&para;</a></h3>
<p>The Board can set a level of compensation (money or some other benefit) for Directors.</p>
<h3 id="54-number">5.4 Number<a class="headerlink" href="#54-number" title="Permalink">&para;</a></h3>
<p>The original and current number of Directors was nine. An annual Members' meeting can vote to change that number up or down.</p>
<h3 id="55-election-and-term">5.5 Election and term<a class="headerlink" href="#55-election-and-term" title="Permalink">&para;</a></h3>
<p>Each Director holds office from the time they are elected until an annual Members' meeting elects the next slate of Directors, unless they resign, die, or are removed before then.</p>
<h3 id="56-resignation-and-removal">5.6 Resignation and removal<a class="headerlink" href="#56-resignation-and-removal" title="Permalink">&para;</a></h3>
<p>A Director can resign at any time by submitting a written request to the ASF. A majority vote of all Members entitled to vote can remove a Director.</p>
<h3 id="57-vacancies">5.7 Vacancies<a class="headerlink" href="#57-vacancies" title="Permalink">&para;</a></h3>
<p>If there is a vacancy, the remaining Directors can vote to appoint someone to fill the vacancy. The person's term runs until the next election of Directors is complete.</p>
<h3 id="58-quorum-and-voting">5.8 Quorum and voting<a class="headerlink" href="#58-quorum-and-voting" title="Permalink">&para;</a></h3>
<p>50%+1 of the Directors is the quorum for a Board meeting. The Board approves actions by majority vote of the attendees.</p>
<h3 id="59-executive-and-other-committees">5.9 Executive and other committees<a class="headerlink" href="#59-executive-and-other-committees" title="Permalink">&para;</a></h3>
<p>The Board can create an Executive Committee of some of its members, and other committees. Each Executive committee must have at least one Board member. The Board can assign duties and authority to its committees.</p>
<p>The Board can assign Directors as alternate members of its committees, to take part and vote in the committee if a Director assigned to it is not available. Directors who are members of a committee can vote to add a Director to temporarily replace one who is not available.</p>
<h3 id="510-place-of-meetings">5.10 Place of meetings<a class="headerlink" href="#510-place-of-meetings" title="Permalink">&para;</a></h3>
<p>Board meetings can take place anywhere, including as an online meeting.</p>
<h3 id="511-time-notice-and-call-of-meetings">5.11 Time, notice, and call of meetings<a class="headerlink" href="#511-time-notice-and-call-of-meetings" title="Permalink">&para;</a></h3>
<p>The Board meets for the first time immediately after it is elected at a Members' meeting. It then sets the day and time of future regular Board meetings. It does not have to give notice of regular meetings.</p>
<p>Special meetings of the Board can be called by the Chair, the President of the ASF, or by any two directors. Notice of the special meeting must be sent to each Director at least two days (electronic notice) or five days (physical mail) before the date of the meeting.</p>
<p>Board members can sign a waiver of notice if they do not want to receive notices of meetings. If a Board member is at a meeting, they cannot complain they did not get notice of it. A member can, at the start of the meeting, object to its transacting any business if the member argues that the meeting was called or convened improperly. (The bylaws do not say what happens then.)</p>
<p>Members can take part in Board meetings by phone or other electronic means.</p>
<h3 id="512-action-without-a-meeting">5.12 Action without a meeting<a class="headerlink" href="#512-action-without-a-meeting" title="Permalink">&para;</a></h3>
<p>The Board or any of its committees can take actions without a meeting, if all the Directors or committee members approve of the action in writing.</p>
<h3 id="513-conflicts-of-interest">5.13 Conflicts of interest<a class="headerlink" href="#513-conflicts-of-interest" title="Permalink">&para;</a></h3>
<p>There is no automatic conflict of interest in contracts or transactions between the ASF and its Directors or between the ASF and any body in which one or more Directors has an interest, IF:</p>
<ul>
<li>Everyone on the Board or the committee knows the facts of the Director or Directors' interest in the contract or transaction, and the Board or committee members who are not in a position of interest vote to approve the contract or transaction.</li>
<li>(Seems to repeat the previous point.)</li>
<li>The contract or transaction is fair.</li>
</ul>
<p>Directors who have an interest in a matter to be decided still count toward the quorum of the Board or committee meeting.</p>
<h2 id="article-6-officers">Article 6 - Officers<a class="headerlink" href="#article-6-officers" title="Permalink">&para;</a></h2>
<h3 id="61-officers">6.1 Officers<a class="headerlink" href="#61-officers" title="Permalink">&para;</a></h3>
<p>The Board elects the officers of the ASF, which are:</p>
<p>(required)</p>
<ul>
<li>President</li>
<li>Secretary</li>
<li>Treasurer</li>
</ul>
<p>(optional)</p>
<ul>
<li>Board Chair</li>
<li>One or more Vice Chairs</li>
<li>One or more Vice Presidents</li>
<li>Other officers, assistant officers, and agents</li>
</ul>
<p>The same person can hold two or more offices, <strong>except</strong> that the same person cannot be both President and Secretary.</p>
<h3 id="62-duties">6.2 Duties<a class="headerlink" href="#62-duties" title="Permalink">&para;</a></h3>
<ul>
<li><strong>Board Chair</strong>, if there is one, presides at all Board meetings and Members' meetings, and may have other duties and authority that the Board conveys to them.</li>
<li><strong>Vice Chair</strong>, if there is one, acts for the Board Chair if that person is not available. The Board may assign them other duties and authority. If there are several Vice Chairs, the Board can choose one to act in the absence of the Board Chair.</li>
<li><strong>President</strong> is in charge of the business and affairs of the ASF (but not management of individual PMCs; see section 6.3), subject to direction from the Board. If there is no Board Chair or Vice Chair, the President presides at Board meetings and Members' meetings.</li>
<li><strong>Vice President</strong> acts in the absence of the President and may have other duties as determined by the Board. At the ASF, the chair of the PMC (see section 6.3) of each Apache project is also a Vice President of the ASF.</li>
<li><strong>Secretary</strong> and <strong>Assistant Secretary</strong> keep records of the acts and proceedings of all Board and Members' meetings, and deliver all required notices. The Secretary is in charge of the corporate books and records and the corporate seal; keeps the ASF membership records and all Member contact information, and signs documents that require an official ASF signature. The Secretary (and assistant) may have other duties at the discretion of the Board.</li>
<li><strong>Treasurer</strong> and <strong>Assistant Treasurer</strong> have custody of all corporate funds and financial records. They keep a full and accurate record of all transactions and report to the Board and to Members' meetings. They may have other duties at the discretion of the Board.</li>
</ul>
<h3 id="63-project-management-committees">6.3 Project Management Committees<a class="headerlink" href="#63-project-management-committees" title="Permalink">&para;</a></h3>
<p>The Board establishes Project Management Committees (PMCs) to manage individual ASF projects. The chair of each PMC is also a Vice President of the ASF.</p>
<p>Each PMC manages one or more ASF projects and has wide latitude to set up procedures and development methods, as long as they do not conflict with The Apache Way.</p>
<p>The Board can choose to terminate a PMC at any time.</p>
<h3 id="64-election-and-term">6.4 Election and term<a class="headerlink" href="#64-election-and-term" title="Permalink">&para;</a></h3>
<p>The Board appoints the Officers of the ASF and the PMCs of ASF projects for a term of one year or until their successor is elected and qualified, or until they resign or are removed. (There is no limit to the number of times a person can be reappointed as an Officer or a PMC member.)</p>
<h3 id="65-removal-of-officers">6.5 Removal of officers<a class="headerlink" href="#65-removal-of-officers" title="Permalink">&para;</a></h3>
<p>The Board can remove an Officer, an agent, or a PMC member at any time if it decides the removal is in the best interest of the ASF.</p>
<h3 id="66-vacancies">6.6 Vacancies<a class="headerlink" href="#66-vacancies" title="Permalink">&para;</a></h3>
<p>The Board can fill any Officer or PMC vacancies.</p>
<h3 id="67-compensation">6.7 Compensation<a class="headerlink" href="#67-compensation" title="Permalink">&para;</a></h3>
<p>The Board can set compensation for Officers and PMC members, if any, and can change it at any time.</p>
<p>The President sets the salaries of employees of the ASF who are not Officers of the corporation.</p>
<h2 id="article-7-books-and-records">Article 7 - Books and records<a class="headerlink" href="#article-7-books-and-records" title="Permalink">&para;</a></h2>
<h3 id="71-books-and-records">7.1 Books and records<a class="headerlink" href="#71-books-and-records" title="Permalink">&para;</a></h3>
<p>The ASF keeps accurate and complete records of accounts, minutes of meetings, and records of other ASF proceedings.</p>
<p>The ASF keeps full and complete records of the names, addresses, and contact information of its Members, and a record of when they became (and, if relevant, stopped being) a Member or an Emeritus Member.</p>
<p>Members and Emeritus Members are responsible for notifying the ASF of changes of address or contact information.</p>
<p>The records do not have to be physical documents, but the ASF must be able to create physical copies of the records if needed.</p>
<h3 id="72-inspecting-books-and-records">7.2 Inspecting books and records<a class="headerlink" href="#72-inspecting-books-and-records" title="Permalink">&para;</a></h3>
<p>Any ASF Member can examine and make copies of the membership records and other records the ASF holds. The Member must provide a written demand "under oath" (signed with a witness) explaining the reason for the examination. The reason must be for a "proper purpose".</p>
<h2 id="article-8-nonprofit-status">Article 8 - Nonprofit status<a class="headerlink" href="#article-8-nonprofit-status" title="Permalink">&para;</a></h2>
<p>The ASF operates as a not-for-profit membership corporation, exempt from US taxation as a 501(c)(3) charitable organization. It must not engage in any activity that might invalidate its tax-exempt status.</p>
<h2 id="article-9-corporate-seal">Article 9 - Corporate seal<a class="headerlink" href="#article-9-corporate-seal" title="Permalink">&para;</a></h2>
<p>The Board has a corporate seal which is used to validate certain legal documents.</p>
<h2 id="article-10-amendment">Article 10 - Amendment<a class="headerlink" href="#article-10-amendment" title="Permalink">&para;</a></h2>
<p>The Board or the Members can alter, amend, or repeal these bylaws, and can adopt new ones. No changes to the bylaws come into effect until after the ASF has made a good-faith effort to notify all Members of the proposed change at least 15 days before the change would take place.</p>
<h2 id="article-11-limits-on-liability-of-directors">Article 11 - Limits on liability of directors<a class="headerlink" href="#article-11-limits-on-liability-of-directors" title="Permalink">&para;</a></h2>
<p>No Director of the ASF is personally liable to the ASF or to its Members to pay a financial penalty because of a "breach of fiduciary duty" as a Director.</p>
<h2 id="article-12-indemnification-of-officers-and-directors">Article 12 - Indemnification of officers and directors<a class="headerlink" href="#article-12-indemnification-of-officers-and-directors" title="Permalink">&para;</a></h2>
<h3 id="121-right-to-indemnification">12.1 Right to indemnification<a class="headerlink" href="#121-right-to-indemnification" title="Permalink">&para;</a></h3>
<p>"Indemnification", in this section, means "security against legal liability for one's actions" and "repayment of costs related to legal actions connected to their ASF work".</p>
<p>A person acting as a director, officer or member of the ASF, or acting on behalf of the ASF as a director, officer, employee, or agent who becomes part of a civil, criminal, administrative, or other action as a result of acting on behalf of the ASF, shall have their valid expenses, fees, and fines repaid by the ASF IF they were attempting to act in the best interests of the ASF and the Board authorized them to act.</p>
<h3 id="122-advance-payment-of-expenses">12.2 Advance payment of expenses<a class="headerlink" href="#122-advance-payment-of-expenses" title="Permalink">&para;</a></h3>
<p>A person in the situation described in section 12.1 can have their expenses reimbursed in advance of the conclusion of the civil, criminal, or other action. If it later turns out that the person was not entitled to this payment, they must return it.</p>
<h3 id="123-right-to-sue">12.3 Right to sue<a class="headerlink" href="#123-right-to-sue" title="Permalink">&para;</a></h3>
<p>If the ASF does not make payments described in section 12.2 within 90 days of receiving a written claim, the person making the claim may sue the ASF for the claimed amount. If unsuccessful, the claimant will have to pay legal fees the ASF incurs. Please consult the actual section 12.3 for the details of such a situation.</p>
<h3 id="124-contract-rights">12.4 Contract rights<a class="headerlink" href="#124-contract-rights" title="Permalink">&para;</a></h3>
<p>If these bylaws change, that does not change any right or obligation that existed before the change.</p>
<h3 id="125-non-exclusive-rights">12.5 Non-exclusive rights<a class="headerlink" href="#125-non-exclusive-rights" title="Permalink">&para;</a></h3>
<p>This article's description of indemnification and payment of certain expenses does not exclude or override other rights of people seeking payment of expenses or indemnification.</p>
<h3 id="126-insurance">12.6 Insurance<a class="headerlink" href="#126-insurance" title="Permalink">&para;</a></h3>
<p>The ASF may purchase and maintain liability insurance for present or former Directors, officers, Members, employees, or agents, or others who work or worked for the ASF on their behalf.</p>
<h3 id="127-definitions">12.7 Definitions<a class="headerlink" href="#127-definitions" title="Permalink">&para;</a></h3>
<p>This section establishes whom the ASF will indemnify and reimburse in the case of legal or other action related to their work for the ASF.</p>
<h3 id="128-continued-coverage">12.8 Continued coverage<a class="headerlink" href="#128-continued-coverage" title="Permalink">&para;</a></h3>
<p>In general, indemnity and reimbursement of expenses, once started, will continue even if the person involved ceases to be a Director, officer, or Member of the ASF, and extends to their heirs and their estate.</p>
<h2 id="article-13-general">Article 13 - General<a class="headerlink" href="#article-13-general" title="Permalink">&para;</a></h2>
<h3 id="131-checks">13.1 Checks<a class="headerlink" href="#131-checks" title="Permalink">&para;</a></h3>
<p>The Board designates who is authorized to sign ASF checks and other financial documents.</p>
<h3 id="132-fiscal-year">13.2 Fiscal year<a class="headerlink" href="#132-fiscal-year" title="Permalink">&para;</a></h3>
<p>The Board sets the date when the fiscal year of the ASF starts.</p>
<h3 id="133-loans">13.3 Loans<a class="headerlink" href="#133-loans" title="Permalink">&para;</a></h3>
<p>The Board must formally authorize any borrowing by the ASF.</p>
<h3 id="134-deposits">13.4 Deposits<a class="headerlink" href="#134-deposits" title="Permalink">&para;</a></h3>
<p>The Board specifies where to deposit ASF funds.</p>
<h3 id="135-contracts">13.5 Contracts<a class="headerlink" href="#135-contracts" title="Permalink">&para;</a></h3>
<p>The Board must formally authorize anyone who can sign contracts on behalf of the ASF.</p>
<h3 id="136-equivalent-documents">13.6 Equivalent documents<a class="headerlink" href="#136-equivalent-documents" title="Permalink">&para;</a></h3>
<p>Electronic (or other) copies of documents requiring signatures of Directors or others on behalf of the ASF are all as valid as the original document.</p>

</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="/travel/">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="/foundation/policies/privacy.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-2.1.1.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>