TECHNOLOGY ADVISORY BOARD MEETING

Date: 4/12/2023

Meeting Attendance:

Name Title Attended
Chris Gill Professor, Computer Science & Engineering, Washington University St. Louis
David (DJ) James Tech Director for Software, DRS Land Systems
Andrew Job Founder and CEO, Plotlogic X
Adam Mitz OpenDDS Product Lead and Distinguished Engineer,   Object Computing
Matt Mueller Enterprise Operations Branch Head, United States Navy X
Marc Neeley VP of Architecture, Object Computing X
Jason Schindler 2GM Managing Director, Object Computing
Johnny Willemsen CTO, Remedy IT
Justin Wilson Principal Software Engineer, Object Computing
Jen Wiese OpenDDS Community Engagement Manager, Object Computing

The Meeting Was Led By: Justin Wilson

Agenda

  • Transition to Unity Foundation
  • Future of the TAB
  • Priorities
  • Previous Release: OpenDDS 3.24
  • Next Release: OpenDDS 3.25
  • OpenDDS 4

Transition to Unity Foundation

  • https://opendds.org/news/2023/03/17/transition-to-unity.html
  • The Unity Foundation wants to use software and technology to help underserved communities
  • Part of their scope is incubating open source software like OpenDDS
  • OCI is no longer managing open source software Foundations and the day-to-day maintenance of OpenDDS
  • Unity Foundation is a not-for-profit which clarifies OpenDDS Foundation’s not-for-profit status => higher service tier at GitHub
  • OpenDDS core team members Justin Wilson and Fred Hornsey joined Unity Foundation in February
  • Practically, what does this mean?
    • 1 engineer (Fred) dedicated to the maintenance, development, and release of OpenDDS
    • ~.5 engineer (Justin) dedicated to OpenDDS Foundation business and occasional development
    • OpenDDS Foundation will continue to engage in support contracts, training, consulting, and open-source development
    • OpenDDS Foundation will not develop proprietary code
    • Same ambitions, different timeframe
  • Object Computing’s Role
    • Will have 1+ members on the Technology Advisory Board as well as the Board of Directors
    • OpenDDS Contributor
    • OpenDDS Foundation Ambassador Sponsor
    • Projects that include OpenDDS
      • For internal stakeholders or for clients
      • Resulting code may be open source or proprietary

Future of the TAB

  • The OpenDDS Foundation Technical Advisory Board will continue to act as the voice of the user community regarding development
  • The OpenDDS Foundation will be seeking out additional members to serve on the TAB
    • The OpenDDS Foundation requests that current members include project managers, architects, and developers in future TAB meetings

Schedule for future TAB meetings

  • From a scheduling perspective, the OpenDDS Foundation is attempting to
    • Publish a release of OpenDDS in the first or second week of each quarter
    • Have a TAB meeting the week after the release
    • The TAB meeting will review the most recent release and discuss items for the next release
    • During the non-release months, the team will focus on articles, webinars, and other community engagement initiatives

OpenDDS Foundation Priorities

  • Funded work
  • Increase the user base - make OpenDDS easier to use, support for container-based and cloud-based deployments, IoT scenarios, server-side deployments, monitoring, utilities, etc.
  • Increase the developer base - make OpenDDS easier to develop, modernize code base, architectural improvements, etc.
  • Maintainability - reduce the cost of maintenance and future development.

OpenDDS Releases

  • OpenDDS 3.24
    • April 2023
    • Core - bug fixes and performance improvements
    • Security
      • Participant can sign own permissions with single CA
      • Secure writers and readers in same participant couldn’t communicate
    • RtpsRelay - bug fixes and hardening
    • DynamicData/XTypes - bug fixes, improvements from testing
      • Added content filtering with dynamic data
    • DevGuide is now ReStructured Text in repository
  • OpenDDS 3.25: CMake
    • July 2023
    • Background
      • Users build OpenDDS using an optional configure script, MPC, and a build tool like make or Visual Studio
      • OpenDDS documentation steers users to MPC for their own projects
      • From demand, OpenDDS has some support for CMake for user projects
    • Objective
      • Configure and build OpenDDS using CMake
      • Complete support for using OpenDDS via CMake
      • CMake will become the default in OpenDDS 4.0 and MPC support will either be deprecated or dropped
  • OpenDDS 3.25: Runtime Configuration
    • Background
      • Parts of OpenDDS can be configured using command-line arguments
      • More parts can be configured using a configuration file
      • Even more parts can be configured programmatically via various APIs
      • Some parts can be reconfigured on the fly, e.g. the RtpsRelay
    • Objective
      • Add support for environment variables
      • Consolidate and simplify configuration
        • Everything can be configured via command-line, file, or environment variable
        • Will make OpenDDS application easier to deploy via containers
      • Support for multiple configuration files
      • Better support for dynamic reconfiguration
    • Methodology
      • Every configuration variable has a canonical name, e.g., OPENDDS_CORE_DCPS_CHUNKS
      • Process command-line options from left to right processing files as the come
      • Apply environment variables at the end
      • Command-line option to opt into the new behavior
      • Configuration key-value pairs stored in an “Internal DDS Topic”
      • Users can write configuration to the topic directly (or indirectly through existing APIs)
      • Components of OpenDDS that need dynamic reconfiguration will subscribe to the topic
  • OpenDDS 4
    • October 2023
    • Theme is removing things to enable future development
      • Upgrade compiler baseline to C++11/14
      • Remove JMS
      • Remove Excel plugin
      • Remove internal statistics collection
      • Remove monitor
      • Remove udp and multicast transports
      • Fold idl2jni into opendds_idl

What is “Internal DDS”?

  • Application of DDS concepts (Topic, DataWriter, DataReader, DataReaderListener) to the internals of OpenDDS to facilitate data sharing, modular design, and testing
  • A formal approach for reacting to changes in a decoupled way
  • Example: NetworkConfigMonitor
  • Internal: discovery, connectivity, transport
  • External: configuration, monitoring, statistics

Agenda for Next Meeting

  • Date: TBD in July 2023 (Evening)
  • Note: We are alternating mornings and afternoons (Central Time) to accommodate timezones for all TAB members
  • Topics: TBD

Q&A:

Dr. Gill: Summer Undergraduate project at Washington University (mirrors) - maybe add ROS…

Johnny: If OpenDDS Foundation is taking on Support, Training, etc, won’t that be another competitor to OCI and RemedyIT? - No

Johnny: Would be nice to have a heads up that a release is coming (2+ days notice) so people can prepare environments. Had some issues and testing takes quite a bit of time.