| <!-- |
| This document is provided as a template along with some guidance for creating |
| your project proposal. This is just a template. Feel free to change it as |
| you see fit (add sections, remove section). We feel, however, that the |
| suggestions represented in this document represent the reasonable minimum |
| amount of information to move forward. |
| |
| Please keep the formatting in this document simple. Please do not edit |
| this document in Microsoft Word as it adds huge piles of markup that make |
| it difficult to restyle. |
| |
| More information is available here: |
| |
| http://wiki.eclipse.org/Development_Resources/HOWTO/Pre-Proposal_Phase |
| |
| Direct any questions about this template to emo@eclipse.org |
| --> |
| |
| <html> |
| <head> |
| |
| <!-- |
| Include the title here. We will parse it out of here and include it on the |
| rendered webpage. Do not duplicate the title within the text of your page. |
| --> |
| |
| <title>Concierge</title> |
| </head> |
| |
| <!-- |
| We make use of the 'classic' HTML Definition List (dl) tag to specify |
| committers. I know... you haven't seen this tag in a long while... |
| --> |
| |
| <style> |
| dt { |
| display: list-item; |
| list-style-position: outside; |
| list-style-image: |
| url(/eclipse.org-common/themes/Phoenix/images/arrow.gif); |
| margin-left: 16px; |
| } |
| |
| dd { |
| margin-left: 25px; |
| margin-bottom: 5px; |
| } |
| </style> |
| |
| <body> |
| <p> |
| The Concierge project is a proposed open source project under the <a |
| href="http://www.eclipse.org/projects/project_summary.php?projectid=rt">RT |
| Project</a>. |
| </p> |
| |
| <!-- |
| The communication channel must be specified. Typically, this is the |
| "Proposals" forum. In general, you don't need to change this. |
| --> |
| <p> |
| 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 <a |
| href="http://www.eclipse.org/forums/eclipse.proposals">Eclipse |
| Proposals</a> Forum. |
| </p> |
| |
| <h2>Background</h2> |
| |
| <p>Mobile and embedded devices have seen a tremendous growth in |
| adoption in the last years and are by now pervasively used. Both |
| user-facing devices (smart phones, tablets) as well as traditional M2M |
| applications such as sensing platforms or home automation gateways |
| require that software deployed to these devices can effectively |
| managed. OSGi and its ability of composing applications out of |
| software modules has been an important technology in this domain and |
| has its roots in this market. However, over time, OSGi implementations |
| have become more focused on machines with plentiful resources, |
| developed a large footprint, and became hard to embed into systems.</p> |
| |
| <h2>Scope</h2> |
| |
| <p>The scope of the Eclipse Concierge project is to remain |
| small-footprint and optimized for embedded devices while bringing the |
| framework to compliance with the current OSGi core specifications, |
| currently R5.</p> |
| |
| <h2>Description</h2> |
| |
| <p>Concierge is a small-footprint implementation of the OSGi |
| Core Specifications R3 standard optimized for mobile and embedded |
| devices. </p> |
| |
| <p>The following are the goals and plans for the Concierge project:</p> |
| |
| <ul> |
| <li>Bringing the framework to compliance with the current OSGi |
| core R5 specifications by aggressively focusing on the new and |
| future-proof features such as the generic requirement/capability |
| model and thereby keeping the footprint small. The target is in the |
| order of 300-400 kB Jar file size. Furthermore, the framework should |
| not only run on current and upcoming Java embedded profiles (e.g., |
| Java 8 compact profile) but it should also be possible to compile the |
| code with the JSR-14 target to run it on legacy Java 1.4 VMs like CDC |
| 1.1.</li> |
| <li>Keeping the source code compact and readable so that |
| interested people have a realistic chance of understanding the |
| internals of an OSGi framework.</li> |
| <li>Exploring new ways of integrating OSGi into mobile and |
| embedded system stacks.</li> |
| <li>Being a sandbox for experimental features and optimizations |
| for existing OSGi features that can be consumed by the Equinox |
| project.</li> |
| <li>Providing a platform for exploratory research on how to bring |
| the Java VM and the OSGi layer closer together to improve runtime |
| performance.</li> |
| </ul> |
| |
| <p>The following are the non-goals:</p> |
| |
| <ul> |
| <li>It is not a goal to run the Eclipse IDE on Concierge any time |
| soon.</li> |
| </ul> |
| |
| |
| <h2>Why Eclipse?</h2> |
| |
| <p>Eclipse has for a long time been a home for OSGi (the Equinox |
| framework implementation) and OSGi tooling (PDE, etc.). Even though |
| the Eclipse Foundation already has an OSGi framework implementation in |
| Equinox, we think that there is space for a new targeted effort around |
| mobile and embedded systems and we hope that the innovations created |
| through the Concierge project can help to improve Equinox.</p> |
| |
| |
| <h2>Relationship with Eclipse Projects</h2> |
| |
| <p>Concierge is an alternative implementation to Equinox of the |
| OSGi core framework. However, it has a distinct and different focus in |
| that it is targeted at highly constrained environments. Concierge and |
| Equinox will discuss possible collaborations and convergence in the |
| future. Furthermore, due to its smaller footprint and simpler |
| structure Concierge can serve as the sandbox for experimental work on |
| the OSGi core which can later be adopted by Equinox.</p> |
| |
| |
| <h2>Initial Contribution</h2> |
| |
| <p>The initial contribution would be the framework portion of the |
| code from the Concierge Sourceforge project |
| (http://concierge.sourceforge.net) by ETH Zurich. It could possibly |
| also include existing example code and unit tests.</p> |
| |
| |
| <h2>Legal Issues</h2> |
| |
| <p>ETH Zurich will confirm to the Eclipse Foundation in writing |
| that they will not make any claims to the name "Concierge" in |
| connection to the software. There are no known legal issues.</p> |
| |
| <p>Pending approval of the Eclipse Foundation Board, Concierge will |
| be dual licensed under Eclipse Public License 1.0 (EPL) and Eclipse |
| Distribution License 1.0 (BSD/EDL).</p> |
| |
| <h2>Committers</h2> |
| |
| <p>The following individuals are proposed as initial committers to |
| the project:</p> |
| |
| <dl> |
| <dt>Jan S. Rellermeyer, IBM Research (lead)</dt> |
| <dd>Jan is a committer on the ECF project where he has made |
| significant contributions over many years. He is also the author of |
| the Concierge Sourceforge project. Furthermore, Jan is the creator |
| and main contributor of the R-OSGi and jSLP project at Sourceforge.</dd> |
| <dt>Tim Verbelen, Ghent University</dt> |
| <dd>Tim will be working on the better integration of OSGi into |
| the Android software stack and on applications of OSGi for augmented |
| reality. He will likely get help from PhD students who have recently |
| joined his research group.</dd> |
| </dl> |
| |
| <p>We welcome additional committers and contributions.</p> |
| |
| |
| <h2>Mentors</h2> |
| |
| <p>The following Architecture Council members will mentor this |
| project:</p> |
| |
| <ul> |
| <li>John Duimovich, IBM</li> |
| <li>Benjamin Cabé, Sierra Wireless</li> |
| </ul> |
| |
| <h2>Interested Parties</h2> |
| |
| |
| <p>The following individuals, organisations, companies and projects |
| have expressed interest in this project:</p> |
| |
| <ul> |
| <li>Hans Kamutzki, MicroDoc GmbH</li> |
| <li>Werner Keil, Eclipse UOMo Project lead</li> |
| <li>Marco Carrer, Eurotech</li> |
| </ul> |
| |
| <h2>Project Scheduling</h2> |
| |
| <p>The Concierge project intends to make first code contributions |
| by July 2013 and start builds to be available shortly after that.</p> |
| |
| <h2>Changes to this Document</h2> |
| |
| <!-- |
| List any changes that have occurred in the document here. |
| You only need to document changes that have occurred after the document |
| has been posted live for the community to view and comment. |
| --> |
| |
| |
| <table> |
| <tr> |
| <th>Date</th> |
| <th>Change</th> |
| </tr> |
| <tr> |
| <td>3-July-2013</td> |
| <td>Clarification regarding Java 1.4 and addition of interested parties.</td> |
| </tr> |
| </table> |
| |
| |
| </body> |
| </html> |