<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 keynotes</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 Announces Conference Keynotes</b></span></b></h1>
      <ul>
        <li>Tim O'Reilly, CEO of O'Reilly Media and Urs Hoelzle, VP of Engineering 
          of Google, Lee Nackman, CTO of IBM Rational Software, Featured </li>
      </ul>
      <P>OTTAWA, ONTARIO, CANADA - November 8, 2004 - The Eclipse Foundation announced 
        that industry experts Tim O'Reilly, CEO of O'Reilly Media, a popular speaker 
        on the impact of the open-source movement, Urs Hoelzle, Vice President 
        of Engineering for Google, and Lee Nackman, CTO of IBM Rational Software 
        will be featured as keynote speakers for EclipseCon 2005. In addition, 
        plenary sessions will feature Eclipse community leaders, Mike Milinkovich, 
        Executive Director of Eclipse Foundation, John Wiegand and Erich Gamma, 
        Eclipse Platform PMC Leaders and others discussing the latest developments 
        and future directions of the Eclipse Platform and the Eclipse community. 
      </p>
      <P> The second annual EclipseCon conference will be held February 28, 2005 
        - March 3, 2005 at the Hyatt Regency, Burlingame, CA, USA. The conference 
        program will appeal to beginners through advanced users and developers 
        of Eclipse based applications as well as architects and other technology 
        decision makers. The program consists of over 20 tutorials and 3 days 
        of technical sessions organized into three themes: 1) Understanding Eclipse 
        Projects, 2) Using Eclipse Tools and 3) Experiences Using Eclipse. Tutorial 
        and session topics will include the Eclipse Platform, Standard Widget 
        Toolkit (SWT), Rich Client Platform (RCP), Eclipse Modeling Framework 
        (EMF), Test and Performance, Web Tools, Java and C/C++ IDE, Business Intelligence 
        and Reporting, and many more. More information about the conference program 
        can be found at <a href="http://www.eclipsecon.org/?pressrelease" target="_blank">www.eclipsecon.org</a>.</p>
      <P>Registration and hotel information are available at <a href="http://www.eclipsecon.org/?pressrelease" target="_blank">www.eclipsecon.org</a>. 
        Discounts on the conference fee are offered for registration before January 
        31, 2005<br>
      </p>
      <P><b>Information for Press and Analyst Organizations</b><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/?pressrelease" target="_blank">www.eclipsecon.org</a>.</p>
      <P><b>Information for Exhibitors</b><br>
        Organizations interested in exhibiting at EclipseCon 2005 are invited 
        to visit <a href="http://www.eclipsecon.org/?pressrelease" target="_blank">www.eclipsecon.org</a> 
        for more information or send an e-mail to <a href="mailto:eclipsecon2005exhibitor@eclipse.org">eclipsecon2005exhibitor@eclipse.org</a>. 
        A variety of exhibitor and sponsorship opportunities are available on 
        a limited basis.<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">Barbara Stewart <br>
        Patterson & Associates <br>
        barbara@patterson.com <br>
        480.488.6909 </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>
