<!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 Meetings and Calendar, 1999 - 2004</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">    <p>Formal board meeting minutes, from <a href="/foundation/records/">incorporation in 1999</a> through 2004.
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="2004">2004 Board meeting minutes<a class="headerlink" href="#2004" title="Permalink">&para;</a></h1>
<ul>
<li><a href="../records/minutes/2004/board_minutes_2004_12_15.txt">15 Dec 2004</a></li>
<li><a href="../records/minutes/2004/board_minutes_2004_11_14.txt">14 Nov 2004</a>
<ul>
<li>Establish guidelines for handling copyright notices</li>
<li>Affirm Intent to Own Copyright to all ASF Distributions (tabled)</li>
<li>Approve new version of Corporate CLA (tabled)</li>
<li>Termination of the Avalon PMC</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_10_20.txt">20 Oct 2004</a>
<ul>
<li>Establish the Apache XML Graphics Project</li>
<li>Establish the Apache Xalan Project</li>
<li>Establish the Date and Time for the ASF Member's Meeting</li>
<li>Affirm Intent to Own Copyright to all ASF Distributions</li>
<li>Appoint Brian W. Fitzpatrick as a Vice President of the PRC</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_09_22.txt">22 Sep 2004</a>
<ul>
<li>Establish the Apache Lenya Project</li>
<li>Establish the Apache Metro Project (rejected)</li>
<li>Establish the Apache XML Graphics Project (tabled)</li>
<li>Establish the Apache Xalan Project (tabled)</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_08_18.txt">18 Aug 2004</a>
<ul>
<li>Termination of the Apache Commons Project</li>
<li>Establish the Apache Metro Project (tabled)</li>
<li>Appoint Brian Fitzpatrick as a Vice President (tabled)</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_07_21.txt">21 Jul 2004</a>
<ul>
<li>Policy on Passing through of Restrictions to licensees</li>
<li>Returning the J2EE TCK due to NOTICE issues</li>
<li>Establish the Apache XML Graphics Project (tabled)</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_06_23.txt">23 Jun 2004</a>
<ul>
<li>Established a Public Relations Committee</li>
<li>Individual Contributor License Agreement</li>
<li>Corporate Contributor License Agreement</li>
<li>Change of Jakarta PMC Chair</li>
<li>Establish the SpamAssassin PMC</li>
<li>Change of Cocoon PMC Chair</li>
<li>Establish the Apache XMLBeans PMC</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_05_26.txt">26 May 2004</a>
<ul>
<li>Appoint officers for the 2004-2005 term</li>
<li>Public Relations Committee (tabled)</li>
<li>Establish the Apache Excalibur Project</li>
<li>Establish the Apache Geronimo Project</li>
<li>Establish the Apache Forrest Project</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_04_21.txt">21 Apr 2004</a>
<ul>
<li>Change the Chair of the Incubator PMC</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_03_17.txt">17 Mar 2004</a>
<ul>
<li>Establish Apache Struts PMC</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_02_18.txt">18 Feb 2004</a>
<ul>
<li>Appoint a new Jakarta PMC Chair</li>
<li>Establish Gump PMC</li>
<li>Establish Portals PMC</li>
<li>Discussion: copyright ownership</li>
<li>Discussion: confirm March 1 deadline for CLAs</li>
<li>Discussion: what to do about old SA releases (under the GPL/PAL)</li>
<li>Resolution to separate PHP from the Apache Software Foundation</li>
</ul>
</li>
<li><a href="../records/minutes/2004/board_minutes_2004_01_21.txt">21 Jan 2004</a>
<ul>
<li>Appoint a new Director to fill Roy's vacated position</li>
<li>Appoint a new Jakarta PMC Chair</li>
<li>Appoint a new Avalon PMC Chair</li>
<li>Approve the new Apache License 2.0</li>
<li>Approve a Response regarding the alleged JBoss IP infringment in</li>
</ul>
</li>
</ul>
<h1 id="2003">2003 Board meeting minutes<a class="headerlink" href="#2003" title="Permalink">&para;</a></h1>
<ul>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_12_17.txt">17 Dec 2003</a></p>
<ul>
<li>Establishment of the Apache Logging Services Project</li>
<li>Discussion: code imports directly into projects vs incubation</li>
<li>Appoint a new Director to fill Roy's vacated position (tabled)</li>
<li>Appoint a new Jakarta PMC Chair (tabled)</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_11_16.txt">16 Nov 2003</a></p>
<ul>
<li>Alter the Chair of the Apache Maven Project</li>
<li>Rename Perl-Apache Project to the Apache Perl Project (tabled)</li>
<li>Alter the Chair of the Apache Perl Project (tabled)</li>
<li>Roy T. Fielding resignation from Board of Directors</li>
<li>Appoint a new Director to fill Roy's vacated position</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_10_22.txt">22 Oct 2003</a></p>
<ul>
<li>Resolution to adopt a new version of the Apache License (tabled)</li>
<li>Resolution to Appoint new Chair of the Apache Incubator Project</li>
<li>Resolution to Set Date/Time and Location for Special ASF</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_09_17.txt">17 Sep 2003</a></p>
<ul>
<li>Alter the Chair of the Apache DB Project</li>
<li>Alter the Chair of the Apache Maven Project</li>
<li>Alter the Chair of the Apache Commons Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_08_20.txt">20 Aug 2003</a></p>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_07_16.txt">16 Jul 2003</a></p>
<ul>
<li>Discussion: PHP licensing</li>
<li>Discussion: Spam Assassin (SA) group as an ASF project,</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_06_25.txt">25 Jun 2003</a></p>
<ul>
<li>Appointment of ASF Officers for the next term</li>
<li>Change the Apache XML Project Chair</li>
<li>Change the Apache HTTP Project Chair</li>
<li>Discussion: voting and election of the Board</li>
<li>Discussion: low voter turnout</li>
<li>Discussion: publishing [to ASF Members] of the vote counts</li>
<li>Discussion: what does it mean to be an ASF Member? [Jim]</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_05_21.txt">21 May 2003</a></p>
<ul>
<li>Set date for annual members meeting and board elections</li>
<li>New Vice President for the Apache Cocoon PMC</li>
<li>Slightly modify the contributor agreement</li>
<li>Granting Peter Donald fulls rights / copyright to the "Naming"</li>
<li>HP's use of "The Secure Apache Web Server for Linux" (posted to</li>
<li>JavaWorld awards</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_04_16.txt">16 Apr 2003</a></p>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_03_19.txt">19 Mar 2003</a></p>
<ul>
<li>Resolution to change the Chair of the Apache Avalon Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_02_26.txt">26 Feb 2003</a></p>
<ul>
<li>Resolution to create the Maven PMC</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_02_19.txt">19 Feb 2003</a></p>
<ul>
<li>The infrastructure committee seeks permission to procure SSL certs</li>
<li>Resolution to create the Maven PMC (tabled)</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2003/board_minutes_2003_01_22.txt">22 Jan 2003</a></p>
<ul>
<li>Established the Apache Cocoon Project</li>
<li>Established the Apache James Project</li>
<li>Established the Web Services Project</li>
</ul>
</li>
</ul>
<h1 id="2002">2002 Board meeting minutes<a class="headerlink" href="#2002" title="Permalink">&para;</a></h1>
<ul>
<li><a href="../records/minutes/2002/board_minutes_2002_12_18.txt">18 Dec 2002</a></li>
<li><a href="../records/minutes/2002/board_minutes_2002_11_18.txt">18 Nov 2002</a>
<ul>
<li>Appoint Chuck Murcko as the Treasurer of the ASF</li>
<li>Empower PMC chairs to change the membership of their PMCs without
resolution</li>
<li>Established the Avalon PMC</li>
<li>Established the Ant PMC</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_10_30.txt">30 Oct 2002</a>
<ul>
<li>ASF Bylaws Change: clarified new member nomination process</li>
<li>Discussed (did not pass) establishing an infrastructure board committee</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_10_16.txt">16 Oct 2002</a>
<ul>
<li>Jason Hunter has requested the appointment of a new JCP representative</li>
<li>It was reported the the ASF Members Meeting would be held on November
18th</li>
<li>Reestablish Apache Portable Runtime Project</li>
<li>Establishment of an Apache Incubator Project</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_10_09.txt">09 Oct 2002</a>
<ul>
<li>Appoint a Director to fill the position vacated by Randy</li>
<li>Appoint an Assistant Treasurer</li>
<li>Vote on ApacheCon hardship cases</li>
<li>Establish the Apache Security Team</li>
<li>Appoint a replacement chair for Fund Raising Committee</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_09_18.txt">18 Sep 2002</a> (<a href="../records/minutes/2002/board_supplement_2002_09_18.txt">additional reports</a>)
<ul>
<li>Apache Commons Project</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_08_21.txt">21 Aug 2002</a>
<ul>
<li>Request for use of feather mark from Bradford Learning / Covalent</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_07_17.txt">17 Jul 2002</a>
<ul>
<li>Election of Officers</li>
<li>Establishment of an Apache DB project</li>
<li>Establishment of an Apache Fund-raising Committee</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_03_20.txt">20 Mar 2002</a>
<ul>
<li>Java Community Process resolution, ensuring that Apache projects will
only implement specifications that can be implemented as open source
software</li>
<li>Request from SAP for License Amendment Permission</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_02_27.txt">27 Feb 2002</a>
<ul>
<li>Jakarta election of new PMC</li>
<li>Request from IBM to make a BSF project within Jakarta</li>
<li>Lars Eilebrecht wants approval to use the Apache feather on his</li>
<li>Distribution of jar files from Jakarta and XML sites without proper</li>
<li>Chuck Murcko proposes that the bylaws be changed to make the board</li>
<li>The UK scam using "Apache Group" name at &lt;<a href="http://www.icu2.cjb.net/">http://www.icu2.cjb.net/</a>&gt;</li>
</ul>
</li>
<li><a href="../records/minutes/2002/board_minutes_2002_01_16.txt">16 Jan 2002</a>
<ul>
<li>Conference supplies</li>
<li>Trademarks</li>
<li>Java Community Process</li>
</ul>
</li>
</ul>
<h1 id="2001">2001 Board meeting minutes<a class="headerlink" href="#2001" title="Permalink">&para;</a></h1>
<ul>
<li>
<p><a href="../records/minutes/2001/board_minutes_2001_11_28.txt">28 Nov 2001</a></p>
<ul>
<li>ASF License 2.0</li>
<li>Establishing a PMC for a federated identity project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2001/board_minutes_2001_10_17.txt">17 Oct 2001</a></p>
<ul>
<li>Request from IBM to make a BSF project within Jakarta</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2001/board_minutes_2001_08_15.txt">15 Aug 2001</a></p>
<ul>
<li>ApacheCon speaker payments from Santa Clara ApacheCon 2001</li>
<li>Red Hat request for use of "for Apache" and "powered by Apache"</li>
<li>Contributor logos</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2001/board_minutes_2001_07_18.txt">18 Jul 2001</a></p>
<ul>
<li>ApacheCon contract issues</li>
<li>Election of Chairman</li>
<li>Appoint Ted Leung to V.P., Apache XML</li>
<li>Appoint someone to replace Randy Terbush on Conference Planning</li>
<li>Request for use of the ASF Feather in official merchandise</li>
<li>NT Services project</li>
<li>ASF virtual office</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2001/board_minutes_2001_04_18.txt">18 Apr 2001</a></p>
</li>
<li>
<p><a href="../records/minutes/2001/board_minutes_2001_03_21.txt">21 Mar 2001</a></p>
<ul>
<li>Allocation of $2500 for Batik press announcement</li>
<li>Covalent request for permission to use Apache name</li>
<li>Tripwire request for permission to use Apache name</li>
<li>Discussion of things we need to do to advertize 501(c)(3) status</li>
<li>Re-established and updated membership of Jakarta and XML Projects</li>
<li>Amending the bylaws to prevent a situation where more than half of the
board of directors consisted of employees/owners of the same company</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2001/board_minutes_2001_02-21.txt">21 Feb 2001</a></p>
<ul>
<li>Confirming the Conference Planning Committee</li>
<li>Improving the structure of the Jakarta and XML projects</li>
<li>New V.P. for the Jakarta Project</li>
<li>New charter for the XML Project</li>
<li>Coordinating release versions among Apache projects</li>
<li>ASF Members allowed to sit on any PMC without a voice</li>
</ul>
</li>
</ul>
<h1 id="2000">2000 Board meeting minutes<a class="headerlink" href="#2000" title="Permalink">&para;</a></h1>
<ul>
<li>
<p><a href="../records/minutes/2000/board_minutes_2000_12-20.txt">20 Dec 2000</a></p>
<ul>
<li>Establishment of the Apache Portable Runtime Project</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2000/board_minutes_2000_11_15.txt">15 Nov 2000</a></p>
<ul>
<li>Trademark</li>
<li>Engage in a relationship with Cooley</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2000/board_minutes_2000_10_22.txt">22 Oct 2000</a></p>
</li>
<li>
<p><a href="../records/minutes/2000/board_minutes_2000_07_24.txt">24 Jul 2000</a></p>
<ul>
<li>Clarification on open board mailing list and archives</li>
<li>Authorize budget for retaining counsel on crypto export issues</li>
<li>Authorize budget for payment of member fees at ApacheCon 2000 Europe</li>
<li>Update membership of the Apache HTTP Server Committee</li>
<li>Update membership of the Apache XML Committee</li>
<li>Establishment of an Apache PHP Committee</li>
<li>Establishment of an Apache/TCL Project</li>
<li>Acclamation of Apache Conferences Committee</li>
<li>Budgeting for counsel on member employment agreements and NDAs</li>
<li>Official policy regarding use of the Apache name for such</li>
<li>Coriolis copyright infringement</li>
<li>Budgeting for ASF Hackathon event prior to ApacheCon 2000 Europe</li>
<li>Plan for creating an annual report for fy1999</li>
<li>Plan for creating a budget for fy2000</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2000/board_minutes_2000_03_10.txt">10 Mar 2000</a></p>
<ul>
<li>Proposal from ZOT Group for continuing media management services</li>
<li>Perl-Apache PMC</li>
<li>XML and Data Channel License</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/2000/board_minutes_2000_02_28.txt">28 Feb 2000</a></p>
<ul>
<li>Proposal from ZOT Group for continuing media management services</li>
<li>Discussion about pro/con of becoming 501(c)(3)</li>
<li>Ken requested that the ASF investigate the procedure in having the ASF
formally accept PHP and mod_perl as Foundation projects</li>
<li>Discuss our usability policies for the various bits of artwork</li>
</ul>
</li>
</ul>
<h1 id="1999">1999 Board meeting minutes<a class="headerlink" href="#1999" title="Permalink">&para;</a></h1>
<ul>
<li>
<p><a href="../records/minutes/1999/board_minutes_1999_11_01.txt">01 Nov 1999</a></p>
<ul>
<li>Adopting the contributor license agreement</li>
<li>Modifications to Trademark Assignment agreement</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/1999/board_minutes_1999_09_22.txt">22 Sep 1999</a></p>
</li>
<li>
<p><a href="../records/minutes/1999/board_minutes_1999_09_16.txt">16 Sep 1999</a></p>
<ul>
<li>Application for tax-exempt status as a private operating foundation</li>
<li>ASF Software License</li>
<li>Project Management Committees</li>
<li>Establishment of the Apache Jakarta Project</li>
<li>Establishment of the Apache XML Project</li>
<li>Budgeting process</li>
<li>Overhead charge</li>
<li>Initial Foundation Budget</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/1999/board_minutes_1999_07_13.txt">13 Jul 1999</a></p>
<ul>
<li>PR post-mortem from June 30 announcement of The ASF</li>
<li>Status on setting up projects</li>
<li>Handling funds marked for use by specific projects</li>
<li>Licensing issues regarding projects</li>
<li>Finishing up the corporate loose ends</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/1999/board_minutes_1999_06_22.txt">22 Jun 1999</a></p>
<ul>
<li>PR for announcement of The ASF</li>
<li>Jakarta</li>
<li>Finishing up the corporate loose ends</li>
</ul>
</li>
<li>
<p><a href="../records/minutes/1999/board_minutes_1999_06_01.txt">01 Jun 1999</a></p>
<ul>
<li>Effective date of incorporation</li>
<li>Budget discussion</li>
</ul>
</li>
</ul>
<h1 id="preorg">Pre-organization meetings<a class="headerlink" href="#preorg" title="Permalink">&para;</a></h1>
<ul>
<li><a href="../records/minutes/1999/board_minutes_1999_05_13.txt">13 May 1999</a></li>
<li><a href="../records/minutes/1999/board_minutes_1999_04_27.txt">27 Apr 1999</a>
<ul>
<li>Banking Resolutions</li>
<li>Appointing additional responsibilities to officers and/or non-officers</li>
<li>Issues regarding the membership application form</li>
<li>Adoption of the license agreement form (license-grant.txt)</li>
<li>Adoption of the trademark assignment form (trademark-assignment.txt)</li>
<li>Adoption of the equipment use letter (equipment-use-letter.txt)</li>
<li>Adoption of the bill-of-sale/assignment form (BOS-and-assignment.txt)</li>
<li>Appointment of a Vice Chairman of the Board</li>
<li>Set dates for next two Board meetings</li>
</ul>
</li>
<li><a href="../records/minutes/1999/board_minutes_1999_04_13.txt">13 Apr 1999</a>
<ul>
<li>Officer Elections</li>
<li>Ratification and Adoption of Acts of Incorporator</li>
<li>Adoption of the Bylaws of The Apache Software Foundation</li>
<li>Adoption of the Corporate Seal</li>
<li>Selection of an initial principal office</li>
<li>Adoption of the member consent form</li>
<li>Adoption of the membership application form</li>
<li>Establishment of the Apache HTTP Server Project Management Committee</li>
<li>Establishment of the Apache Conference Committee</li>
<li>Miscellaneous Incorporation Resolutions</li>
<li>Attorney</li>
</ul>
</li>
</ul>

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