<!DOCTYPE HTML PUBLIC "-//SoftQuad Software//DTD HoTMetaL PRO 6.0::19990601::extensions to HTML 4.0//EN" "hmpro6.dtd">
<HTML> 
  <head> 
	 <TITLE></TITLE> 
  
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head> 
  <body> 
	 <TABLE SUMMARY="NavBar" RULES="none" FRAME="void" WIDTH="100%"
	  HEIGHT="100%" BORDER="0" CELLSPACING="0" ALIGN="right" CELLPADDING="4"> 
		<TR> 
		  <TD BGCOLOR="#FFFFFF"> 
			 <TABLE WIDTH="100%" BORDER="0" CELLPADDING="0"> 
				<TR> 
				  <TD WIDTH="83%" ALIGN="left" VALIGN="top"><A
					 HREF="/conference/OOoCon2003.html"><IMG
					 SRC="OpenOfficeConference_Logo_s.gif" BORDER="0" WIDTH="178" HEIGHT="82"></A>
					 </TD> 
				  <TD WIDTH="17%" ALIGN="left" VALIGN="top" HEIGHT="100%"><A
					 HREF="http://www.uni-hamburg.de/Publikat/falt_e.html"><IMG SRC="unihh.gif"
					 BORDER="0" WIDTH="101" HEIGHT="116"></A> </TD> 
				</TR> 
				<TR> 
				  <TD WIDTH="83%" ALIGN="left" VALIGN="top">&nbsp;</TD> 
				  <TD WIDTH="17%" ALIGN="left" VALIGN="top"
					HEIGHT="100%">&nbsp;</TD> 
				</TR> 
				<TR> 
				  <TD WIDTH="83%" ALIGN="left" VALIGN="top"> 
					 <!-- HEADER END -->
					 <H3>Contributor Sponsoring</H3> 
					 <H4>Can't afford to come?</H4> 
					 <P>Unfortunately not all key contributors of the OpenOffice.org
						project can afford to travel to Hamburg. Therefore, we want to help these
						community members to find a sponsor for their trip.</P> 
					 <P> If you would like to attend the event either as a speaker
						or as an attendee, but can't afford to go to Hamburg, please send an email with
						the subject "Contributor Sponsoring" to <BR>
						<A
						 HREF="mailto:contribsponsor@openoffice.org?subject=Contributor Sponsoring">contribsponsor@openoffice.org</A>
						</P> 
					 <P>The email with your application for sponsorship should
						include the following information:</P> 
					 <UL> 
						<LI>Full Name</LI> 
						<LI>Email Address</LI> 
						<LI>URL of Home Page (if it should be listed on this web
						  page)</LI> 
						<LI>Company/Affiliation (if any)</LI> 
						<LI>Postal Address</LI> 
						<LI>Contact Telephone Number</LI> 
						<LI>Estimated Travel Costs in EUR</LI> 
						<LI>Description of OpenOffice.org Contributions<BR>(no more
						  than 200 words)</LI> 
						<LI>Are you willing to help at conference?<BR>(a company
						  might pay for the trip if you would be willing to help at the conference)</LI> 
					 </UL> 
					 <P>All applications will be verified by key community members
						(e.g. project leads) and then get published on this web page.</P> 
					 <H4>Want to sponsor the trip for a contributor?</H4> 
					 <P> If you would like to sponsor the trip for a contributor who
						can't afford to go to Hamburg, please contact one of the listed contributors
						and send an email with the subject "Contributor Sponsoring" to <BR>
						<A
						HREF="mailto:contribsponsor@openoffice.org?subject=Contributor Sponsor">contribsponsor@openoffice.org</A>
						</P> 
					 <P>The email with your sponsoring offer should include the
						following information:</P> 
					 <UL> 
						<LI>Company Name</LI> 
						<LI>Contact Name</LI> 
						<LI>Email Address</LI> 
						<LI>URL of Home Page (if it should be listed on this web
						  page)</LI> 
						<LI>Name of Person you will sponsor</LI> 
					 </UL> 
					 <P>All contributor sponsors will be listed by name in the
						conference program and on this web page. If the supported person is a speaker
						your company name will also appear on the conference agenda.</P> 
					 <P>Team OpenOffice.org would like to thank for the generous help which allowed several contributors from all continents of world to visit OOoCon 2003.</P> </TD> 
				  <TD WIDTH="17%" ALIGN="left" VALIGN="top" HEIGHT="100%"> 
					 <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="1"
					 BGCOLOR="#000000" ALIGN="right"> 
						<TR> 
						  <TD WIDTH="100%" ALIGN="LEFT"> 
							 <TABLE SUMMARY="NavBar" RULES="none" FRAME="void"
							 WIDTH="160" HEIGHT="100%" BORDER="0" CELLSPACING="0" ALIGN="right"
							 CELLPADDING="4"> 
								<TR> 
								  <TD BGCOLOR="#000080" ALIGN="left" VALIGN="top">
									 <FONT COLOR="#ffffff"> <B>What is OOoCon</B> </FONT> </TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#FFFFFF" ALIGN="LEFT">
									 <FONT FACE="Arial" SIZE="2"> <A HREF="OOoCon2003.html">Home</A> </FONT> </TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#000080" ALIGN="left" VALIGN="top">
									 <FONT COLOR="#ffffff"> <B>How to participate</B> </FONT> </TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#FFFFFF" ALIGN="LEFT">
									 <FONT FACE="Arial" SIZE="2"> <A HREF="cfp.html">Call for Papers</A><BR>
									 <A HREF="registration.html">Registration</A><BR> <A
									 HREF="contribsponsors.html">Can't afford to come?</A></FONT> </TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#000080" ALIGN="left" VALIGN="top">
									 <FONT COLOR="#ffffff"> <B>More information</B> </FONT> </TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#FFFFFF" ALIGN="LEFT">
									 <FONT FACE="Arial" SIZE="2"> <A HREF="schedule.html">Schedule</A><BR>
									 <A HREF="accomodation.html">Location &amp; Travel</A>
								 	</FONT>
									</TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#000080" ALIGN="left" VALIGN="top">
									 <FONT COLOR="#ffffff"> <B>Audience</B> </FONT> </TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#FFFFFF" ALIGN="LEFT">
									 <FONT FACE="Arial" SIZE="2"> <A HREF="attendee.html">Attendee</A><BR><A
									 HREF="speaker.html">Speaker</A><BR> <A HREF="sponsors.html">Sponsors &amp;
									 Exhibitors</A><BR><A HREF="press.html">Press &amp; Media</A> </FONT> </TD> 
								</TR> 
								<TR> 
								  <TD BGCOLOR="#CC3300" ALIGN="LEFT">
									 <FONT FACE="Arial" SIZE="2">
									 <A STYLE="color:#FFFFFF"
									  HREF="mailto:conference@marketing.openoffice.org?subject=OOOCON PAGE UPDATE REQUEST">Webmaster
									 (conference pages)</A> </FONT> </TD> 
								</TR> 
							 </TABLE> </TD> 
						</TR> 
					 </TABLE> </TD> 
				</TR> 
			 </TABLE> </TD> 
		</TR> 
		<TR> 
		  <TD BGCOLOR="#FFFFFF"> 
			 <P> </P> </TD> 
		</TR> 
	 </TABLE> </body>
</HTML>
