{"id":15030079,"url":"https://github.com/opendds/opendds","last_synced_at":"2025-04-11T21:00:26.866Z","repository":{"id":27248794,"uuid":"30720952","full_name":"OpenDDS/OpenDDS","owner":"OpenDDS","description":"OpenDDS is an open source C++ implementation of the Object Management Group (OMG) Data Distribution Service (DDS). OpenDDS also supports Java bindings through JNI.","archived":false,"fork":false,"pushed_at":"2025-04-10T18:32:56.000Z","size":127430,"stargazers_count":1403,"open_issues_count":171,"forks_count":485,"subscribers_count":67,"default_branch":"master","last_synced_at":"2025-04-11T20:59:45.318Z","etag":null,"topics":["c-plus-plus","dds","java","opendds"],"latest_commit_sha":null,"homepage":"http://www.opendds.org","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenDDS.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-12T20:01:26.000Z","updated_at":"2025-04-10T18:33:01.000Z","dependencies_parsed_at":"2023-02-18T13:00:46.962Z","dependency_job_id":"ac62d3e7-2782-44b9-948a-061f4a372a57","html_url":"https://github.com/OpenDDS/OpenDDS","commit_stats":{"total_commits":19586,"total_committers":104,"mean_commits":"188.32692307692307","dds":0.8895639742673338,"last_synced_commit":"d7ace1c89388e2b4cd1b7d49f983f62f67bd83d6"},"previous_names":["objectcomputing/opendds"],"tags_count":294,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDDS%2FOpenDDS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDDS%2FOpenDDS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDDS%2FOpenDDS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDDS%2FOpenDDS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenDDS","download_url":"https://codeload.github.com/OpenDDS/OpenDDS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480435,"owners_count":21110936,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","dds","java","opendds"],"created_at":"2024-09-24T20:12:23.519Z","updated_at":"2025-04-11T21:00:21.260Z","avatar_url":"https://github.com/OpenDDS.png","language":"C++","readme":"\u003cimg src=\"docs/logo.svg\" alt=\"OpenDDS\" width=\"200\"\u003e\n\n# OpenDDS\n\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/opendds/badge.svg)](https://scan.coverity.com/projects/opendds)\n\nOpenDDS is an open-source C++ implementation of the Object Management Group's specification \"Data Distribution Service for Real-time Systems\" (DDS), as well as some other related specifications.\nThese standards define a set of interfaces and protocols for developing distributed applications based on the publish-subscribe and distributed cache models.\nAlthough OpenDDS is itself developed in C++, Java bindings are provided so that Java applications can use OpenDDS.\nOpenDDS also includes support for the DDS Security and XTypes specifications.\n\nOpenDDS is built on the [ACE](https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html#ace-tao) abstraction layer to provide platform portability.\nOpenDDS also leverages the capabilities of [TAO](https://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html#ace-tao) for IDL compilation and the OpenDDS [DCPS Information Repository](https://opendds.readthedocs.io/en/latest-release/devguide/the_dcps_information_repository.html).\n\nThe primary development of OpenDDS was done by\n[Object Computing, Incorporated](http://www.objectcomputing.com) in\nSt. Louis and Phoenix.  It is released under generous license\nterms similar to ACE, TAO and MPC.  See the [`LICENSE`](LICENSE) file for\ndetails.\n\n**Table of Contents:**\n\n* [Documentation](#documentation)\n* [Support](#support)\n* [Features](#features)\n* [Dependencies](#dependencies)\n  * [ACE/TAO](#acetao)\n  * [Perl](#perl)\n  * [Optional Dependencies](#optional-dependencies)\n* [Supported Platforms](#supported-platforms)\n  * [Operating Systems](#operating-systems)\n  * [Compilers](#compilers)\n* [Building and Installing](#building-and-installing)\n* [Quick Start with Docker](#quick-start-with-docker)\n\n## Documentation\n\n- The OpenDDS Developer's Guide is available at https://opendds.readthedocs.io/en/latest-release.\n\n- For developers wanting to contribute to OpenDDS, please read [the development guidelines](https://opendds.readthedocs.io/en/master/internal/dev_guidelines.html).\n\nOther documentation can be found in [`docs` directory](docs).\n\n## Support\n\nFor commercial support, please see https://opendds.org/support.html.\n\nQuestions concerning OpenDDS should be directed to [GitHub Discussions](https://github.com/OpenDDS/OpenDDS/discussions).\n\nIf you wish to file a bug report:\n\n1. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) OpenDDS on GitHub.\n2. Add a [minimum working example](#mwe) that demonstrates the problem.\n3. Create a pull request.\n4. Fill out the [PROBLEM-REPORT-FORM](PROBLEM-REPORT-FORM) and attach it to the pull request.\n\n### \u003ca id=\"mwe\"\u003eHow to make a minimum working example\u003c/a\u003e\n\n1. Create a directory `tests/DCPS/MyExample` (`MyExample` is a placeholder.)\n2. Add the IDL, code, and configuration files for the example programs.  Be sure to exclude any proprietary information as the submitted example will be public.\n3. Add an MPC file that builds the test programs.\n4. Add a launcher script `run_test.pl`.  Be sure to document the options.  See `tests/DCPS/HelloWorld/run_test.pl` for inspiration.\n5. Add a `README.rst` file that gives a high-level overview of the example and the problem that it illustrates.\n\nIt should be possible to build and run the example using `run_test.pl` as in the quickstarts for [Windows](https://opendds.readthedocs.io/en/latest-release/devguide/quickstart/windows.html) and [Linux](https://opendds.readthedocs.io/en/latest-release/devguide/quickstart/linux.html).\nIf the problem lies in the example, then GitHub's Pull Request interface will allow people to discuss, comment on, and propose changes to get the example working.\nIf the problem lies in OpenDDS, then the example is a new test case.\n\n## Features\n\nThis release of OpenDDS is based on the DDS Specification [formal/2015-04-10\n(version 1.4)](https://www.omg.org/spec/DDS/1.4).  It features the following\ntransport protocols:\n\n* TCP/IP\n* UDP/IP\n* IP multicast\n* RTPS over UDP/IP (unicast and multicast)\n* Shared memory\n\nRTPS (Interoperability) features are based on the [DDS-RTPS Specification\nformal/2019-04-03 (version 2.3)](https://www.omg.org/spec/DDSI-RTPS/2.3).  See\nthe OpenDDS Developer's Guide and the file [docs/design/RTPS](docs/design/RTPS)\nfor more details on RTPS.\n\nSee the [Developer's Guide](https://opendds.readthedocs.io/en/latest-release/devguide/introduction.html#specifications) for\ninformation on OpenDDS compliance with the DDS specification. If you would like\nto contribute a feature or sponsor the developers to add a feature please see\nthe Support section above for contact information.\n\n## Dependencies\n\nThese are just the required dependencies. For a complete detailed list of\ndependencies, including optional ones, see\nhttps://opendds.readthedocs.io/en/latest-release/devguide/building/dependencies.html.\n\n### ACE/TAO\n\nOpenDDS requires TAO for both IDL compilation as well as interaction with the\nDCPSInfoRepo. ACE is also required, but it is always included with TAO. If you\nwill be using the `configure` script for OpenDDS, you do not need to download TAO\nfirst -- the `configure` script will download it for you.\n\n### Perl\n\nPerl is used for the configure script, running the automated tests and examples\nincluded in this source tree, and generating Makefiles or Visual Studio project\nfiles.\n\nOn Windows we recommend the use of [Strawberry Perl](https://strawberryperl.com).\n\n## Supported Platforms\n\n### Operating Systems\n\nThis release of OpenDDS has been tested under the following platforms:\n\nLinux family:\n* Red Hat EL and CentOS 6.6, 6.8, 6.9 (x86\\_64)\n* Red Hat EL and CentOS 7.2, 7.3, 7.4 (x86\\_64)\n* Fedora 24 and 31 (x86\\_64)\n* Debian 9.4 (i686)\n* Ubuntu 22.04 LTS (x86\\_64)\n* openSUSE 42.1 (x86\\_64)\n\nWindows family:\n* Windows 7 (32-bit, 64-bit)\n* Windows Server 2012 R2 (64-bit)\n* Windows 10 (64-bit)\n\nEmbedded/Mobile/IoT:\n* LynxOS-178 (OpenDDS Safety Profile)\n* VxWorks 6.9, 7, 21.03 (see below)\n* [Linux on Raspberry Pi](https://opendds.readthedocs.io/en/latest-release/devguide/quickstart/pi.html)\n* [Android 9.0 \"Pie\" (API Level 28) NDK r18b](https://opendds.readthedocs.io/en/latest-release/devguide/building/android.html)\n\nWe have built OpenDDS for VxWorks 6.9, 7, and 21.03 and have run basic\nsystem and performance tests (but not the entire regression test suite).\nPlease see the [OpenDDS Support page](https://opendds.org/support.html)\nfor more information on support for ACE, TAO, and OpenDDS on VxWorks.\nDownload VxWorks RPM packages for ACE, TAO, and OpenDDS [here](https://objectcomputing.com/products/opendds/vxworks).\n\n### Compilers\n\nThis release of OpenDDS has been tested using the following compilers:\n\n* Microsoft Visual C++ 10 with SP1 (Visual Studio 2010)\n* Microsoft Visual C++ 11 (Visual Studio 2012) - Update 4\n* Microsoft Visual C++ 12 (Visual Studio 2013) - Update 5\n* Microsoft Visual C++ 14 (Visual Studio 2015) - Update 3\n* Microsoft Visual C++ 14.1 (Visual Studio 2017) cl 19.16.27048\n* Microsoft Visual C++ 14.2 (Visual Studio 2019) cl 19.29.30146\n* gcc 4.4.7, 4.8.5\n* gcc 6.2.1, 6.3.0\n* gcc 7.2.0, 7.3.0, 7.5.0\n* gcc 8.2.0, 8.2.1\n* gcc 9.3.1\n* gcc 12.2.0\n* Ubuntu clang 14.0.6\n* Ubuntu clang 15.0.0\n\n## Building and Installing\n\nFor building and installation instructions see\nhttps://opendds.readthedocs.io/en/latest-release/devguide/building/index.html\n\n## Quick Start with Docker\n\nSee the [Docker Quick\nStart](https://opendds.readthedocs.io/en/latest-release/devguide/quickstart/docker.html) for\nhow to use the pre-built docker image.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendds%2Fopendds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopendds%2Fopendds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendds%2Fopendds/lists"}