Nyx is free, and we mean it in two ways: It's like 'free food', meaning you can use it without any cost, and like 'free speech', meaning you have the freedom to study, modify, and distribute the software.
The Nyx astrodynamics library is released under the AGPLv3 open source license. This license grants broad permissions to use, modify and distribute the software, but has a "copyleft" requirement - derived works must also be released with the same open source license.
While you can use Nyx for commercial purposes and build proprietary software, if you distribute software that interacts with or includes Nyx, you must provide your source code and give end users the same rights as the AGPLv3 license. This applies regardless of whether your software is desktop, web-based or hosted as a service.
The goal of the AGPLv3 is to guarantee end users freedom, encourage collaborative development, and promote the openness of derived works. By building on Nyx, your project also benefits from these protections and contributions from the community.
You have broad permission to use, modify and distribute Nyx commercially or privately, but interacting with or bundling Nyx does require providing your source code and the same AGPLv3 rights to end users. The goal of this requirement is to maximize benefits for both individual users and the open source community as a whole.
What is an open source license?¶
An open source license grants permission to freely use, modify, and distribute software and its source code. The license dictates the specific terms and conditions of how that software can be used and distributed.
What is the AGPLv3 license?¶
The AGPLv3 is an open source license that guarantees end users the freedom to run, study, share, and modify the software. It requires that the source code of any projects that use the licensed work also be open and available to end users. In summary, the AGPLv3 allows for broad freedom and use of software, with some requirement of "copyleft" - that is, derived works must also be open.
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. Specifically:
- If you redistribute Nyx itself, or a modified version of Nyx, the copyleft requirement applies and you must release the source under AGPLv3.
- If you link to or bundle Nyx in your own software, the copyleft requirement typically applies and you must open source your software under AGPLv3.
- If you use Nyx to build a hosted service, any interaction exposing a Nyx API or component to users triggers the copyleft requirement. You must provide your source code and ensure your terms allow freedoms equivalent to AGPLv3.
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. However, if you are uncertain how AGPLv3 applies to, or impacts your commercial plans, please consult legal counsel.
We aim to clarify the terms and implications of AGPLv3 to empower users, but cannot provide legal advice for specific use cases. If additional concerns arise in your implementation or distribution of Nyx, submit an issue so we can attempt to address it. Our goal is advancing access to technology, not creating legal entanglements - so please let's work through any questions together! But ultimately, you assume responsibility for adhering to the license.
Does Nyx come with a warranty?¶
No, Nyx comes with no warranty. Think of it like adopting an astronaut cat. It could be a fantastic navigator, expertly maneuvering around space debris. But on the off chance it gets distracted by the moon's glow and causes a crash landing... well, that's unfortunate, but you were warned!
Just like our hypothetical feline astronaut, Nyx is thoroughly tested and validated to perform its tasks. However, in the vast expanse of software operation, unexpected situations can occur. If Nyx ends up sending you or your customer to crash land on the moon (or any other unexpected software behavior), please file a bug report. Despite being provided without a warranty, Nyx is committed to learn, grow, and avoid any future lunar mishaps.
What if I have more questions?¶
Please feel free to submit an issue on GitHub or contact the Nyx maintainers directly with any other questions you have about the AGPLv3 license or use of this software. We want to ensure you feel confident in leveraging Nyx's capabilities, and can provide additional details and clarification about the license terms. Our goal is to empower users while also protecting the openness and freedom of the Nyx project itself.
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. Together we can push the limits of what's possible in mission design and spacecraft navigation. To get started, simply fork the repository, make your modifications, and then open a pull request.
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!
If contributing to Nyx for an employer, confirm that you have rights to open source your work and that it does not violate company IP policies. Consider if a CCLA (Contributor Licensing Agreement) may be applicable.