<!--
        <div class="lyo-header">

            <a href="/lyo">
            <div class="lyo-logo">
                <div class="bannerContent">
                    <div class="logo-image dib"></div>
                    <span class="logo-text dib">
                        <span class="logo-top db">Eclipse Lyo</span>
                        <span class="logo-bottom db">Enabling tool integration with <abbr title="Open Services for Lifecycle Collaboration">OSLC</abbr></span>
                    </span>
                </div>
            </div>
            </a>

        </div>
-->

<div class="content">
  <p class="oslc-introtext">Eclipse Lyo is an <abbr title="Software Development Kit">SDK</abbr> to help the Eclipse
    community adopt <a href="http://oslc.co"><abbr title="Open Services for Lifecycle Collaboration">OSLC</abbr></a>
    (Open Services for Lifecycle Collaboration) specifications and build OSLC-compliant tools.</p>

  <div class="horizontalCenter">
    <a class="btn btn-huge btn-default lyoButton" href="http://eclipse.org/lyo/download.html">Download</a>
    <a class="btn btn-huge btn-default lyoButton" href="http://git.eclipse.org/c/?q=lyo">Source</a>
    <a class="btn btn-huge btn-default lyoButton" href="http://wiki.eclipse.org/Lyo">Docs</a>
  </div>

  <h2 class="h2">Lyo Features</h2>

  <div class="gutter">
    <h3 class="h3">SDK</h3>
    <p>We&rsquo;ll provide the pieces to get your client or server up and running with OSLC. We&rsquo;re focusing on
      Java initially; however, JavaScript and other languages will soon follow.</p>
    <p><a href="http://wiki.eclipse.org/Lyo/LyoOSLC4J">Learn more</a></p>
  </div>

  <div class="gutter">
    <h3 class="h3">Test suite</h3>
    <p>Utilize a test suite to help build interoperable OSLC tools.</p>
    <p><a href="http://wiki.eclipse.org/Lyo/LyoTestSuite">Learn more</a></p>
  </div>

  <div class="unit lastUnit">
    <h3 class="h3">Reference implementations</h3>
    <p>See how OSLC works directly with working samples and with a simple server to test against.</p>
    <p><a href="http://wiki.eclipse.org/Lyo/BuildingOSLC4J">Learn more</a></p>
  </div>

</div>

<div class="footer">
  <a class="footerLink" href="https://dev.eclipse.org/mailman/listinfo/lyo-dev">Join the mailing list</a>
  <a class="footerLink" href="http://twitter.com/#!/oslcNews">Follow us on Twitter</a>
  <a class="footerLink" href="http://wiki.eclipse.org/Lyo/ContributorsGettingStarted">Contribute to Lyo</a>
</div>

<script>
  (function (i, s, o, g, r, a, m) {
    i['GoogleAnalyticsObject'] = r;
    i[r] = i[r] || function () {
        (i[r].q = i[r].q || []).push(arguments)
      }, i[r].l = 1 * new Date();
    a = s.createElement(o),
      m = s.getElementsByTagName(o)[0];
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m)
  })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
  ga('create', 'UA-24416914-2', 'eclipse.org');
  ga('send', 'pageview');
</script>

