When is Open Source the Right Solution?
OpenDDS Middleware vs. Commercial DDS Products
Much has been written comparing the advantages and disadvantages of open source software versus commercial off-the-shelf products, and Data Distribution Service (DDS) implementations are no exception.
While there are organizations that are proponents of commercial software options, many modern organizations recognize the value and flexibility to be gained by leveraging open source solutions and have discovered that OpenDDS technology provides powerful, secure, and scalable support for mission-critical and real-time applications.
The Difference Between Open Standard and Open Source
An open standard is a standard that both:
- Is publicly available
- May have multiple implementations available
Open standards are designed to give users flexibility by ensuring portability and interoperability across implementations. Users are free to choose which implementation to use based on factors such as cost, reputation, and quality of service, thereby avoiding becoming locked in to a particular vendor’s product.
Open source software is computer software for which the source code is released under a license granting users various rights, which may include the rights to study, change, and distribute the software for a variety of purposes.
An open standard is not the same thing as software that is open source. The Object Management Group (OMG) publishes and maintains the DDS family of open standards. Object Computing, Inc. is a member of the OMG. Open standards are necessary to build open systems, but to take advantage of the technology defined by the standard, users need implementations.
The OpenDDS project, an open source implementation of DDS, brings users the benefits of both open source and open standards to facilitate secure and interoperable connectivity and data exchange among diverse systems.
The OpenDDS implementation is a completely open-source project with all source code available on GitHub. The OpenDDS project is NOT:
- An "open core" project that provides some components as open source and requires paid licenses for other components
- A "community edition" which is often an older, scaled-down, or limited edition of another product
- A one-way transfer of code from Object Computing's developers to the GitHub project
Open Source vs. Commercial Software
When deciding between an open source DDS solution versus a commercial implementation, the benefits of open source are compelling.
Reduced Costs and Simplified Operations
First, open source technologies provide organizations a level of control that's unavailable with commercial software solutions. Open source software can be tailored to meet specific user needs, enabling rapid innovation and risk mitigation.
Open source software also offers organizations significant cost savings. With no runtime licensing fees, users of open source technologies can deploy as many copies as they need with zero additional cost.
Furthermore, access to the source code provides users of open source technologies the flexibility to modify, extend, and add features to the software as needed.
And finally, open source technologies are constantly used, scrutinized, tested, improved, updated, and documented by the open source community, backed by private organizations, government agencies, and academic institutions. Thanks to this growing and able community, open source technologies based on open standards are designed and developed to be interoperable, scalable, predictable, and secure.
Organizations that choose to adopt open source technologies experience gains in efficiency and business or operational flexibility through this ability to tailor open source solutions to their needs.
Open source gives organizations access to a vast and growing community of skilled developers whose expertise drives technological transformation. Open source solutions are continually enhanced and tested across a wide range of use cases and domains.
The OpenDDS project features advanced security capabilities.
OMG's specification for DDS security includes, and the OpenDDS implementation supports:
- Authentication of Participants
- Participant identities determined by certificates signed by a common Certificate Authority (CA)
- Access Control by Topic
- Configuration files (signed by CA) determine which applications have access (read/write/both) to which topics
- Data Protection via Encryption and/or Message Authentication
- Topic-by-topic configuration determines whether to encrypt or only sign network messages
- Scope of data protection is also configurable: payload only or including headers
The dedicated open source community ensures scrutiny to identify and eliminate security threats, bugs, and flaws, while making sure that open source technologies are continually maturing.
The same cannot be said for commercial DDS implementations.
New releases of commercial DDS implementations often require a revised testing process and may call for costly infrastructure upgrades, additional training, or additional licensing fees. It is not uncommon that by the time a piece of commercial software has been tested with the same rigor as its open source counterpart, a new iteration of the open source software counterpart has already been released.
Additionally, open source software projects are often more responsive to users than a commercial software vendor. Since the source code is open and available, users can collaborate with the project team to improve the code, including directly contributing changes themselves. Users can influence project priorities through funding, leading to quick turnaround on issue resolution or new feature development.
Importantly, the core OpenDDS project cannot be changed by the community unchecked. It is a managed solution, and our team reviews all contributions regardless of origin; not all contributions are accepted. External contributions go through the same rigorous testing process that the team at Object Computing uses.
Direct Access to Customizable Code
The ability to customize code enables more agile and effective progress.
Open source technologies are extensible and reusable. With direct access to the source code, users of open source have the flexibility to evaluate and adapt software and systems as needed. This results in solutions that truly fit the needs and goals of their users.
Additionally, putting the code directly in the hands of developers reduces technical debt by allowing organizations to evaluate, modify, extend, and add features to software in real time, as needs inevitably evolve.
Where Is OpenDDS Technology Being Used?
Today, the OpenDDS project is the secure and scalable connectivity framework connecting and powering next-generation systems, including military vehicles, industrial automation systems, IoT and home automation applications, sonar and other sensor integration systems, satellite telemetry tracking and control networks, robotics frameworks, and avionics systems.
As a leading standards-compliant open source connectivity framework, the OpenDDS project is designed to meet the requirements of these mission-critical systems and is proven in globally adopted product lines across commercial and government markets.