<html>
<head>
<title>Core Component</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css" type="text/css">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%"> <font class=indextop> core</font> <br>
      <font class=indexsub> the foundation of the platform</font></td>
    <td width="28%"><img src="http://dev.eclipse.org/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">Development 
      Resources </font></b></td>
  </tr>
  <tr> 
    <td> 
      <p>If you are already a Platform Core developer, check out the <a href="dev.html">Development 
        Resources</a>.</p>
      <p>If you are looking for proposals that the Core team is currently voting
      on, or proposals that have been submitted for comment, go to <a href="rfc/index.html">Votes
      and RFC</a></p>
      </td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b>
    <font color="#FFFFFF" face="Arial,Helvetica">Core Overview</font></b></td>
  </tr>
  <tr> 
    <td> 
      <p>The Core component forms the base of the Eclipse platform's runtime configuration. 
        It includes mechanisms and facilities for:</p>
      <ul>
        <li>booting and running the platform</li>
        <li>plug-in declaration and management</li>
        <li>resource management</li>
        <li>target synchronization</li>
      </ul>
      <p>The Core is excruciatingly generic -- all plug-ins installed and run 
        on the Core infrastructure are treated equally. The contents of resources 
        are never examined in any domain-specific way and the Core can run equally 
        well with and without a UI. </p>
      </td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font face="Arial,Helvetica" color="#FFFFFF">What's 
      Happening? </font></b></td>
  </tr>
  <tr> 
    <td> 
      <p>Over the next 6 months the major focus points are:</p>
      <ul>
        <li>Performance</li>
        <li>Robustness</li>
        <li>Improved support for plug-in fragments and alternative runtime configurations</li>
        <li>Integration of Windows filesystem callbacks</li>
      </ul>
      <p>In the more immediate term, efforts for the next milestone (end of November) 
        are focused on:</p>
      <ul>
        <li>Class loading and startup performance</li>
        <li>Bug fixing</li>
        <li>Test harness integration</li>
      </ul>
      <p>For more detailed information, check out the <a href="dev.html"> Development 
        Resources</a>.</p>
    </td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Get 
      Involved!</font></b></td>
  </tr>
  <tr> 
    <td> 
      <p>If you are interested in participating in the development of the Core 
        component, check out the developer's mailing list: <a href="http://dev.eclipse.org/mailman/listinfo/platform-core-dev">platform-core-dev@eclipse.org</a>. 
        Chat with people there about your problems and interests, and find out 
        what you can do to help. </p>
      <p>In particular, if you are interested in system level code and are intimately 
        familiar with Java classloading, thread management, filesystem resource 
        management on a variety of operating systems, Windows/Linux filesystem 
        callback management, or programming for speed/space, the Core team wants 
        to talk to you.</p>
      <p>Upcoming work is primarily in the details of currently supported function.</p>
      <p>For more detailed information, check out the <a href="dev.html">Development 
        Resources</a>.</p>
</td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>
