<?php
/**
 * Copyright (c) 2006, 2008, 2018 Eclipse Foundation.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *   Wayne Beaton (Eclipse Foundation)- initial API and implementation
 *   Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div id="rightcolumn">
  <div class="sideitem">
    <h6>More information</h6>
    <ul>
      <li><a href="userguide.php">User Guide</a></li>
      <li><a href="faq.php">Frequently Asked Questions</a></li>
      <li><a href="terms.php">Terms of Use</a></li>
    </ul>
  </div>
  <div class="sideitem">
    <h6>Code</h6>
    <p>
      The client side of the UDC is implemented in the <a href="/epp">Eclipse Packaging Project</a>
      (EPP). You can find the code for it there.
    </p>
    <ul>
      <li><a href="/epp">The Eclipse Packaging Project</a></li>
      <li><a href="/epp/usagedata">UDC Component</a></li>
      <li><a
        href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.epp/?root=Technology_Project"
      >Browse the code online</a></li>
      <li><a href="/epp/usagedata/UsageData.psf">Add the code to your workspace</a></li>
      <li><a href="/epp/usagedata/faq.php">Technical FAQ</a></li>
    </ul>
  </div>
</div>