<!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>

  <!-- 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="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="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>