Lyo

The project has been created.

Lyo

The Eclipse Lyo project is a proposed open source project under the Eclipse Technology Container Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.

Description

The Eclipse Lyo project is focused on providing an SDK to enable adoption of OSLC specifications. OSLC (Open Services for Lifecycle Collaboration: http://open-services.net) is an open community dedicated to reducing barriers for lifecycle tool integration. The community authors specifications for exposing lifecycle artifacts through uniform (REST) interfaces and relying on Internet and Linked Data standards. OSLC's scope started with Application Lifecycle Management (ALM) and is expanding to include integrations across Product Lifecycle Management (PLM) and IT Service Management (ISM/DevOps), The proposed Eclipse Lyo project is designed to be a companion to the continuing specification efforts of the OSLC community. Its main purpose is to expand adoption of OSLC specifications and to enable the Eclipse community to easily build OSLC compliant tools.

Background

The OSLC community has collected initial components for an OSLC SDK in an open source project, the OSLC Tools Project, hosted on SourceForge.net. The OSLC Tools codebase includes reference implementations for some OSLC specifications, a test suite for validating OSLC provider implementations, and a set of examples and code snippets that aid in OSLC client and provider implementations. Contributions were made under an Apache-like contributor license agreement, and the content is currently distributed under the terms of the Apache Software License 2.0. The project has four committers. The intention of this proposal is to move the OSLC Tools Project, in its entirety, to Eclipse and to evolve the SDK in support of OSLC specifications.

Scope

The focus of the proposed Eclipse Lyo project is to provide an SDK -- including candidate reference implementations, test suites, and code libraries (including samples and examples) -- for enabling OSLC implementations by tools in the ALM, PLM, and IT Service Management across different languages and platforms.

Out of Scope

Eclipse Lyo is not a project tasked with creating OSLC compliant tools. Instead, it is a project that will create an SDK for enabling others to create OSLC-based tool integrations. Further, the project is not for general purpose linked data technologies, though it will certainly rely on other OSS projects for these capabilities (e.g. RDF triple store).

Why Eclipse?

The Eclipse Foundation and open source community have a well-established governance model and set of IP policies. Furthermore, its broad industry membership and its focus on development tools have affinity with the OSLC community scope and can help to further the Eclipse Lyo project goals.

The proposed Eclipse Lyo project complements other Eclipse projects like Mylyn and Orion. Mylyn is already aligned with OSLC and is creating client side implementations of OSLC specifications for bringing tasks into the developer IDE. Orion, with its web architecture and tooling, also has potential affinities as a client of OSLC implementations and may find benefit from the Eclipse Lyo project and OSLC SDK.

Initial Contribution

The initial contribution to the proposed Eclipse Lyo project will consist of the entire codebase that is currently part of the OSLC Tools Project at SourceForge. This includes:

  • Reference Implementations. Including Java EE based web applications that implement the OSLC lifecycle domain specifications for Change and Architecture Management. The main OSS dependencies are Geronimo Servlet API, Sesame/OpenRDF and the ANTLR parser generator.
  • Provider Test Suites. Java-based test suites designed to test implementations of each OSLC lifecycle domain specification. The main OSS dependencies are JUnit, Apache HTTPClient, Jena and OAuth.net libraries.
  • Example OSLC resources. Example OSLC resources in RDF/XML and other RDF format for educational and testing purposes.
  • Example OSLC provider and client implementations. In addition to the reference implementations, the OSLC Project provides other example OSLC implementations, including a JAX-RS and Apache Wink based client and server.
  • Tutorial example code. Educational examples such as the code to support the OSLC Tutorial and Primer.

The current codebase is mostly Java code with dependencies on permissively licensed open source libraries. Moving forward the project will encourage contributions of code, candidate reference implementations, test suites, and examples for other platforms and languages.

The table below lists the current dependencies of the OSLC Tools Project codebase that forms the initial contribution:

Note: in the case of a dual license, we elected to obtain and use the code under the license indicated in bold text

Name License URL
Aduna Commons 2.6, 2,7, 1.3 BSD https://repo.aduna-software.org/
Ant and Ant-launcher 1.7.1 ASL2 http://ant.apache.org
Antlr 2.7.7, 3.2 BSD http://www.antlr.org/
Commons Codec 1.3 ASL2 http://commons.apache.org/codec
Commons Collections 3.2.1 ASL2 http://commons.apache.org/collections
Commons Fileupload 1.2.2 ASL2 http://commons.apache.org/fileupload/
Commons HttpClient 3.1 ASL2 http://hc.apache.org/httpclient-legacy/
Commons IO 1.2 ASL2 http://commons.apache.org/io/
Commons Lang 2.3 ASL2 http://commons.apache.org/lang
Commons Logging 1.1.1, 1.0.4 ASL2 http://commons.apache.org/logging
Commons Pool 1.5.3 ASL2 http://commons.apache.org/pool
Concurrent Jena 1.3.2 ASL2 http://openjena.org/
Derby and Client 10.1.3.1 ASL2 http://derby.apache.org
Dojo 1.6 BSD / Academic Free License http://dojotoolkit.org/
DOM4J 1.6.1 Apache 1.1-style http://dom4j.sourceforge.net/
Geronimo J2EE API 1.1 ASL2 http://geronimo.apache.org
Geronimo JTA API 1.1.1 ASL2 http://geronimo.apache.org
Geronimo JMS API 1.1.1 ASL2 http://geronimo.apache.org
Geronimo JPA API 1.0 ASL2 http://geronimo.apache.org
Geronimo Servlet API 1.2 ASL2 http://geronimo.apache.org
HTTP Client 4.0.1 ASL2 http://hc.apache.org
HTTP Core 4.0.1 ASL2 http://hc.apache.org
ICU4J 3.4.4 MIT http://site.icu-project.org/home
Jackson 1.5.2 ASL2 http://jackson.codehaus.org/
Java Beans Activation Framework 1.1 CDDL/GPL2 http://glassfish.java.net/javaee5/mail/
JAXB API 2.1 and JAXB-impl CDDL/GPL2 http://jaxb.java.net/
Jena 2.6.3 (arq, iri, jena, json-jena) BSD http://jena.sourceforge.net
Jdom1.1 Apache 1.1-style http://www.jdom.org/
Jetty 6.1.24 ASL2 http://jetty.codehaus.org/jetty/
JSR 311 API CDDL http://jersey.java.net/
JUnit 4.8.1 CPL http://junit.org/
Log4J 1.2.13 ASL2 http://logging.apache.org/log4j/
Lucene Core 2.3.1 ASL2 http://lucene.apache.org
Maven 3.0 ASL2 http://maven.apache.org
OAuth.net v20090617 ASL2 http://code.google.com/p/oauth/
POI 3.7 ASL2 http://poi.apache.org
OpenJPA 2.0 ASL2 http://openjpa.apache.org
OpenRDF Sesame 2.3.2 BSD http://sourceforge.net/projects/sesame/
Serp 1.13.1 BSD http://serp.sourceforge.net/
SLF4J 1.5.11 MIT http://www.slf4j.org/
STAX API 1.0.1 ASL2 http://stax.codehaus.org
String Template 3.2 BSD http://www.stringtemplate.org/
Wink 1.1.1 ASL2 http://incubator.apache.org/wink
Wink JSON4J 1.1.2 ASL2 http://incubator.apache.org/wink
WS commons util ASL2 http://ws.apache.org/xmlrpc/
WSTX ASL 3.2 ALS2/LGPL http://woodstox.codehaus.org
Xalan 2.6 ASL2 http://xml.apache.org/xalan-j/
Xerces 2.7.1 ASL2 http://xerces.apache.org
XML Parser APIs 1.3.02 ASL2 http://xerces.apache.org
XML-RPC 3.1.3 ASL2 http://ws.apache.org/xmlrpc/

The OSLC Tools Project has not yet done any " releases " of software and so has had no reason to distribute dependent JAR files, but we do expect to create releases and distribute dependent binaries from the Eclipse Lyo project as parts of reference implementations, example bundles, and an SDK.

Legal Issues

The Eclipse Lyo project will be dual licensed under the EPL and the BSD (EDL). The proposed initial contributions are currently made available at SourceForge under an Apache 2.0 license. As the proposed Eclipse Lyo project is formed, these contributions will be made under the dual licenses stated above.

Committers

The following individuals are proposed as initial committers to the project:

Steve Speicher, IBM
Project Lead. Developed the OSLC Provider Test Suites, works on the reference implementations and other examples.
Olivier Berger, Institut Telecom
Contributed to design discussions, sample code in PHP format, oversight and OSLC specification effort. Implementer of the OSLC-CM provider for FusionForge.
Jim Conallen, IBM
Developed the initial version of the Reference Implementations including an OSLC-AM and OSLC-CM implementation. Implementer of OSLC-AM provider of IBM Rational Rhapsody Design Management
Sofia Yeung, Oracle
Contributed to design discussions, oversight and OSLC specification effort. Led OSLC-based integrations work with Oracle Team Productivity Center.
Robert Elves, Tasktop
Contributed to OSLC-CM specification and implemented Mylyn and Tasktop OSLC-based integrations.
Alberto Giammaria, IBM
Contributed to OSLC-CM specification and implemented the the IBM Tivoli Service Request Manager integration with IBM Rational Team Concert

We welcome additional committers and contributions.

Mentors

New Eclipse projects require a minimum of two mentors from the Architecture Council. You need to identify two mentors before the project is created. The proposal can be posted before this section is filled in (it's a little easier to find a mentor when the proposal itself is public).

The following Architecture Council members will mentor this project:

  • Mik Kersten
  • Mike Wilson

Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

  • Accenture
  • ARS Computer und Consulting GmbH
  • Ascendant Technologies
  • Atos Origin
  • BSD Group
  • Ericsson
  • General Motors
  • Green Hat
  • IBM
  • iTKO
  • Jubula
  • Oracle
  • Planview
  • River North Solutions
  • Siemens
  • Tasktop
  • Tieto
  • VMware
  • Zenika

Project Scheduling

Initial contribution is anticipated in July.

Changes to this Document

June 2, 2011 Initial proposal