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

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