<?php
/*******************************************************************************
 * Copyright (c) 2015 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Christopher Guindon (Eclipse Foundation) - initial API and implementation
 *******************************************************************************/
 ?>

<div class="col-md-14 col-lg-16">


  <h2 class="h3 padding-top-20">Organizations that join the Eclipse Foundation<br/>can benefit in the following ways:</h2>

  <ul class="fa-ul fa-ul-2x">
    <li><i class="fa-li fa-2x fa fa-check-circle orange"></i>Ability to join and participate in the Eclipse Foundation <a href="/org/workinggroups">Working Groups</a>,
    industry collaborations that develop new open source software platforms.</li>

    <li><i class="fa-li fa-2x fa fa-check-circle orange"></i>Take advantage of marketing programs that target the Eclipse developer
    community, including advertising on eclipse.org, preferential listing on
    Eclipse Marketplace, exposure for commercial products on Eclipse Marketplace
    Client, organizing Eclipse Demo Camps, plus other programs.</li>

    <li><i class="fa-li fa-2x fa fa-check-circle orange"></i>The right to participate in the Eclipse Board of Directors and guide the strategy
    of the Eclipse Foundation, through a direct seat for Strategic Members and elected seat for Sustaining Members.</li>

    <li><i class="fa-li fa-2x fa fa-check-circle orange"></i>Discounts on sponsorship and registration fees for Eclipse Foundation events,
    including EclipseCon North America, EclipseCon Europe and EclipseCon France.
    </li>

    <li><i class="fa-li fa-2x fa fa-check-circle orange"></i>Networking opportunities with other member organizations through Foundation run events
    and one-on-one introductions by Foundation staff.</li>

    <li><i class="fa-li fa-2x fa fa-check-circle orange"></i>The ability to use the Eclipse Foundation member logo on your own site and have your logo
    listed on our members’ page and in other promotional material.</li>
  </ul>

  <div id="rightcolumn">
    <div class="sideitem">
      <h6>Resources</h6>
      <ul>
        <li>Monthly <a href="/community/newsletter/" title="Membership Newsletter">Member Newsletter</a> available to Member companies and their employees</li>
        <li>An introductory <a href="/membership/documents/eclipse-foundation-overview.pptx">overview presentation</a> of the Eclipse Foundation and Eclipse community for new and prospective members</li>
      </ul>
    </div>
  </div>
</div>
<?php include_once 'en_sidebar.php';?>
