A Closer Look at the Eclipse IoT Packages Project

In this article, I’ll explain how the Eclipse IoT Packages project aims to address the many challenges with Eclipse IoT projects to benefit IoT application developers and enterprises that deploy IoT applications. If you would like to learn more about the challenges with Eclipse IoT projects, read the accompanying article by my community colleague, Kai Hudalla.

The overall goal of the Eclipse IoT Packages project is to make it easier for people to choose and combine the Eclipse IoT projects that are offered today as individual building blocks. We want developers to be able to determine, within 15 minutes, whether a set of Eclipse IoT projects is relevant to their application and offers the right benefits so they can quickly decide whether they should invest more time exploring those projects.

Use Case Packages Showcase Project Potential

To achieve this goal, the IoT Packages project team is developing use cases that demonstrate how two or more Eclipse IoT projects can be used together to deliver particular functionality or address a particular challenge. Each use case will use Kubernetes as the base and will include:

  • A document that explains what developers can accomplish with the package and describes the basic steps to start using it
  • The Helm charts needed to deploy the Eclipse IoT projects in the package on the Kubernetes platform

Developers can simply download the use case package, install it, run it, and execute a few tests to determine whether the package meets their needs. It’s a “Hello World!” experience for this particular combination of Eclipse IoT projects. A use case package doesn’t give developers a complex set up for IoT application development, but it does give them a working set up that’s ideal for basic project evaluation.

To ensure the use cases are as relevant and helpful to as many developers as possible, we’re working to develop scenarios that are specific enough that people can easily understand what they achieve, but general enough to show they can be used in different ways. For example, we won’t focus on developing use cases that solve a very specific problem, or that apply only to a single vertical industry. 

Package Zero Is the First Step

The first package we’re working on is a good example of what we’re trying to achieve. This package, which has the working name Package Zero, includes:

  • Eclipse Hono for device connectivity
  • Eclipse Ditto for managing and organizing digital representations of physical objects —digital twins
  • Eclipse hawkBit for rolling out and managing software updates to IoT devices

It’s easy to see that this combination of functionality can be used across any number of IoT applications in almost any industry. We know we have Eclipse IoT community members with expertise and experience using and combining these projects, so it was a natural package to start with. 

Over time, we may also be able to provide packages of fully integrated Eclipse IoT projects. But providing use cases is our first major step toward helping IoT application developers quickly and easily select the right combination of Eclipse IoT projects for their goals.

Success Relies on Community Involvement

While Package Zero is being developed by the Eclipse IoT Packages project team, we don’t see packages as something that only we create for the community to consume. In the spirit of open source, and building on the work of others to extend and improve what already exists, we very much welcome package ideas and contributions from all members of the Eclipse IoT ecosystem.

Contributing to the project is pretty simple. A new package must showcase your vision for combining two or more Eclipse IoT projects, and it must include documentation that describes the value this combination provides. To contribute an Eclipse IoT package, you also need to be an Eclipse committer. If you’re not currently a committer, this may be the right time to become one.

Once an Eclipse IoT package is released, we’re also very interested in ideas for expanding it with one or more additional IoT projects. We’d love to see IoT use cases strengthened in this way and we strongly encourage you to keep that possibility in mind as you use Eclipse IoT projects and work with use cases such as Package Zero and those that follow.

Here are just three of the additional benefits we will realize when the Eclipse IoT community strongly engages and participates in creating and building up IoT use case packages:  

  • Developers who are new to the world of IoT applications can browse a broad selection of Eclipse IoT use cases to get ideas for IoT applications and educate themselves about what’s possible. For example, they may discover a use case that enables an IoT application that’s ideal for their enterprise employer. Or, they may find a use case that solves a problem they didn’t realize they were likely to encounter when developing their IoT application.
  • Developers can look for use cases that jumpstart their development efforts to save time and money. For example, they may find a use case that provides 80 percent of the functionality they need, so they only need to invest significant time in the remaining 20 percent. In the ideal scenario, they then contribute the final 20 percent back to the Eclipse IoT community to improve the original use case for others.
  • Developers and enterprises that specialize in IoT application development and deployment, or a specific area of IoT, can establish themselves as IoT community and industry thought leaders by contributing advanced and innovative use cases, and by improving existing use cases.

More Information to Come

As we get closer to the release of our first use case package, we’ll be updating the Eclipse IoT Packages project web page with more information and adding content to the GitHub repository. You’re also very welcome to use the GitHub issue tracker to provide feedback, make comments, or ask questions.

When you’re exploring the information and resources that we make available, be aware that we’re trying to build the Eclipse IoT Packages project in an open environment, so everyone can see what we’re doing. Obviously, that comes with challenges. We welcome your comments and honest feedback and we encourage you to make suggestions, but please keep in mind that this is very much a work in progress and we’re still in the early stages of the project. 

In the meantime, if you would like more background about how the Eclipse IoT Packages project started and the IoT projects in our first package, read my blog about our evolution from building blocks to IoT solutions

About the Author

Jens Reimann

Jens Reimann

Principal Software Engineer, Messaging & IoT
Red Hat