COSMOS - Open source command and control software
I recently ran scc over the open source COSMOS code base and discovered we have over 225,000 lines of code (SLOC) with an estimated cost to develop over $21 million (avg wage $150k) and estimated schedule of 30 months with 23.5 people. This was somewhat surprising at first glance but it represents almost 20 years of work building COSMOS from a simple desktop telemetry parsing tool into the modern web first, containerized, microservice-based architecture it is today.
The COSMOS origin story begins in 2006 when Ryan Melton created a visual display for a satellite gimbal. After experimenting with telemetry parsing to enable his 3D visualization, the next step was commanding and the basic framework for COSMOS was born. COSMOS functionality and usage grew with each successive program using it until it became the de facto test software platform across the company.
In 2014 we started the discussion with management about open sourcing COSMOS. This was a difficult decision which involved many months and a variety of people weighing in. The primary arguments we made then still apply today.
At the time we open sourced COSMOS, our company wasn't widely known for producing test or operations software. Part of the open source sales pitch was to make public this software to educate the industry about our capability. This was generally very successful and NASA, Blue Canyon, and many others became heavy users of COSMOS. Having something that is free to use and try out is very powerful, especially among engineers. Engineers are naturally curious and giving them the software to experiment with has led to the majority of our business.
Anyone who is a software engineer should recognize that we're all standing on the shoulders of others who have created great open source software. The entire Linux ecosystem was created and flourished in this open environment. COSMOS itself uses a number of other open source projects which we have also contributed to. We wanted to give back to the open source community and help foster more adoption in the aerospace community.
Making software open source and available on a platform like Github enables people to engage with the software. They can ask questions, create bug reports, and even suggest code changes in the form of pull requests. A previously common misperception of open source is that anyone can change anything they want. The pull request is just that: a request to incorporate a change that the authors must explicitly review and approve. While we would love more pull requests, even issues with questions help mold the product into something that is easier to use for everyone. It also helps improve our documentation and the experience for new users.
OpenC3 was created in July 2022 by Ryan Melton and Jason Thomas to enable full time dedication to the original COSMOS vision: Make it easy to connect everything and bring it all together. We are fully committed to continuing the development of the open source COSMOS product as well as building a business. To that end we created COSMOS Enterprise Edition to create even more value for our customers and help them get up and running quickly and easily.
If you haven't yet tried COSMOS please install it now and see if it outperforms your old test or operations software both in ease of configuration and ease of use. If you're already a COSMOS Open Source customer, get in touch and let us accelerate your development with training and support contracts. If you're ready to move to the next level with users, scheduling, automation, cloud support, integrations, support and more, schedule a call with us and let us show you how Enterprise can benefit your organization.