<html><head>
<link rel="stylesheet" href="../../default_style.css">
<title>Eclipse Foundation</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%"> <font class=indextop> eclipseCon 2005 <br>
      business forum </font><br>
      <font class=indexsub>&nbsp; </font></td>
    <td width="28%"><img src="../../images/Idea.jpg" height=86 width=120></td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Press release</font></b></td>
  </tr>
  <tr> 
    <td> <br>
      <h1 ALIGN="CENTER"><b><span style='font-size:16.0pt;font-family:Arial;"Times New Roman"'><b> 
        EclipseCon 2005 Adds a Business Forum <br>
        to Conference Program</b></span></b></h1>
      <P><strong>OTTAWA, ONTARIO, CANADA &ndash; January 12, 2004</strong> &ndash; The Eclipse Foundation announced a new program feature, the Business Forum, as part of the upcoming EclipseCon 2005, the annual gathering of the Eclipse community to be held February 28 through March 3, 2005, at the Hyatt Regency, Burlingame, CA, United States. The Business Forum is designed for the business decision maker assessing the adoption of Eclipse within organizations. It will be a series of sessions, case studies and panels that investigate experiences, business implications and strategies for adopting Eclipse. </p>
      <p>Key leaders from Fortune 500 companies, industry leading ISVs, top-tier venture capital funds, universities and technology research companies have agreed to participate in the event. Highlights of the one day forum, to be held March 1, 2005, include:</p>
      <ul>
        <li>Carl Zetie, Forrester Research presenting a session titled &lsquo;Eclipse and the Changing Development Tools Landscape&rsquo;</li>
        <li>Executives from Actuate and Sybase presenting case studies of their respective companies&rsquo; decisions to adopt Eclipse.</li>
        <li>Two panel discussions &lsquo;Eclipse in the Enterprise&rsquo; and &lsquo;Eclipse as a Tool Integration Platform&rsquo; will investigate the issues and benefits of adopting Eclipse. The panelist will feature representatives from ABN AMRO Bank, Borland, Cisco, Exadel, Greylock Venture Partners, Hummer Winblad Venture Partners, O&rsquo;Reilly Media Inc., and San Jose State University</li>
      </ul>      
      <p>The detailed EclipseCon 2005 conference program has also been made available, including keynote speakers, tutorials, and technical sessions. Detailed information about the conference program and the Business Forum is available at <a href="http://www.eclipsecon.org/?prbiz" target="_blank">www.eclipsecon.org</a>.</p>
      <p><strong>Registration and Hotel Information</strong><br>
        Registration and hotel information is available at <a href="http://www.eclipsecon.org/?prbiz" target="_blank">www.eclipsecon.org</a>. Conference fee discounts are offered for those registering before January 31, 2005. One day passes are available for each day of the conference, and may be of interest to those attendees who would like to attend the Business Forum sessions on March 1, 2005.</p>
      <p><strong>Information for Press and Analyst Organizations</strong><br>
        Members of the press and analyst community are encouraged to attend EclipseCon 2005. Registration information is available at <a href="http://www.eclipsecon.org/?prbiz" target="_blank">www.eclipsecon.org</a>.<br>
      </p>
      <P align="center">###<br>
      </p></td>
  </tr>
</table>
<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
		
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">About the Eclipse Foundation</font></b></td>
		</TR>
		<TR>
		<td align=left>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <P> The Eclipse Foundation is a not-for-profit member-supported corporation 
              that hosts community based open source projects. Eclipse creates 
              royalty-free technology and a universal platform for development 
              tools integration, modeling, testing and functionally-rich application 
              construction. Eclipse-based offerings give developers freedom of 
              choice in a multi-language, multi-platform, multi-vendor supported 
              environment. Eclipse delivers a dynamic plug-in based framework 
              that makes it easier to create and integrate technology, saving 
              time and money. By collaborating and sharing core integration technology, 
              providers can concentrate and focus on areas of expertise and differentiation. 
              The Eclipse Platform is written in the Java language and comes with 
              extensive plug-in construction toolkits and examples. It has already 
              been deployed on a range of development workstations including Linux, 
              QNX, Mac OS X and Windows-based systems. Full details of the Eclipse 
              Foundation and white papers documenting the design of the Eclipse 
              Platform are available at <a href="http://www.eclipse.org" target="_top">www.eclipse.org</a>.</p>
            </td>
		</tr>
        </table></table>&nbsp;
	<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Media 
      contact</font></b></td>
		</TR>
		</table>
		
<table width="100%" border="0" cellspacing="5">
  <tr>
    <td > 
      <div align="center">Ian Skerrett <br>
        Eclipse Foundation <br>
        ian.skerrett@eclipse.org<br>
        613-224-9461 ext 227 </div>
    </td>
  </tr>
</table>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <hr width="85%">
      <P>Brand or product names are registered trademarks or trademarks of their 
        respective holders. Java and all Java-based trademarks are trademarks 
        or registered trademarks of Sun Microsystems, Inc. in the United States 
        and other countries.<br>
      </P>
<hr width="85%">
    </td>
		</tr>
        </table>&nbsp;        
&nbsp;
</body></html>
