<?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://eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Nathan Gervais (Eclipse Foundation) - Initial implementation
 *    Eric Poirier (Eclipse Foundation)
 *******************************************************************************/
?>

<div id="midcolumn">

  <h1>Get Galileo Sooner and Faster</h1>

  <ul id="bulletList">
    <li>Eclipse Galileo Release is coming June 24.</li>
    <li>Become a <a href="/donate">Friend of Eclipse</a> to get early
      access to the Galileo release and a faster download experience[1].
    </li>
    <li>At the same time you will be helping support the Eclipse
      Foundation and the Eclipse community. <a href="/donate">Join now
        for only US$35</a>.
    </li>
  </ul>

  <p style="font-size: 12px; color: #555;">[1] Friends of Eclipse get
    special access to the Eclipse Foundation download server. This
    server will be available to Friends of Eclipse while the download
    packages are being synchronized to our mirrors. This typically means
    the packages will be available up to 24 hrs before everyone else.
    The Eclipse Foundation will also be dedicating extra bandwidth to
    this download server, so Friends should experience a faster
    download.</p>


</div>
<!-- remove the entire <div> tag to omit the right column! -->
<div id="rightcolumn">
  <div class="sideitem">
    <h6>Galileo</h6>
    <ul id="leftnav">
      <li><a href="/downloads/packages/release/helios/sr2"
        target="_self">Download Now</a></li>
      <li><a
        href="http://www.eclipse.org/projects/releases/releases.php?release=galileo"
        target="_self">Galileo Projects</a></li>
      <li><a href="/galileo/blogathon/reviews.php" target="_self">Blogathon</a></li>
      <li><a href="/galileo/galileoinaction.php" target="_self">Virtual
          Conference</a></li>
      <li><a href="/galileo/friends.php" target="_self">Friends of
          Galileo</a></li>
    </ul>

  </div>
</div>
