<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0044)http://www.eclipse.org/org/how_to_join2.html -->
<HTML><HEAD><TITLE>Eclipse Foundation</TITLE>
<link rel="stylesheet" href="../../default_style.css"></HEAD>
<BODY bgColor=#ffffff>
<TABLE cellSpacing=5 cellPadding=2 width="100%" border=0>
  <TBODY>
  <TR>
    <TD align=left width="72%"><FONT class=indextop>how to join</FONT></TD>
    <TD width="28%"><img src="../../images/Idea.jpg" height=86 width=120></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=5 cellPadding=2 width="100%" border=0>
  <TBODY>
  <TR>
    <TD vAlign=top align=left bgColor=#0080c0 colSpan=2><B><FONT 
      face=Arial,Helvetica color=#ffffff>Becoming a member of the Eclipse 
      Foundation</FONT></B></TD></TR>
  <TR>
    <TD colSpan=2>
      <P>Welcome to Eclipse! If you are interested in becoming a member of the 
      Eclipse Foundation these pages will provide you with the information you 
      need to make your decisions. If you don't find the information you need 
      here, please email <A 
      href="mailto:membership@eclipse.org">membership@eclipse.org</A>. </P>
      <P>In general, members of the Eclipse Foundation are expect to adhere to the following:</P>
      <ol>
        <li>Express public support for the Eclipse Foundation and the Eclipse Platform.</li>
        <li>Make available a commercial Eclipse-based
offering within 12 months of joining the Eclipse Foundation or use the
Eclipse Platform in the development of a commercial offering within 12
months of joining the Eclipse Foundation.</li>
        <li> Sign the Eclipse Foundation Membership Agreement and abide by its terms.<span style=""></span> </li>
        </ol>      
      <p><EM>Please note you do not have to become a member to gain access to our downloads or newsgroups. Anyone can download our software from our <A 
      href="http://www.eclipse.org/downloads/index.php" target=_top>download servers </A>. To gain access to our newsgroups, please fill out this <A 
      href="http://dev.eclipse.org/newsManager/newsRequestForm.html">form</A> to receive a user name and password.</EM></p>
      <P>The first step to joining the Eclipse Foundation is determining what level of 
      membership is appropriate for you or your organization. There are four 
      categories of memberships. Follow the links to read how to join as a member of each category.</P></TD>
  </TR>
  <TR>
    <TD vAlign=top align=right><img src="../../images/Adarrow.gif" border=0 height=16 width=16></TD>
    <TD><a href="Strategic_Member.htm">Strategic 
      Members</a> are companies that view Eclipse as a strategic platform and 
      are willing to invest the developer and financial resources required to 
      further develop the Eclipse technology. </TD></TR>
  <TR>
    <TD vAlign=top align=right><img src="../../images/Adarrow.gif" border=0 height=16 width=16></TD>
    <TD><a href="Add_in_provider.htm">Add-in 
      Provider Members</a> are companies that view Eclipse as an important part 
      of their corporate and product strategy. These companies want to 
      participate in the development of the Eclipse ecosystem.</TD></TR>
  <TR>
    <TD vAlign=top align=right><img src="../../images/Adarrow.gif" border=0 height=16 width=16></TD>
    <TD><a href="associate_member.htm">Associate 
      Members</a> are organizations that are a non-for-profit organization, 
      standards body, university, research institute or publisher that 
      participates in the development of the Eclipse ecosystem.</TD></TR>
  <TR>
    <TD vAlign=top align=right><img src="../../images/Adarrow.gif" border=0 height=16 width=16></TD>
    <TD><a href="committer.html">Committer Members</a> are individuals that are one of the core developers 
      of the Eclipse technology and can commit changes to the source code.</TD>
  </TR>
  <TR></TR></TBODY></TABLE></BODY></HTML>
