Challengers in Rust

Recently, I gave a look at the Rust ecosystem for Orekit’s related feature. And I found some challengers, I think.

First, I have to admit I have a superficial understanding of Orekit’s features. So, I’m clearly unable to evaluate if the challengers can effectively compete against Orekit or not. My journey is different. Java is a well established language, for years. The people contributing to Orekit and Hipparcus and Rugged did a fantastic job to propose efficient features on the Java ecosystem. But, nowadays, users look at Python. And interfacing Python and Java is not easy. I know some projects that failed to propose an efficient solution on top of Orekit+Rugged for Python.

This year, I decided to learn Rust by myself, and after passing the first learning step, I was impressed. So, naturally, I decided to look at the ecosystem related to Orekit’s features. I quickly identified two challengers:

So, I forged myself the feeling that something is happening with Rust in Space.
Did you experimented Rust for space?

Fun-fact, in Lox we can find a work in progress to wrap Orekit in Rust: Prototype Orekit integration by helgee · Pull Request #250 · lox-space/lox · GitHub
I imagine this could be a good reference to add in the Orekit website when the work will be done.

1 Like

Nyx smells really bad:

  • This component is released under GNU Affero GPL v3.0, a strong copyleft license which isn’t business-friendly, but if that were the only “problem”, I wouldn’t make a big deal out of it. It’s the copyright holder’s choice, and I respect that.
  • Nyx is an open core component, with certain “advanced” features reserved for the paid version. You might say that the company has to pay its developers and make a profit. Of course… But for a core component, I find this model frankly problematic and it already puts me off wanting to take an interest in it.
  • Obviously, with such a model, an asymmetric Contributor License Agreement is required, allowing Nyx Space to use third-party contributions in the commercial version that only this company can exploit. For me, asymmetrical CLA are a deal breaker. They destroy all trust and any possibility of constructive collaboration.

In light of these explanations, I invite you to enjoy the beautiful words found on the Nyx Space website, particularly the one in the “Can I use Nyx for commercial purposes?” and “External contributions” sections of the “Pricing” page:

Can I use Nyx for commercial purposes?

Yes, you are free to use Nyx for commercial purposes and to build proprietary software. However, any software that incorporates or depends on Nyx must also provide its source code and give users the freedoms that the AGPLv3 grants with Nyx. […]

The goal of these requirements is to protect user freedoms and encourage collaborative progress. By building on Nyx, your project also gains the benefits and protections of open source. […]

External contributions

We warmly welcome additions and modifications to Nyx! Contributing to open source projects benefits both individual users and the entire astrodynamics community. By building upon Nyx, your work gains the protections and access of the AGPLv3, and in turn contributes to tools available for all. […]

As stipulated by the license agreement, if you contribute code for which you hold a patent, you’re also granting Nyx users the permission to use that patented technology. This openness fuels innovation and ensures we all move forward together in our exploration of the cosmos. Let’s build a better Nyx, and in turn, a better future for astrodynamics!

1 Like

Nyx Space also provides GitHub - nyx-space/anise: ANISE provides a toolkit and files for Attitude, Navigation, Instrument, Spacecraft, and Ephemeris data. It's a modern replacement of the NAIF SPICE toolkit. under the MPL… and it is not based on Nyx but Nyx is based on ANISE :sweat_smile:

1 Like

I’ve been keeping an eye on satkit GitHub - ssmichael1/satkit: Satellite and Orbital Dynamics Toolkit, which looks interesting.

1 Like