DSDP/Packaging/Proposal

DSDP Packaging (D-Pack) is a proposed open-source sub-project under the Device Software Development Platform top-level project. The goal of this project is to enable multiple entry-level distributions of Eclipse that respectively provide turnkey environments for very specific developer communities found in the broader embedded systems marketplace.

Contents

Background

While usage of Eclipse continues to grow amongst embedded software developers, creation of turnkey (entry-level) downloads satisfying the needs of this community—not unlike what's currently provided through the EPP project—remains elusive for a number of reasons. For starters, the community of embedded software developers will always remain a very fragmented one due to the sheer diversity of the underlying hardware platforms targeted by this community—ranging from powerful multi-core SOCs capable of supporting Linux and Java, right down to resource-constrained 8/16-bit MCUs with little/no runtime support. Given this diversity, attempts to create a single distribution of Eclipse targeting embedded software developers would clearly become futile.

Making matters worse, any usage of Eclipse for embedded software development invariably requires integration of legacy host tooling (such as a compiler) along with legacy target content (such as an RTOS) specific to the hardware platform at hand. Not only do these elements maintain an existence outside of the Eclipse IDE per se, these tools and content often carry non-EPL licenses that would ultimately preclude their provisioning from any eclipse.org server.

Responding to this reality, turnkey Eclipse distributions (bundling the necessary tools/content) which serve specific segments of the embedded community do, in fact, exist outside of eclipse.org—whether provided by software vendors such as Wind River or by silicon vendors such as Texas Instruments. The Wascana project at SourceForge–providing a turnkey Eclipse/CDT distribution for Windows development–follows a similar pattern.

Scope

To reiterate, the goal of this project is to enable multiple entry-level distributions of Eclipse that respectively provide turnkey environments for very specific developer communities found in the broader embedded systems marketplace. As an initial objective, the project will focus upon a generic packaging methodology that can be adopted and tailored on a case-by-case basis to the needs of specific distributions serving particular embedded market segments.

From a technical perspective, the new Equinox p2 provisioning infrastructure affords an obvious starting point for any methodology formulated through this project's efforts. The clean separation between installation metadata and the installable artifacts themselves, for example, seems particularly responsive to some of the challenges of bundling legacy tools/content outlined earlier; the metadata and artifacts, as a case in point, might respectively carry different licenses as well reside at different sites. The ability to hierarchically compose installable units into larger (installable) entities also faciliates re-use of common sub-elements (say, a particular compiler) across multiple turnkey distributions ultimately served from different sites.

Recognizing that these turnkey distributions will ultimately be provisioned outside of eclipse.org—even some suitable baseline version of the Eclipse IDE containing CDT plus stock DSDP elements would ideally deliver a pre-populated list of p2 update sites which themselves might serve non-EPL tools/content—this project will proactively encourage and facilitate creation of external distribution sites required to deliver turnkey Eclipse-based environments to embedded software developers; such sites become models of the methodology and exemplars for others to emulate.

Strange as it may seem, this project may not necessarily deliver any source code—at least not in its initial phases. Rather, the project will serve as meeting point for collectively crafting a packaging methodology that serves the provisioning needs of the embedded communities already engaged with the CDT and DSDP, by effectively applying the existing Equinox p2 technology to the specific use-cases at hand. Without a dedicated eclipse.org project providing some necessary leadership, however, turnkey distributions of Eclipse serving embedded software developers will remain sparse, sporadic, and siloed.

Organization

This project would be lead by Bob Frankel, who recently retired from Texas Instruments after a long and productive tour of duty spanning three decades. Besides serving as one of the earliest advocates for leveraging the Eclipse/CDT framework as the backbone for TI's own IDE, much of Bob's effort throughout this decade has been focused upon developing and evangelizing RTSC—software technology that enables component-based development in C/C++ targeting diverse embedded platforms, which has formally joined the Eclipse/DSDP community through a project of its own.