Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
This is the first major release for Eclipse iceoryx. That means it is the first release with long-term support and the adopters of iceoryx can rely on a stable API. The release called Almond allows for true zero-copy inter-process-communication on Linux, QNX and MacOS and provides C and modern C++ user APIs.
The project leadership certifies that the APIs in this release are "Eclipse Quality".
The codebase already has a mature architecture. There are the iceoryx_utils which provide abstraction layers for the operating system interfaces and STL like C++ library classes. Also, the communication stack has layers with clear responsibilities that allow the reuse of building blocks for different features on the user API level. One thing that was identified is that we need some repository refactoring. As the number of supported APIs is growing and optional features like the Eclipse Cyclone DDS gateway are added, we came to the conclusion that we should work with separate repositories. This is already done in a similar way for other Eclipse projects like Eclipse zenoh. We already introduced an own GitHub organization for iceoryx, https://github.com/eclipse-iceoryx. In the 2.0.0 release, we want to do the repository refactoring and move optional APIs like C or Rust in own repositories
No issues for Eclipse Cyclone DDS which is the only network interface
With this release, we want to launch the iceoryx website. This will be an additional source of information besides the GitHub website.
There is already a lot of documentation and examples on GitHub. The entry point on GitHub is the README markdown which provides background information, installation instructions and introduces the APIs. We also provide examples that show the capabilities of iceoryx with the C and C++ APIs. A CI pipeline is running on Github that builds and tests for several operating systems. We also wrote an article for the Eclipse newsletter that introduces iceoryx and there are others writing articles or doing presentations about iceoryx (e.g. SONY)
n.a. as this is the first major release
iceoryx doesn't follow a specific standard. One reason is that we want iceoryx to be used in many different frameworks. Some of these frameworks follow standards like AUTOSAR Adaptive or DDS. We are familiar with these standards and adopt the feature set accordingly to facilitate the integration of iceoryx. But the overall strategy is to have a feature set that allows a broad usage and not to focus on one specific standard which normally defines one specific API
As we are on Github, the main communication channel is via issues, discussions, and pull requests on https://github.com/eclipse-iceoryx/iceoryx. Additionally, we have a gitter channel to communicate with the community. When having a look at the stargazers of iceoryx, it can be seen that iceoryx has a worldwide community of users coming from academics and industry. Many users are coming from the robotics and automotive domain.
iceoryx is already used by other open-source projects and in commercial products. Some of the most active adopters are on our list of adopters. But there are others too, e.g. here . We also contributed our zero-copy communication philosophy to the open source robotic framework ROS to improve its performance
iceoryx started with committers from Bosch. Besides Bosch, Apex.AI is now one of the contributing Eclipse member companies. We have 11 committers and approx 30 contributors. There is a bi-weekly iceoryx developer meeting that was also announced in communities like ROS where iceoryx is used. Besides Apex.AI and Bosch other companies started to join the developer meetings and are interested in becoming a contributor
The full list is on a wiki page on GitHub. Unfortunately, some conferences have been canceled in 2020 because of Covid. E.g. we had a planned talk with iceoryx content for the AUTOSAR Open Conference 2020
Other Eclipse Projects:
There is a strong collaboration with Eclipse Cyclone DDS. We are currently combining these two technologies to come up with one middleware. Together Cyclone DDS and iceoryx can be used as a high-performance middleware stack for the open-source robotic framework ROS2. iceoryx is also used as one of the technologies in the Eclipse OpenADx working group