Apollo FAQ on Licensing under Elastic License v2 (ELv2)
Our source code for Apollo Federation (including Gateway and Federation libraries starting with the v2.x versions, and all versions of the Apollo Router), the Rover composition add-on, and Workbench will be licensed under the Elastic License v2 (ELv2). Previous versions of the Gateway and Federation libraries (0.x) remain MIT-licensed.
We chose ELv2 because of its permissiveness and simplicity. We're following the well-paved path of other great infrastructure projects like Elasticsearch and MongoDB that have implemented similar source code licenses to preserve their communities. Our community and customers still have no-charge and open access to use, modify, redistribute, and collaborate on the code. ELv2 also protects our continued investment in developing freely available libraries and developer tools by restricting cloud service providers from offering Apollo Federation as a service.
The Elastic License v2 applies to our distribution and the source code of the Apollo Federation including its libraries, Apollo Gateway, Apollo Router. Our goal with ELv2 is to be as permissive as possible, while protecting our product and brand from abuse. The license allows the free right to use, modify, create derivative works, and redistribute, with three simple limitations:
- You may not provide the products to others as a managed service.
- You may not circumvent the license key functionality or remove/obscure features protected by license keys.
- You may not remove or obscure any licensing, copyright, or other notices.
Please reach out to us at email@example.com if you're unsure whether your use case falls outside these limitations.
I'm using the MIT-licensed 0.x version of the Apollo Federation gateway and libraries in my project. How does ELv2 affect me?
We will continue to actively maintain the MIT-licensed 0.x Apollo Federation packages until the end of 2022, by merging compatibility updates, bug fixes, security patches, and select feature enhancements. All 0.x packages will be published to npm, just as before. We want you to have a smooth and gradual migration to Apollo Federation 2 at your own pace.
ELv2 applies to the source code and any distribution (for example, on npmjs.com) of Apollo Federation v2 including its libraries, Apollo Gateway beginning with version 2.x releases, and all versions of the Apollo Router.
I'm a maintainer of a subgraph framework, library, or platform that supports Apollo Federation. How does ELv2 affect me?
It doesn't! The
@apollo/subgraph library will remain MIT-licensed for all versions of Apollo Federation, so you can freely embed it in any subgraph library, framework, or platform with full OSS license compatibility. For more information on how to make your subgraph library work with Apollo Federation, check out our subgraph maintainers guide.
I use the Apollo Federation Gateway, Router or libraries internally at my company. How does ELv2 affect me?
Your internal use won't be impacted at all. ELv2 allows you to use the software internally, and you may continue to use the default distribution of Apollo Federation, including Apollo Gateway, Apollo Router and related Federation libraries for free. Restrictions only apply if you plan to offer a routing service to third parties or remove any licensing key code. To access our Enterprise plan, you will need a subscription.
You may freely use Apollo Federation, including Apollo Gateway, Apollo Router and related Federation libraries inside your SaaS or self-managed application, and redistribute it with your application, provided you follow the three limitations outlined above.
I'm customizing the Apollo Federation libraries, Apollo Gateway or Apollo Router inside my application. How does ELv2 affect me?
You can make any modifications to the Apollo Federation packages (such as the router, gateway, or query planner), subject to only the three limitations summarized above. If you want to share those modifications with us, please see our contributing guide. If you have any questions, please reach out to us at firstname.lastname@example.org.
Yes, absolutely. You just need to adhere to the three restrictions summarized above.
No. Unlike GPL-style licenses, ELv2 does not require that you make your source code available. You just need to follow the three restrictions.
There are no changes for contributors under ELv2. Thank you for your contributions to Apollo! If you're interested in contributing to any of our projects, please read our contributing guide.
Absolutely! Open-source software is at the heart of what we do. We're grateful for the Apollo community and all your contributions. We are committed to developing our MIT-licensed projects you know and love, including Rover, Apollo Client, and Apollo Server, as well as pioneering new open-source graph technology. Relicensing Apollo Federation 2 to ELv2 helps us honor that commitment. It prevents bad actors from harming our community and protects our ability to build open-source software for years to come.
This limitation is intended to protect our software and brand by preventing folks from removing notice of the license, copyrights, or trademarks (such as the terms Apollo Federation and in-product logos). These notices communicate the license terms when redistributing the products. Open-source licenses such as MIT and Apache also require retention of copyright and permission notices in software copies, so this concept is not unique to ELv2.
Yes, permitted. There is no requirement to distribute or open-source your code.
Distributing a modified Gateway or Router that includes proprietary code as a product, like a console
Yes, permitted. Unlike GPL or SSPL, ELv2 is not copyleft. Your code remains closed.
Yes, permitted because you do not provide the software to third parties as a hosted or managed service, where the service provides users with access to any substantial set of the features or functionality of the software.
Providing Apollo Federation as a service, where customers have direct access to substantial portions of Apollo Federation, including Apollo Gateway, Apollo Router or Federation libraries
This use is not permitted under the new license. If you have questions about your specific scenario, please reach out to us at email@example.com.