<!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>Board Meeting Process</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="board-meeting-process">Board Meeting Process<a class="headerlink" href="#board-meeting-process" title="Permalink">&para;</a></h1>
<p>The Board of Directors uses a variety of tools and relies on volunteers across Apache
projects to ensure our monthly meetings run smoothly.  This is a guide
to the typical timeline and process that goes into every monthly board meeting.</p>
<p>Our <a href="/foundation/board/reporting">PMC Reporting Guide</a> lays out what should be in a project's quarterly board report
and how to submit the report.  Note that executive officers and non-project corporate officers
(Like VP-Infra and VP-Legal) provide their own reports either to the President or to
the board on a monthly basis.</p>
<div class=".pull-right" style="float:right; border-style:dotted; width:200px; padding:5px; margin:5px">
<p>See also Board Meeting Minutes: <a href="/foundation/board/calendar.html">Calendar View</a> / <a href="https://whimsy.apache.org/board/minutes/">Categorized view</a>.</p>
</div>
<p>The Board holds its meetings by teleconference (and IRC for backchannel), and they typically last about
one and a half hours.  Meetings follow the posted agenda, with the chair or
relevant officers leading discussion.  Apache Members and PMC Chairs are
always welcome to <a href="#attend">attend monthly board meetings</a>.</p>
<p><strong>Contents</strong></p>
<div id="toc"><ul><li><a class="toc-href" href="#who" title="Who does what">Who does what</a></li><li><a class="toc-href" href="#timeline" title="Normal Board Meeting Timeline">Normal Board Meeting Timeline</a><ul><li><a class="toc-href" href="#at-the-previous-months-meeting" meeting'="" s="" title="At the previous month">At the previous month's meeting</a></li><li><a class="toc-href" href="#after-the-previous-months-meeting" meeting'="" s="" title="After the previous month">After the previous month's meeting</a></li><li><a class="toc-href" href="#the-week-before-the-meeting" title="The week before the meeting">The week before the meeting</a></li><li><a class="toc-href" href="#day-of-the-board-meeting" title="Day of the Board Meeting">Day of the Board Meeting</a></li><li><a class="toc-href" href="#adjourning-after-the-board-meeting" title="Adjourning / After The Board Meeting">Adjourning / After The Board Meeting</a></li></ul></li><li><a class="toc-href" href="#tools" title="Board meeting tools">Board meeting tools</a></li><li><a class="toc-href" href="#postreport" title="How To Post A Project or Officer Report">How To Post A Project or Officer Report</a></li><li><a class="toc-href" href="#attend" title="How To Attend The Meeting">How To Attend The Meeting</a></li><li><a class="toc-href" href="#whimsy" title="Help and Tips About The Board Agenda Website">Help and Tips About The Board Agenda Website</a></li></ul></div>
<h2 id="who">Who does what<a class="headerlink" href="#who" title="Permalink">&para;</a></h2>
<p>The board is responsible for <a href="/foundation/governance/">overseeing the operations of the ASF</a> as a whole, including
all Apache projects.  We provide this oversight by having the officers responsible for corporate operations submit monthly reports, and each Apache project submit a quarterly report about their project's community and technical status.</p>
<ul>
<li>
<p>Operational officers provide a monthly report on their area of operations
(like brand, press, legal, infrastructure, etc.) to the President, who then provides a
rollup report to the board on the day-to-day operations of the ASF.</p>
</li>
<li>
<p>A few board committees and other corporate VPs provide monthly reports directly to the board.</p>
</li>
<li>
<p>PMC members in every Apache project collaborate to provide their
<a href="/foundation/board/reporting">quarterly project report</a>.  The PMC Chair, who is also a Vice President of
the ASF, is responsible for ensuring the report is actually submitted
to the board agenda.</p>
</li>
<li>
<p>During board meetings, the Board Chair leads the meeting while the
Secretary takes notes and calls the roll for attendance or votes.  Directors may comment on or have
questions for various reports; the Secretary directs formal questions to
the relevant officer or PMC after the meeting via private@ email.</p>
</li>
<li>
<p>The Secretary also manages the process of publishing approved board
meeting minutes (typically the following month).</p>
</li>
</ul>
<h2 id="timeline">Normal Board Meeting Timeline<a class="headerlink" href="#timeline" title="Permalink">&para;</a></h2>
<h3 id="at-the-previous-months-meeting">At the <em>previous</em> month's meeting<a class="headerlink" href="#at-the-previous-months-meeting" title="Permalink">&para;</a></h3>
<p>Shortly after a monthly meeting, the Secretary checks in draft meeting minutes for
later review and approval by the board.  The Board Chair then sends a "ASF Board Meeting Summary" overview
of formal actions taken during the meeting to all our committers.  The Secretary
sends out comments on reports and welcomes new officers - for details, see "Adjourning" below.</p>
<h3 id="after-the-previous-months-meeting">After the <em>previous</em> month's meeting<a class="headerlink" href="#after-the-previous-months-meeting" title="Permalink">&para;</a></h3>
<p>A few days after the <em>previous</em> month's meeting, the agenda for the next (current) month's
meeting is assembled and checked into our code repository.  Board agendas
and meeting minutes are all kept in formatted text files.  This allows power users
to edit via the command line, but also allows for more user-friendly views of the
agenda with the <a href="https://whimsy.apache.org/board/agenda/">Whimsy Agenda Tool</a> (requires Apache login).</p>
<p>Reminders are then sent out to all PMCs about the due dates for reports for
the next meeting.  An early reminder (and a followup) is helpful given the distributed and all
volunteer nature of Apache PMCs.  Projects typically submit their reports to
the board (via the mailing list and by checking into Whimsy) anywhere from
three weeks to a few hours beforehand (which may not be accepted
if the directors don't have sufficient time to review them).</p>
<p>The Apache Incubator has a special reminder process.  Since every Podling
within the Incubator is expected to provide it's own quarterly report, they
get their own reminders.  The Incubator PMC then reviews and rolls up the relevant
Podling quarterly reports, allows podling mentors to sign off on or add additional
comments to them, and then submits an overall report to the board every month.</p>
<h3 id="the-week-before-the-meeting">The week before the meeting<a class="headerlink" href="#the-week-before-the-meeting" title="Permalink">&para;</a></h3>
<p>Each month, directors are randomly assigned to be
"Shepherds" of a set of PMC reports for that month's meeting.  The Shepherd pays
extra attention to their assigned PMCs' reports, checking to be sure they are in the agenda on time,
and helping to take any feedback from the board to that PMC.  This helps to have a
distributed check-and-balance to ensure all 70+ project reports get submitted,
and to have a single Director ensuring that feedback is addressed afterwards.</p>
<p>Many PMC reports are in the agenda about a week before the meeting, so some directors
will start reviewing the agenda and pre-approving reports, or providing comments/questions
on them.  If a director has a concern about a specific report, they 'flag' it in the
agenda for discussion during the meeting. This is often the time when Shepherds double-check that
PMCs have actually submitted a full report, and directly email any PMCs that are late.</p>
<p>No later than 48 hours before the meeting the board expects the agenda to be finalized,
although we do sometimes have late submissions of reports.  In the 2-3 days before the
meeting, most directors then review the entire agenda, pre-approving or
commenting in the agenda on all the submitted reports.  Astute PMC Chairs, who have
visibility into the Agenda tool, can speed the process further if they can provide
brief answers or additional information to any director questions.</p>
<p>Since all activity - report submissions, approvals, comments - involves checking updated files into the SVN repository, Apache Members and PMC chairs
can watch the progress in the commit messages.</p>
<h3 id="day-of-the-board-meeting">Day of the Board Meeting<a class="headerlink" href="#day-of-the-board-meeting" title="Permalink">&para;</a></h3>
<p>On the day of the meeting, the Chair runs through the agenda in order.  After a roll call, Executive
officers typically verbally provide the highlights of their reports.</p>
<p>We then use the preapproval system to speed the process of reviewing the 70+ PMC reports
each month.  Any PMC report that has a majority of directors preapproving, and no
directors have flagged the report, is approved by general consent.  This allows
the meeting to focus discussion on any PMC reports that either were
not thoroughly reviewed by directors before the meeting, that have important
questions, or that a director has flagged.  Shepherds lead
the discussion about their particular flagged reports, helping the Chair to focus
on the overall meeting.</p>
<p>We then step through the rest of the agenda, voting on Special Orders and resolutions,
and then sometimes hold a discussion period on new matters, or to review deeper
questions raised by the submitted officer reports.</p>
<h3 id="adjourning-after-the-board-meeting">Adjourning / After The Board Meeting<a class="headerlink" href="#adjourning-after-the-board-meeting" title="Permalink">&para;</a></h3>
<p>Soon after the meeting adjourns, we inform our communities:</p>
<ul>
<li>
<p>The Chair sends a brief overview of the meeting points to our committer base.<br/>
This notes any PMC reports where the report was not accepted, as well as the status of any
Special Orders that have been approved (typically officer appointments or new projects), since they take effect immediately.</p>
</li>
<li>
<p>The Secretary sends any director comments or questions about
each individual PMC report directly to that PMC on its private@ list, cc'ing the board@ list.  This ensures that PMCs get direct
and immediate feedback if the board has any issues.  In most cases, these
are simple questions about the project, so the board appreciates an ACK
or response email from the PMC back to the board@ list.</p>
</li>
<li>
<p>If there is a serious issue that requires followup, the board assigns a director (either the Shepherd or another director
who volunteers) to work directly with the PMC to ensure the issue is understood, and that the PMC
begins taking action to address it. The board expects to hear the results of these
actions either at the next month's meeting, or in the PMC's next normal quarterly report.</p>
</li>
</ul>
<h2 id="tools">Board meeting tools<a class="headerlink" href="#tools" title="Permalink">&para;</a></h2>
<p>With the creation of the <a href="https://whimsy.apache.org/">Apache Whimsy project</a>, we now have a number of
tools that aid in creation and management of the agenda; workflow
functions for submitting, commenting, and approving reports; and a handy,
categorized view of the current agenda and the minutes of past meetings.</p>
<p>While most Whimsy features are restricted to Apache Committers (and much of
that is further restricted to Members, Officers, or even a specific officer),
the <a href="https://whimsy.apache.org/board/minutes/">categorized listing of past board minutes</a>
is public.  This allows anyone to easily review all past board meetings by
date, by PMC, or by major special resolutions.  We provide this access as a convenience. The official/canonical version of this data is
in our <a href="/foundation/board/calendar.html">formal publication of all past board meeting minutes</a></p>
<h2 id="postreport">How To Post A Project or Officer Report<a class="headerlink" href="#postreport" title="Permalink">&para;</a></h2>
<p>See the PMC Chair's detailed <a href="/foundation/board/reporting#how">Board Reporting Guidelines</a>.</p>
<h2 id="attend">How To Attend The Meeting<a class="headerlink" href="#attend" title="Permalink">&para;</a></h2>
<p>Apache Members and PMC Chairs are welcome to attend.  Please let the board
know you will attend by adding yourself in the agenda:</p>
<ul>
<li>Navigate to whimsy.apache.org/board/agenda/ (Apache login required)</li>
<li>Click Roll Call</li>
<li>Click the blue Attend button at the bottom</li>
</ul>
<p>Marking your attendance ahead of time helps the Secretary run through the
roll call more quickly.  If you find you can't attend the meeting, use the Regrets button to update your status.</p>
<p>The Call To Order section has teleconference dial-in and timezone information,
as well as the chat channel information that we use for informal discussions (not
strictly part of the meeting, but useful for questions).</p>
<h2 id="whimsy">Help and Tips About The Board Agenda Website<a class="headerlink" href="#whimsy" title="Permalink">&para;</a></h2>
<p>The Whimsy Board Agenda tool at whimsy.apache.org/board/agenda (login required)
provides many ways to visualize and comment on the board report, and greatly
simplifies the process of collating and reviewing the agenda.</p>
<p>Select Navigation - Help, or press ? to get help about the tool.  Submit
any <a href="https://issues.apache.org/jira/projects/WHIMSY">bugs or make enhancement requests to the Whimsy JIRA</a>.</p>
<p>You can also run the Board Agenda tool locally. Its architecture
overview and code walkthrough are in <a href="https://github.com/apache/whimsy/blob/master/www/board/agenda/README.md">www/board/agenda/README.md</a></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>