<html><head>
	<title>Further Information for Group Meetings</title>

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<link rel="stylesheet" href="conference.css" media="screen" type="text/css" />
	<!-- >
	$Id: general.html,v 1.4 2004/09/16 13:12:46 jacqueline Exp $
	< -->
</head>

<table id="top" name="top" summary="" border="0" cellspacing="5" cellpadding="5">
	<tr><td><table width="100%" summary="" ><tr>
			<td><img src="../conference/group_blue.gif" width="52" height="17" alt="image" /></td>
    		<td><h2>Further Information for Group Meetings</h2></td></tr>
	</table></td></tr>

	<tr>
		<td>
			<table id="K1" name="K1" summary="" border="1" cellpadding="8" cellspacing="0" bordercolor="#000080">
					<tr>
					<td class="general">
						<strong>Community Council</strong>
					</td>
				</tr>				
					<tr>
					<td>Convened for Community Council members only. Duration: 3 hours.<br>
					For more information about the Community Council, please visit the <a href="http://council.openoffice.org/">Community 								Council</a> site.
					</td>
				</tr>
				
			</table>

			<p><a href="wednesday.html" title="Agenda for Wednesday">Back</a></p>

			<table id="K2" name="K2" summary="" border="1" cellpadding="8" cellspacing="0" bordercolor="#000080">
				<tr>
					<td class="general">
						<strong>Marketing Project</strong>
					</td>
				</tr>
				<tr>
					<td>Open to all OpenOffice.org volunteers and contributors interested in promoting and encouraging the use of OpenOffice.org. Duration: 2 hours. <br>
					For more information about the OpenOffice.org Marketing Project, please visit the <a href="http://marketing.openoffice.org/">Marketing Project</a>.
					</td>
				</tr>
			</table>
		<p><a href="wednesday.html" title="Agenda for Wednesday">Back</a></p>
<table id="K3" name="K3" summary="" border="1" cellpadding="8" cellspacing="0" bordercolor="#000080">
				<tr>
					<td class="general">
						<strong>Business/Consultants</strong>
					</td>
				</tr>
				<tr>
					<td>By invitation only. Duration: 3 hours. Contact Charles-H Schulz or Andre Schnabel.<br>
					For more information about the OpenOffice.org Business Development Project, please visit the <a href="http://bizdev.openoffice.org/">Bizdev Project</a>.
					</td>
				</tr>
			</table>

			<p><a href="wednesday.html" title="Agenda for Wednesday">Back</a></p>

			<table id="K3" name="K3" summary="" border="1" cellpadding="8" cellspacing="0" bordercolor="#000080">
				<tr>
					<td class="general">
						<strong>Engineering Steering Committee</strong>
					</td>
				</tr>
				<tr>
					<td><i>Details to follow.</a>
					</td>
				</tr>
			</table>

			<p><a href="wednesday.html" title="Agenda for Wednesday">Back</a></p>
<table id="K2" name="K2" summary="" border="1" cellpadding="8" cellspacing="0" bordercolor="#000080">
				<tr>
					<td class="general">
						<strong>Native Language Confederation</strong>
					</td>
				</tr>
				<tr>
					<td>Some people are meeting at 7pm outside the Erwin Schr&ouml;dinger-Zentrum to travel to venue. Meeting at venue for 8pm. Venue to be advised.<br>
					Discussion is being held on <a href="http://native-lang.openoffice.org/servlets/BrowseList?listName=dev&by=date&from=2004-09-01&to=2004-09-30&first=1&count=56">dev@native-lang.openoffice.org</a> list. Contact Charles-H Schulz or Andre Schnabel. <br>For further information about the Native Language Confederation please visit the <a href="http://native-lang.openoffice.org/">Native Language Confederation</a> site.

					</td>
				</tr>
			</table>

      </td>
    </tr>

  </table>

  <hr />
 <a href="wednesday.html">Back to Wednesday</a><br />
  <a href="thursday.html">Back to Thursday</a><br />
  <a href="friday.html">Back to Friday</a><br />
   <a href="#top">Back to Top</a><br />
 <!--  <a href="agenda2.html">Back to Overview</a></p>-->

  <p>Please Note: Program content subject to change.</p>