<!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>Glossary of ASF Terms</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">
      <h2 class="text-center">Community-led development "The&nbsp;Apache&nbsp;Way"</h2>
      <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>
    <div class="sideImg">
      <a href="/foundation/contributing.html"><img class="img-responsive" src="/img/support-apache.jpg" alt="Apache Support Logo" /></a>
    </div>
  </header>
  <main id="maincontent">
<div class="container">    <h1 id="glossary-of-asf-terms">Glossary of ASF Terms<a class="headerlink" href="#glossary-of-asf-terms" title="Permalink">&para;</a></h1>
<p>This glossary provides a brief description of some of the organizational
terms used at the ASF and in Apache projects.  For more information
about anything Apache, see the <a href="/dev/">/dev documentation</a> or the
<a href="http://community.apache.org/">Community Development project</a>.</p>
<hr/>
<dl>
<dt id="ApacheCon">ApacheCon<a class="headerlink" href="#ApacheCon" title="Permalink">&para;</a></dt>
<dd>
<p>The official developer and user conference of the ASF (see the
<a href="http://ApacheCon.Com/">ApacheCon Web site</a> ).</p>
</dd>
<dt id="Artifact">Artifact<a class="headerlink" href="#Artifact" title="Permalink">&para;</a></dt>
<dd>
<p>A file which is created as the outcome of a process, typically the
release preparation process.</p>
</dd>
<dt id="ASF">ASF<a class="headerlink" href="#ASF" title="Permalink">&para;</a></dt>
<dd>
<p>The Apache Software Foundation, a non-profit organization.</p>
</dd>
<dt id="Attic">Attic<a class="headerlink" href="#Attic" title="Permalink">&para;</a></dt>
<dd>
<p>A location for discontinued, abandoned, and retired
<a href="#Codebase">codebases</a> and <a href="#Project">projects</a>. The
<a href="http://attic.apache.org">Apache Attic project</a>
preserves the information for posterity, reference, and potential
future re-activation, while keeping it clearly distinct from active
work.</p>
</dd>
<dt id="Board">Board<a class="headerlink" href="#Board" title="Permalink">&para;</a></dt>
<dd>
<p>The nine-person legal governing body of the ASF, elected by the
<a href="#Member">members</a>. The board provides the oversight of the
Foundation's activities and operation, and applies and enforces the ASF's <a href="#Bylaws">bylaws</a>. Among other
things, the board approves or rejects resolutions brought before it,
such as for the creation or dissolution of ASF <a href="#Project">projects</a> ,
funding requests, legal concerns, and disciplinary actions. As an open
and non-profit corporation, the ASF makes the minutes of board meetings publicly available at
<a href="/foundation/records/minutes/">http://www.apache.org/foundation/records/minutes/</a>.
These minutes include all decisions not made in <a href="#ExecutiveSession">executive
sessions</a>. Also see <a href="#Director">Director</a>.</p>
</dd>
<dt id="Bikeshed">Bikeshed Argument<a class="headerlink" href="#Bikeshed" title="Permalink">&para;</a></dt>
<dd>
<p>Arguing (pointlessly) about which color to paint the bikeshed. As
explained <a href="http://www.unixguide.net/freebsd/faq/16.19.shtml">here</a> it
may happen when the argument is so trivial that it's easy for anyone
to have an opinion, and want to see theirs prevail.</p>
</dd>
<dt id="Build">Build<a class="headerlink" href="#Build" title="Permalink">&para;</a></dt>
<dd>
<p>A <strong>Build</strong> is a package which is not suitable for distribution to the
general public. Builds are works-in-progress, and should only be available to people working on product
development at the Foundation.</p>
</dd>
<dt id="Bylaws">Bylaws<a class="headerlink" href="#Bylaws" title="Permalink">&para;</a></dt>
<dd>
<p>Bylaws are a codification of the rules that an organisation follows.
Some, such as the <a href="/foundation/bylaws.html">ASF bylaws</a>, are legally
binding and have significance outside the organisation. Others, such
as the <a href="http://jakarta.apache.org/site/management.html">Jakarta bylaws</a>, are only
meaningful within the <a href="#Community">community</a> and are only as binding
as the community itself makes them. The bylaws of an organisation
within the ASF may not contradict those of the ASF proper; any such
conflicting parts in the organisation bylaws are necessarily null and
void.</p>
</dd>
<dt id="Chair">Chair<a class="headerlink" href="#Chair" title="Permalink">&para;</a></dt>
<dd>
<p><strong>1.</strong> The Chair of the <a href="#Board">Board</a> of <a href="#Director">Directors</a> of
the <a href="#ASF">ASF</a>, responsible for the orderly meeting and functioning
of the Board.
<strong>2.</strong> The official head of a committee, such as a
Project Management Committee <a href="#PMC">PMC</a>. PMC Chairs are ASF
<a href="#Vice-President">Vice Presidents</a> given charge of the proper operation of their
<a href="#Project">projects</a>.</p>
</dd>
<dt id="Codebase">Codebase<a class="headerlink" href="#Codebase" title="Permalink">&para;</a></dt>
<dd>
<p>A meaningful group of source. Some <a href="#Project">projects</a> use only a
single codebase, while others have several.</p>
</dd>
<dt id="CommitAccess">Commit access<a class="headerlink" href="#CommitAccess" title="Permalink">&para;</a></dt>
<dd>
<p>ASF <a href="#Project">projects</a> collaborate on code using <a href="#version-control">version
control</a> software to coordinate changes.
The ability to make direct changes to that code is known as <em>commit
access</em> (from the <code>[VCS] commit</code> subcommand). This process patches the
actual official code. Also see <a href="#Karma">Karma</a> .</p>
</dd>
<dt id="Committer">Committer<a class="headerlink" href="#Committer" title="Permalink">&para;</a></dt>
<dd>
<p>An individual who has the privilege to directly commit changes to an Apache <a href="#Codebase">codebase</a> ( <a href="#CommitAccess">commit
access</a> ).</p>
</dd>
<dt id="CommitThenReview">Commit-Then-Review<a class="headerlink" href="#CommitThenReview" title="Permalink">&para;</a></dt>
<dd>
<p>(Often abbreviated 'CTR' or 'C-T-R'.) A policy governing code changes
which permits developers to make changes at will, with the possibility
of a change being retroactively <a href="#Veto">vetoed</a>. C-T-R is an application of
decision-making through <a href="#LazyConsensus">lazy consensus</a>. The C-T-R
model is useful in rapid-prototyping environments, but because of the
lack of mandatory review it may let more bugs through in daily practice than the
<a href="#ReviewThenCommit">R-T-C</a> alternative. Compare <a href="#ReviewThenCommit">R-T-C</a>, and see the description of the <a href="voting.html">voting process</a>.</p>
</dd>
<dt id="Community">Community<a class="headerlink" href="#Community" title="Permalink">&para;</a></dt>
<dd>
<p>Group of individuals with a common cause. The community of a
<a href="#Project">project</a> consists of all those with an interest in that project.</p>
</dd>
<dt id="ConsensusApproval">Consensus Approval<a class="headerlink" href="#ConsensusApproval" title="Permalink">&para;</a></dt>
<dd>
<p>'Consensus approval' refers to a <a href="#Vote">vote</a> (sense 1) which has
completed with <strong>at least three binding +1 votes</strong> and <strong>no</strong>
<a href="#Veto">vetos</a>. Compare <a href="#MajorityApproval">Majority Approval</a>.</p>
</dd>
<dt id="Contributor">Contributor<a class="headerlink" href="#Contributor" title="Permalink">&para;</a></dt>
<dd>
<p>Someone who makes consistent improvements to the entities under an
<a href="#ASF">ASF</a> <a href="#PMC">PMC</a>, code or documentation or otherwise.
This does not, in and of itself, imply <a href="#CommitAccess">commit access</a>, though frequent and valued contributors are readily <a href="#Vote">voted</a>
on for such access.</p>
</dd>
<dt id="CLA">Contributor License Agreement<a class="headerlink" href="#CLA" title="Permalink">&para;</a></dt>
<dd>
<p>Contributor License Agreement (CLA) is sometimes referred to as
Individual Contributor License Agreement (ICLA). There is also a
Corporate Contributor License Agreement (CCLA). All are explained on
the <a href="/licenses/#clas">Licenses</a> page.</p>
</dd>
<dt id="CTR">CTR , C-T-R<a class="headerlink" href="#CTR" title="Permalink">&para;</a></dt>
<dd>
<p>See <a href="#CommitThenReview">CommitThenReview</a></p>
</dd>
<dt id="CVS">CVS<a class="headerlink" href="#CVS" title="Permalink">&para;</a></dt>
<dd>
<p>The Concurrent Versioning System, an older <a href="#version-control">version control
system</a>.</p>
</dd>
<dt id="Darwinism">Darwinism<a class="headerlink" href="#Darwinism" title="Permalink">&para;</a></dt>
<dd>
<p>See <a href="#SoftwareDarwinism">Software Darwinism</a>.</p>
</dd>
<dt id="Developer">Developer<a class="headerlink" href="#Developer" title="Permalink">&para;</a></dt>
<dd>
<p>A user who contributes to a project in the form of code or
documentation becomes a developer. They take extra steps to
participate in a project, are active on the developer mailing list,
participate in discussions, provide patches, documentation,
suggestions, and criticism. Developers are also known as
"contributors".</p>
</dd>
<dt id="Director">Director<a class="headerlink" href="#Director" title="Permalink">&para;</a></dt>
<dd>
<p>One of nine individuals elected annually by the <a href="#Member">members</a> to the
Foundation's <a href="#Board">board of directors</a>. Directors may or may not
have individual responsibilities, but all are generally expected to
stay informed about as much of the Foundation's operations and
activity as possible, since the Board provides oversight for the
Foundation as a whole.</p>
</dd>
<dt id="Emeritus">Emeritus<a class="headerlink" href="#Emeritus" title="Permalink">&para;</a></dt>
<dd>
<p>A term used to formally designate someone as no longer active, but
still entitled to many of the rights and privileges of the position.
For example, an ASF member who hasn't attended any membership meetings
for a long time is declared emeritus; someone who no longer has time
to work on a particular <a href="#Project">project</a> may declare themself
emeritus. Emeritus status indicates interest but not activity, as
opposed to having resigned.</p>
</dd>
<dt id="Evolution">Evolution<a class="headerlink" href="#Evolution" title="Permalink">&para;</a></dt>
<dd>
<p>Progress by gradual accumulation of small changes. Typical mode for
Apache projects. Compare <a href="#Revolution">Revolution</a>.</p>
</dd>
<dt id="ExecutiveSession">Executive Session<a class="headerlink" href="#ExecutiveSession" title="Permalink">&para;</a></dt>
<dd>
<p>A portion of a <a href="#Board">board</a> meeting which concerns confidential
matters and which therefore cannot be publicly minuted. Examples
include salary discussions, areas covered by non-disclosure
agreements, disciplinary actions, and some types of funding decisions.</p>
</dd>
<dt id="git">Git<a class="headerlink" href="#git" title="Permalink">&para;</a></dt>
<dd>
<p>A <a href="#version-control">version control system</a> used by the majority of ASF projects.</p>
</dd>
<dt id="Hackathon">Hackathon<a class="headerlink" href="#Hackathon" title="Permalink">&para;</a></dt>
<dd>
<p>Informal event at which ASF participants can get together, network,
and discuss/argue/hack/prototype according to their interests.
Hackathons are open to all <a href="#Committer">committers</a> and invited
contributors, and typically take place immediately preceding or
following the <a href="#ApacheCon">ApacheCon</a> events.</p>
</dd>
<dt id="Hibernation">Hibernation<a class="headerlink" href="#Hibernation" title="Permalink">&para;</a></dt>
<dd>
<p>Sleeplike state with a depressed metabolic rate. Sometimes used to
describe a <a href="#Project">project</a> with low levels of activity.</p>
</dd>
<dt id="Karma">Karma<a class="headerlink" href="#Karma" title="Permalink">&para;</a></dt>
<dd>
<p><strong>1.</strong> Sufficient access to perform an operation, such as committing
changes to a <a href="#version-control">version control</a>. ("Please grant Yo
Mega karma to the foo-bar.")
<strong>2.</strong> Respect and <a href="#Merit">merit</a> in
the <a href="#Community">community</a>. ("Al Faa and Ro Main have good karma because of the
careful and tactful way they make their points and the quality of their
technical contributions.")
<strong>3.</strong> Any combination of senses 1 and two; they are indirectly related.</p>
</dd>
<dt id="LazyConsensus">Lazy consensus<a class="headerlink" href="#LazyConsensus" title="Permalink">&para;</a></dt>
<dd>
<p>(Also called 'lazy approval'.) A decision-making policy which assumes
general consent if no responses are posted within a defined period.
For example, "I'm going to commit this by lazy consensus if no-one
objects within the next three days." Also see <a href="#ConsensusApproval">Consensus Approval</a> ,
<a href="#MajorityApproval">Majority Approval</a> , and the description of the <a href="voting.html">voting
process</a>.</p>
</dd>
<dt id="LicenseHeader">License Header<a class="headerlink" href="#LicenseHeader" title="Permalink">&para;</a></dt>
<dd>
<p>Text, at the top of a code file, referring to the license for the file (as opposed to including the complete
license text).</p>
</dd>
<dt id="MajorityApproval">Majority Approval<a class="headerlink" href="#MajorityApproval" title="Permalink">&para;</a></dt>
<dd>
<p>Refers to a <a href="#Vote">vote</a> (sense 1) which has completed with <strong>at
least three binding +1 votes</strong> and more +1 votes than -1 votes. (
<em>I.e.</em> , a simple majority with a minimum quorum of three positive
votes.) Note that in votes requiring majority approval a -1 vote is
simply a vote against, <strong>not</strong> a <a href="#Veto">veto</a>. Compare
<a href="#ConsensusApproval">Consensus Approval</a>. See also the description of the <a href="voting.html">voting
process</a>.</p>
</dd>
<dt id="Member">Member<a class="headerlink" href="#Member" title="Permalink">&para;</a></dt>
<dd>
<p>An individual who has been elected to membership in the ASF by the
existing members. Membership benefits include having a voice in
the functioning of the Foundation, and the ability to nominate and vote
on new Member candidates and on directors.</p>
</dd>
<dt id="Merit">Merit<a class="headerlink" href="#Merit" title="Permalink">&para;</a></dt>
<dd>
<p>The concept of 'merit' is central to the Apache philosophy and
<a href="#Community">community</a> methodology. Merit is a qualitative and
subjective term, referring to a combination of the
worth of one's accomplishments and the respect of one's
peers.</p>
<ul>
<li>technical competence</li>
<li>ability to get along with others</li>
<li>positive contributions to discussions and code</li>
</ul>
<p>The acquisition of merit is a cumulative process;
once acquired, it doesn't decay. It is possible to lose merit, though,
by violating community ethics, guidelines, or sensibilities.</p>
</dd>
<dt id="Meritocracy">Meritocracy<a class="headerlink" href="#Meritocracy" title="Permalink">&para;</a></dt>
<dd>
<p>Meritocracy is one of the principles underlying the ASF and its
philosophy. As it has been put, 'the more you do the more you are
allowed to do.' As a person acquires merit, their stature in the
<a href="#Community">community</a> and (to a certain extent) the weight
given to their opinions grow.</p>
</dd>
<dt id="Netiquette">Netiquette<a class="headerlink" href="#Netiquette" title="Permalink">&para;</a></dt>
<dd>
<p>Netiquette is the common rules of good online
behaviour. For the general case, it is defined in <a href="http://www.faqs.org/rfcs/rfc1855.html">IETF RFC
1855</a> ; for the more specific
Apache environment, it boils down to things like:</p>
<ul>
<li>don't flame</li>
<li>lurk for a while after joining a list before posting; this allows you to get a feel for the personalities,
attitudes, and issues, as well as existing rules for acceptable behaviour</li>
<li>be aware of the <a href="#Project">project</a> 's/list's guidelines (such as on voting), and don't violate them</li>
<li>if you have a question, search the list archives and the bug database before asking what may have already been answered&gt;</li>
</ul>
<p>These are just the rough outline of things that may be more (or less) the
rule on a per-list basis. They boil down to 'be polite' and 'don't
make unnecessary work for others'.</p>
</dd>
<dt id="NOTICE">NOTICE file<a class="headerlink" href="#NOTICE" title="Permalink">&para;</a></dt>
<dd>
<p>The NOTICE file in a software release package is reserved for a certain subset of legally-required notifications
which are not satisfied by either the text of LICENSE
or the presence of licensing information embedded within the bundled dependency.
See <a href="/dev/licensing-howto.html#mod-notice">NOTICE modifications</a>
Also section 4d of the <a href="/licenses/LICENSE-2.0">Apache License</a></p>
</dd>
<dt id="Officer">Officer<a class="headerlink" href="#Officer" title="Permalink">&para;</a></dt>
<dd>
<p>An individual appointed by the ASF Board of Directors and given
specific authority over and responsibility for some portion of the
Foundation's activities. An officer may or may not be a
<a href="#Board">director</a> of the Foundation.</p>
</dd>
<dt id="Package">Package (sometimes referred to informally as Tarball or Distribution)<a class="headerlink" href="#Package" title="Permalink">&para;</a></dt>
<dd>
<p>A <strong>Package</strong> is a compressed archive file created from a project's
source code with the intent to distribute.  Packages are typically either
source packages or binary packages built from source; sometimes separate
documentation packages are released alongside the source package.  Often
packages have external dependencies which may require additional
software be installed as a prerequisite.</p>
</dd>
<dt id="PEO">PEO<a class="headerlink" href="#PEO" title="Permalink">&para;</a></dt>
<dd>
<p><a href="https://en.wikipedia.org/wiki/Professional_employer_organization">Professional_employer_organization</a></p>
</dd>
<dt id="PMC">PMC<a class="headerlink" href="#PMC" title="Permalink">&para;</a></dt>
<dd>
<p>Project Management Committee, the group of people with formal
oversight of a <a href="#Project">project</a>. The chair of a PMC is always an
<a href="#Officer">officer</a> of the Foundation. As the PMC has official
oversight responsibilities assigned by the <a href="#Board">Board</a> , its
actions are considered to be on behalf of the Foundation, with all the
legal protections and responsibilities implied. See the
<a href="bylaws.html#6.3">Bylaws</a>.</p>
</dd>
<dt id="Podling">Podling<a class="headerlink" href="#Podling" title="Permalink">&para;</a></dt>
<dd>
<p>A <a href="#Codebase">codebase</a> and its <a href="#Community">community</a> while in the
process of being incubated. See the description of the <a href="http://incubator.apache.org/incubation/Process_Description.html">Incubation
process</a>.</p>
</dd>
<dt id="President">President<a class="headerlink" href="#President" title="Permalink">&para;</a></dt>
<dd>
<p>Primary executive officer of the <a href="#ASF">ASF</a> , serving at the
direction of the <a href="#Board">Board</a>.</p>
</dd>
<dt id="Project">Project<a class="headerlink" href="#Project" title="Permalink">&para;</a></dt>
<dd>
<p>In the Apache Software Foundation, the term ' <em>project</em> ' typically
refers to a <a href="#Community">community</a> focussed on one or more
<a href="#Codebase">codebases</a> , overseen by a <a href="#PMC">PMC</a>.</p>
</dd>
<dt id="ReleaseCandidate">Release Candidate<a class="headerlink" href="#ReleaseCandidate" title="Permalink">&para;</a></dt>
<dd>
<p>A source <a href="#Package">package</a> and other accompanying
<a href="#Artifacts">artifacts</a> to be inspected to see whether they are ready for release. The PMC then votes whether to release the candidate.</p>
</dd>
<dt id="ReleaseManager">Release Manager<a class="headerlink" href="#ReleaseManager" title="Permalink">&para;</a></dt>
<dd>
<p>The individual who takes responsibility for shepherding a release through
the release process to final distribution.  Any project
<a href="#Committer">committer</a> can serve as Release Manager.  Often abbreviated
as "RM".</p>
</dd>
<dt id="ReviewThenCommit">Review-Then-Commit<a class="headerlink" href="#ReviewThenCommit" title="Permalink">&para;</a></dt>
<dd>
<p>(Often referenced as 'RTC' or 'R-T-C'.) Commit policy which requires
that all changes receive <a href="#ConsensusApproval">consensus approval</a> before being
committed to the code base. Compare <a href="#CommitThenReview">C-T-R</a> , and see the
description of the <a href="voting.html">voting process</a>.</p>
</dd>
<dt id="Revolution">Revolution<a class="headerlink" href="#Revolution" title="Permalink">&para;</a></dt>
<dd>
<p>In the Apache environment, some communities may decide to permit (or
encourage) <em>revolutions</em> as ways of reconciling differences,
particularly code changes which have been blocked on a particular
branch by a veto. Originally described by James Duncan Davison in his
'Rules for Revolutionaries,' the concept has been adopted, formally or
informally, by at least one Apache <a href="#Project">project</a>. Essentially, a
revolution occurs when a group of committers decides to fork the
current main branch in order to work on problematic code or concepts.
This permits them to pursue it without disturbing the evolutionary
work on the main branch. A revolutionary branch may eventually be
merged back into the main branch, die out, split completely and become
a new main branch, or may absorb the current main branch into itself
(essentially no different than the first option). See the ' <a href="http://incubator.apache.org/learn/rules-for-revolutionaries.html">Rules for
Revolutionaries</a>
' and compare <a href="#Evolution">Evolution</a>.</p>
</dd>
<dt id="Release">Release<a class="headerlink" href="#Release" title="Permalink">&para;</a></dt>
<dd>
<p>A <strong>Release</strong> is a package offered to the general public by The Apache
Software Foundation.</p>
</dd>
<dt id="RTC">RTC , R-T-C<a class="headerlink" href="#RTC" title="Permalink">&para;</a></dt>
<dd>
<p>See <a href="#ReviewThenCommit">ReviewThenCommit</a></p>
</dd>
<dt id="SoftwareDarwinism">Software Darwinism<a class="headerlink" href="#SoftwareDarwinism" title="Permalink">&para;</a></dt>
<dd>
<p>A deceptively simple concept, often expressed as 'the best code
survives'. The <a href="#Evolution">evolutionary</a> processes inherent in the
Apache peer-review environment support this idea.</p>
</dd>
<dt id="SGA">Software Grant Agreement<a class="headerlink" href="#SGA" title="Permalink">&para;</a></dt>
<dd>
<p>See <a href="/licenses/#grants">details of SGAs</a>.</p>
</dd>
<dt id="STATUSfiles">STATUS files<a class="headerlink" href="#STATUSfiles" title="Permalink">&para;</a></dt>
<dd>
<p>Due to the noninteractive style of communication practised by most of
the Apache development projects, maintaining a record of decisions
made -- and in progress -- can be a useful thing. A number of the
Apache projects accomplish this through the use of a file, typically
named <code>STATUS</code> , stored in the project's own code repository. In
addition to keeping existing developers informed of current issues,
such files also provide useful information to new would-be developers
investigating the project.</p>
</dd>
<dt id="STV">STV<a class="headerlink" href="#STV" title="Permalink">&para;</a></dt>
<dd>
<p>Single Transferable Vote, used in Apache board elections for example.
See <a href="http://en.wikipedia.org/wiki/Single_Transferable_Vote">http://en.wikipedia.org/wiki/Single_Transferable_Vote</a></p>
</dd>
<dt id="Subversion">Subversion<a class="headerlink" href="#Subversion" title="Permalink">&para;</a></dt>
<dd>
<p>A <a href="#version-control">version control system</a> that is "a compelling
replacement for <a href="#CVS">CVS</a> ". A minority of projects use Subversion (SVN).</p>
</dd>
<dt id="SVN">SVN<a class="headerlink" href="#SVN" title="Permalink">&para;</a></dt>
<dd>
<p>See <a href="#Subversion">Subversion</a>.</p>
</dd>
<dt id="tabled">tabled<a class="headerlink" href="#tabled" title="Permalink">&para;</a></dt>
<dd>
<p>The term 'tabled' may be seen in minutes of Board meetings.
For example, "Special Order 7H, ... , was tabled."
In that context it means 'postponed' or 'deferred'.</p>
</dd>
<dt id="TLP">TLP<a class="headerlink" href="#TLP" title="Permalink">&para;</a></dt>
<dd>
<p>Top Level Project, see also <a href="#PMC">PMC</a></p>
</dd>
<dt id="Treasurer">Treasurer<a class="headerlink" href="#Treasurer" title="Permalink">&para;</a></dt>
<dd>
<p>The treasurer of the <a href="#ASF">ASF</a> is an <a href="#Officer">officer</a> of the
corporation, and is responsible for managing the funds and assets of
the Foundation, reporting tax information, and so on. The treasurer
need not be a <a href="#Member">member</a> of the Foundation, nor a
<a href="#Director">director</a>, though the role is often filled by someone who
is.</p>
</dd>
<dt id="Troll">Troll<a class="headerlink" href="#Troll" title="Permalink">&para;</a></dt>
<dd>
<p>Some definitions:</p>
<ul>
<li><a href="http://www.askdavetaylor.com/whats_a_troll_and_a_zombie.html">Gentle</a></li>
<li><a href="http://www.urban75.com/Mag/troll.html">Naughty</a></li>
<li><a href="http://en.wikipedia.org/wiki/Internet_trolls">Definitive</a></li>
</ul>
<p>For how to deal with trolls, see <a href="http://markmail.org/message/3wlpx2hafyeqdt4t">this thread</a> but (for those who
are impatient) here's <a href="http://markmail.org/message/sppexq2vcfewcm5a">Ted's opinion</a>
(which acts as a good summary).</p>
</dd>
<dt id="User">User<a class="headerlink" href="#User" title="Permalink">&para;</a></dt>
<dd>
<p>Someone who uses our software. Users contribute to Apache
projects by providing feedback to developers in the form of bug
reports and feature suggestions. Users participate in the Apache
community by helping other users on mailing lists and user support
forums.</p>
</dd>
<dt id="version-control">Version Control System<a class="headerlink" href="#version-control" title="Permalink">&para;</a></dt>
<dd>
<p>Version control systems provide the ability to track (and potentially
revert) incremental changes to files, reporting them to a mailing list
as they are made, and can be used concurrently by many developers. All
of the Foundation's code and documentation are managed in such systems
thus providing a complete history for each codebase. See <a href="#git">Git</a>,
<a href="#Subversion">Subversion</a> and <a href="#CVS">CVS</a>.</p>
</dd>
<dt id="Veto">Veto<a class="headerlink" href="#Veto" title="Permalink">&para;</a></dt>
<dd>
<p>According to the Apache methodology, a change which has been made or
proposed may be blocked through the exercise of a veto by a
committer to the <a href="#Codebase">codebase</a> in question. If the
<a href="#ReviewThenCommit">R-T-C</a> commit policy is in effect, a veto prevents
the change from being made. In either the R-T-C or
<a href="#CommitThenReview">C-T-R</a> environments, a veto applied to a change
that has already been made forces it to be reverted. Vetoes may not be
overridden nor voted down, and only cease to apply when the committer
who issued the veto withdraws it. All vetoes <em>must</em> be accompanied by a
valid technical justification; a veto without such a justification is
invalid. In case of doubt, deciding whether a technical
justification is valid is up to the PMC. Vetoes force discussion
and, if supported, version control rollback or appropriate code changes. Vetoed code commits
are best reverted by the original committer, unless an urgent
solution is needed (e.g., build breakers). Vetoes only apply to
code or documentation changes; they do not apply to
procedural issues such as software releases.</p>
</dd>
<dt id="Vice-President">Vice-President<a class="headerlink" href="#Vice-President" title="Permalink">&para;</a></dt>
<dd>
<p><a href="#ASF">ASF</a> vice-presidents are <a href="#Officer">officers</a> of the
corporation, with authority over and responsibility for specific
areas of the Foundation's work. <a href="#PMC">PMC</a> <a href="#Chair">chairs</a> are
vice-presidents given charge of the proper operation of their
<a href="#Project">projects</a>.</p>
</dd>
<dt id="Vote">Vote<a class="headerlink" href="#Vote" title="Permalink">&para;</a></dt>
<dd>
<p><strong>1.</strong> The process of making a formal decision. ('The vote for foo
will close in three days.')</p>
<p><strong>2.</strong> The expression of a positive or
negative opinion, or a veto, as part of a formal decision. ('My vote
is -1 because foo smells bad.')</p>
<p><strong>Binding votes</strong> are those
cast by the PMC committers for the <a href="#Project">project</a> to which the
decision applies. Votes cast by others are advisory or indicative
only.<br/>See also <a href="#ConsensusApproval">ConsensusApproval</a> , <a href="#MajorityApproval">MajorityApproval</a>
, <a href="#LazyConsensus">LazyConsensus</a> , and the description of the <a href="voting.html">voting
process</a>.</p>
</dd>
</dl>

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