<!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 Minutes, 2005 - 2009</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">    <p>Formal board meeting minutes from 2005 - 2009.  Other <a href="/foundation/records/">corporate records</a> are posted.
A <a href="https://whimsy.apache.org/board/minutes/">categorized view of all board meeting minutes</a> is also available.</p>
<p><a href="calendar.html#2019">2019</a> |
<a href="calendar.html#2018">2018</a> | <a href="calendar.html#2017">2017</a> |
<a href="calendar.html#2016">2016</a> | <a href="calendar.html#2015">2015</a> |
<a href="calendar-2010-2014.html#2014">2014</a> | <a href="calendar-2010-2014.html#2013">2013</a> |
<a href="calendar-2010-2014.html#2012">2012</a> | <a href="calendar-2010-2014.html#2011">2011</a> |
<a href="calendar-2010-2014.html#2010">2010</a> | <a href="calendar-2005-2009.html#2009">2009</a> |
<a href="calendar-2005-2009.html#2008">2008</a> | <a href="calendar-2005-2009.html#2007">2007</a> |
<a href="calendar-2005-2009.html#2006">2006</a> | <a href="calendar-2005-2009.html#2005">2005</a> |
<a href="calendar-1999-2004.html#2004">2004</a> | <a href="calendar-1999-2004.html#2003">2003</a> |
<a href="calendar-1999-2004.html#2002">2002</a> | <a href="calendar-1999-2004.html#2001">2001</a> |
<a href="calendar-1999-2004.html#2000">2000</a> | <a href="calendar-1999-2004.html#1999">1999</a> |
<a href="calendar-1999-2004.html#preorg">Pre-organization meetings</a></p>
<h1 id="2009">2009 Board meeting minutes<a class="headerlink" href="#2009" title="Permalink">&para;</a></h1>
<ul>
<li><a href="../records/minutes/2009/board_minutes_2009_12_16.txt">16 Dec 2009</a>
<ul>
<li>Establish the Apache Pivot Project</li>
<li>Establish the Apache OpenWebBeans Project</li>
<li>Appoint a Vice President of W3C Relations</li>
<li>Establish the Apache Axis Project</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_11_18.txt">18 Nov 2009</a>
<ul>
<li>Revoke Tetsuya Kitahata's Access and Privileges</li>
<li>Establish the Apache Click Project</li>
<li>Termination of the Beehive PMC</li>
<li>Executive officer appointments</li>
<li>Terminate the Apache Public Relations Committee</li>
<li>Appoint a Vice President of Brand Management</li>
<li>Appoint a Vice President of Fundraising</li>
<li>Appoint a Vice President of Marketing and Publicity</li>
<li>Change the Perl-Apache Project Chair</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_11_01.txt">01 Nov 2009</a>
<ul>
<li>Establish the Apache Community Development Project</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_10_21.txt">21 Oct 2009</a>
<ul>
<li>Update Public Relations Committee Membership</li>
<li>Change of Maven PMC Chair</li>
<li>Change the Apache James Project Chair</li>
<li>Change the Apache Xerces Project Chair</li>
<li>Change the Public Relations Committee Chair</li>
<li>Change the Apache Abdera Project Chair</li>
<li>Change the Apache Velocity Project Chair</li>
<li>Establish the Apache PDFBox Project</li>
<li>Update Legal Affairs Committee Membership</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_09_23.txt">23 Sep 2009</a>
<ul>
<li>Budget $30,000 for the Conference Planning Committee</li>
<li>Update Public Relations Committee Membership</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_08_19.txt">19 Aug 2009</a>
<ul>
<li>Change the Apache Lenya Project Chair</li>
<li>Change the Apache Commons Chair</li>
<li>Update Public Relations Committee Membership</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_07_15.txt">15 Jul 2009</a>
<ul>
<li>Change the Apache Jakarta Chair</li>
<li>Update Legal Affairs Committee Membership</li>
<li>Change of Public Relations Committee Charter</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_06_17.txt">17 Jun 2009</a>
<ul>
<li>Change of Public Relations Committee Charter (tabled)</li>
<li>Establish the Apache Sling Project</li>
<li>Change the Conference Planning Chair</li>
<li>Appoint Raul Benito as Apache Santuario chairman</li>
<li>Update Legal Affairs Committee Membership</li>
<li>Update Public Relations Committee Membership</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_05_20.txt">20 May 2009</a>
<ul>
<li>Approval of ASF 2009-2010 Budget</li>
<li>Termination of the Shale PMC</li>
<li>PMC chair change for XML Graphics</li>
<li>Change of Public Relations Committee Charter (tabled)</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_04_28.txt">28 Apr 2009</a>
<ul>
<li>Special Meeting to discuss proposed 2009-2010 Budget</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_04_15.txt">15 Apr 2009</a>
<ul>
<li>Change of Directory PMC Chair</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_03_18.txt">18 Mar 2009</a>
<ul>
<li>Termination of the HiveMind PMC</li>
<li>Update Public Relations Committee Membership</li>
<li>Appoint David Bertoni as Apache Xalan chairman</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_02_18.txt">18 Feb 2009</a>
<ul>
<li>Appoint Executive Officers</li>
<li>Appoint David Bertoni as Apache Xalan chairman</li>
<li>Dissolve the standing Audit Committee</li>
</ul>
</li>
<li><a href="../records/minutes/2009/board_minutes_2009_01_21.txt">21 Jan 2009</a>
<ul>
<li>Appoint Julien Vermillard as Apache MINA chairman</li>
<li>Update Apache Travel Assistance Committee Membership</li>
<li>TAC Funding Requirements Proposal</li>
<li>Creation of Budget Committee (President's Committee)</li>
<li>Creation of Administrative Search Committee (President's Committee)</li>
</ul>
</li>
</ul>
<h1 id="2008">2008 Board meeting minutes<a class="headerlink" href="#2008" title="Permalink">&para;</a></h1>
<ul>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_12_17.txt">17 Dec 2008</a></p>
<ul>
<li>Amending the Bylaws pertaining to Reinstatement of Emeritus Members</li>
<li>Establish the Apache Camel Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_11_19.txt">19 Nov 2008</a></p>
<ul>
<li>Establish the Apache CouchDB project</li>
<li>Establish the Apache Buildr project</li>
<li>Change the Apache MyFaces Project Chair</li>
<li>Establish the Apache Attic Project</li>
<li>Establish the Apache Qpid Project</li>
<li>Establish the Apache Abdera Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_10_15.txt">15 Oct 2008</a></p>
<ul>
<li>Change the Apache DB Project Chair</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_09_17.txt">17 Sep 2008</a></p>
<ul>
<li>Change the Apache Labs Project Chair</li>
<li>Empower PMC chairs to change the membership of their PMCs (tabled)</li>
<li>Establish the Travel Assistance Committee</li>
<li>TAC Funding Requirements Proposal</li>
<li>HALO Worldwide Contract Renewal</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_08_20.txt">20 Aug 2008</a></p>
<ul>
<li>Change the Apache SpamAssassin Project Chair</li>
<li>Update Public Relations Committee Membership</li>
<li>Secretarial Assistant Renewal</li>
<li>Executive Assistant Renewal</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_07_16.txt">16 Jul 2008</a></p>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_06_25.txt">25 Jun 2008</a></p>
<ul>
<li>Appoint Executive Officers</li>
<li>Change the Apache MINA Project Chair</li>
<li>Change the Apache iBATIS Project Chair</li>
<li>Update Public Relations Committee Membership</li>
<li>Change the Apache APR Project Chair</li>
<li>Change of standing Audit Committee Chair</li>
<li>Update standing Audit Committee Membership</li>
<li>Appointment of Infrastructure Committee Chair</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_05_21.txt">21 May 2008</a></p>
<ul>
<li>Change the Apache Cocoon Project Chair</li>
<li>Establish the Apache Tuscany Project</li>
<li>Update Audit Committee Membership</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_04_16.txt">16 Apr 2008</a></p>
<ul>
<li>Update Legal Affairs Committee Membership</li>
<li>Establish the Apache CXF project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_03_19.txt">19 Mar 2008</a></p>
<ul>
<li>Establish the Apache Archiva Project</li>
<li>Update Public Relations Committee Membership</li>
<li>Change the Apache Shale Project Chair</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_02_20.txt">20 Feb 2008</a></p>
<ul>
<li>Change the Apache Lucene Project Chair</li>
<li>Establish the Apache Continuum Project</li>
<li>Resolution for Executive Assistant</li>
<li>Resolution for Secretarial Assistant</li>
<li>Update Legal Affairs Committee Membership</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2008/board_minutes_2008_01_16.txt">16 Jan 2008</a></p>
<ul>
<li>Sponsorship of ASF Hackathon Europe 2008</li>
<li>Change the Apache Geronimo Project Chair</li>
<li>Establish the Apache Hadoop Project</li>
</ul>
</li>
</ul>
<h1 id="2007">2007 Board meeting minutes<a class="headerlink" href="#2007" title="Permalink">&para;</a></h1>
<ul>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_12_19.txt">19 Dec 2007</a></p>
<ul>
<li>Establish the Apache Synapse Project</li>
<li>Change the Apache JAMES Project Chair</li>
<li>Terminate the Apache Travel Assistance Committee</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_11_14.txt">14 Nov 2007</a></p>
<ul>
<li>Establish the Apache C++ Standard Library Project</li>
<li>Establish the Apache HttpComponents project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_10_17.txt">17 Oct 2007</a></p>
<ul>
<li>Change the Conference Planning Chair</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_09_19.txt">19 Sep 2007</a></p>
<ul>
<li>Establish the Apache ServiceMix project</li>
<li>Change the Apache Web Services Project Chair</li>
<li>Change the Apache Excalibur Project Chair</li>
<li>Update Public Relations Committee Membership</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_08_29.txt">29 Aug 2007</a></p>
<ul>
<li>Dissolve Chief Media Officer Office</li>
<li>Update Apache Travel Assistance Committee Chair and Membership</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_08_01.txt">01 Aug 2007</a></p>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_07_18.txt">18 Jul 2007</a></p>
<ul>
<li>Change the Apache Tomcat Project Chair</li>
<li>Establish the Apache ODE project</li>
<li>Change the Apache ActiveMQ Project Chair</li>
<li>Change the Apache Harmony Project Chair</li>
<li>Update Legal Affairs Committee Membership</li>
<li>Change the Apache Vice President of Legal Affairs</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_07_09.txt">09 Jul 2007</a></p>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_06_20.txt">20 Jun 2007</a></p>
<ul>
<li>Appoint Executive Officers</li>
<li>Establish the Apache Quetzalcoatl Project</li>
<li>Establish the Apache Wicket project</li>
<li>Establish the Apache Commons project</li>
<li>Change the Apache Velocity Project Chair</li>
<li>Change the Apache Portals Project Chair</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_05_16.txt">16 May 2007</a></p>
<ul>
<li>Establish the Apache Turbine Project</li>
<li>Establish the Apache POI project</li>
<li>Establish Apache OpenEJB Project</li>
<li>Establish Apache OpenJPA Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_04_25.txt">25 Apr 2007</a></p>
<ul>
<li>Change the Apache Portable Runtime Project Chair</li>
<li>Update Apache Security Team Membership</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_03_28.txt">28 Mar 2007</a></p>
<ul>
<li>Establish the Apache Felix Project</li>
<li>Appointing a new chair for Apache Directory</li>
<li>Establish the Legal Affairs Committee</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_02_21.txt">21 Feb 2007</a></p>
<ul>
<li>Establish the Apache Felix Project (tabled)</li>
<li>Establish the Apache Roller Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2007/board_minutes_2007_01_17.txt">17 Jan 2007</a></p>
<ul>
<li>Establish the Apache ActiveMQ Project</li>
<li>Establishing the Apache Travel Assistance Committee</li>
</ul>
</li>
</ul>
<h1 id="2006">2006 Board meeting minutes<a class="headerlink" href="#2006" title="Permalink">&para;</a></h1>
<ul>
<li><a href="../records/minutes/2006/board_minutes_2006_12_20.txt">20 Dec 2006</a>
<ul>
<li>Update Apache Security Team Membership</li>
<li>Establish Apache Open for Business Project</li>
<li>Establish Apache Cayenne Project</li>
<li>Establish Apache Tiles Project</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_11_15.txt">15 Nov 2006</a>
<ul>
<li>Reestablishing the Apache Public Relations Committee</li>
<li>Establishing the Apache Labs project</li>
<li>Appointing a new chair for Apache Geronimo</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_10_25.txt">25 Oct 2006</a>
<ul>
<li>Establish the Apache Velocity Project</li>
<li>Establish the Apache MINA Project</li>
<li>Change the Apache DB Project Chair</li>
<li>Change of Public Relations Committee Chair</li>
<li>Establish the Apache Harmony project</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_09_20.txt">20 Sep 2006</a>
<ul>
<li>Reestablishing the Apache Security Team</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_08_16.txt">16 Aug 2006</a>
<ul>
<li>Resolution to change the Chair of the Jackrabbit PMC</li>
<li>Resolution to approve contract with Jon Jagielski</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_07_19.txt">19 Jul 2006</a>
<ul>
<li>Change of standing Audit Committee Chair</li>
<li>Change of Jakarta PMC Chair</li>
<li>Resolution to change chair of the Apache SpamAssassin Project</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_06_27.txt">27 Jun 2006</a>
<ul>
<li>Officer Appointments</li>
<li>Change of Tomcat PMC Chair</li>
<li>Establish the Apache Shale Project</li>
<li>Establish the Apache Santuario project</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_05_24.txt">24 May 2006</a>
<ul>
<li>Resolution to change chair of the Apache Cocoon Project</li>
<li>Resolution to change chair of the Apache Logging Services Project</li>
<li>Establish guidelines for handling copyright notices and license</li>
<li>Establish the Apache Testing Project (tabled)</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_04_26.txt">26 Apr 2006</a>
<ul>
<li>Change of XMLBeans PMC Chair</li>
<li>Establish the Apache HiveMind Project</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_03_15.txt">15 Mar 2006</a>
<ul>
<li>Establish the Apache Jackrabbit Project</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_02_15.txt">15 Feb 2006</a>
<ul>
<li>Establish the Apache Tapestry Project</li>
</ul>
</li>
<li><a href="../records/minutes/2006/board_minutes_2006_01_18.txt">18 Jan 2006</a>
<ul>
<li>Change the Chair of the Apache Portable Runtime Project</li>
</ul>
</li>
</ul>
<h1 id="2005">2005 Board meeting minutes<a class="headerlink" href="#2005" title="Permalink">&para;</a></h1>
<ul>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_12_21.txt">21 Dec 2005</a></p>
<ul>
<li>Creation of Bylaw Recommendation Committee</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_11_16.txt">16 Nov 2005</a></p>
<ul>
<li>Change the Chair of the Apache XML Project</li>
<li>LGPL resolution (tabled)</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_10_26.txt">26 Oct 2005</a></p>
<ul>
<li>Update Public Relations Committee Membership</li>
<li>Changing the Apache Geronimo Project Chair</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_09_29.txt">29 Sep 2005</a></p>
<ul>
<li>Spending Resolution</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_09_21.txt">21 Sep 2005</a></p>
<ul>
<li>Change the Chair of the Apache DB Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_08_17.txt">17 Aug 2005</a></p>
<ul>
<li>Change the HTTP Server Project Chair</li>
<li>Allow redistribution of MPL- and NPL-licensed executables</li>
<li>Allow product dependencies on LGPL-licensed libraries (tabled)</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_07_28.txt">28 Jul 2005</a></p>
<ul>
<li>Creation of standing audit committee</li>
<li>Rename pmc lists to private</li>
<li>Appoint Susan Wu as Chief Media Officer</li>
<li>Creation of the Apache Beehive Project</li>
<li>Allow product dependencies on LGPL-licensed libraries (tabled)</li>
<li>Allow redistribution of MPL- and NPL-licensed executables (tabled)</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_06_22.txt">22 Jun 2005</a></p>
<ul>
<li>Appoint new officers of the corporation</li>
<li>Appoint a Vice President of Legal Affairs</li>
<li>Endorsement of MPL for dependencies</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_05_18.txt">18 May 2005</a></p>
<ul>
<li>Establish the Apache Tomcat Project</li>
<li>Estalish the Apache iBATIS Project</li>
<li>Change of Logging Services PMC Chair</li>
<li>Change of Lenya PMC Chair</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_04_27.txt">27 Apr 2005</a></p>
<ul>
<li>Establish a new Excalibur PMC Chair</li>
<li>Establish the Apache Tomcat Project (tabled)</li>
<li>Estalish the Apache iBATIS Project (tabled)</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_03_30.txt">30 Mar 2005</a></p>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_02_23.txt">23 Feb 2005</a></p>
<ul>
<li>Change the Chair of the Apache Struts Project</li>
<li>Establish the Apache MyFaces Project</li>
<li>Establish the Apache Xerces Project</li>
<li>Establish the Apache Directory Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2005/board_minutes_2005_01_19.txt">19 Jan 2005</a></p>
<ul>
<li>Establish Lucene as a top level project</li>
<li>Change the Chair of the Apache Perl Project</li>
<li>Forbid the Conference Committee to use Security Travel for any 2005
ApacheCon Conferences</li>
</ul>
</li>
</ul>
<p><a href="calendar-1999-2004.html">Previous years Board minutes, 1999-2004</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="/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>