StarRocks is a source available software licensed under Elastic License 2.0. This license ensures our community and customers have free and open access to use, modify, redistribute, and collaborate on the code.
1. Why does StarRocks adopt Elastic License 2.0?
Elastic License 2.0 ensures our community and customers have free and open access to use, modify, redistribute, and collaborate on the code. We want to give both enterprise users and individual developers equal and complete access to the core features we are proud of while providing the company with more resources to ensure continuous innovation.
The adoption of Elastic License 2.0 has virtually no impact on the vast majority of the community. Similar agreements are already widely used, including Elastic Stack, Confluent, Redis Modules, etc.
With the open core mode, we believe we have found a way to balance open source code and commercial development. In the future, we will ensure sufficient resources are devoted to StarRocks' core research and development while working actively with cloud vendors to provide better products and services to our users.
2. What is the relationship between StarRocks and Apache Doris?
StarRocks was developed based on version 0.13 of Apache Doris (incubating) released in early 2020. We have adopted the framework and columnar storage engine from Apache Doris(incubating), while added a full vectorized execution engine, CBO optimizer, real-time update engine, and other important features. We are very grateful to Apache Doris(incubating) community for contributing such an excellent OLAP database.
Of the approximately 700K lines of code currently in StarRocks, about 40% is identical to Apache Doris(incubating), which is still under the Apache 2.0 license, leaving 60% as additions or modification.
3. Can you summarize what is allowed with the Elastic License 2.0?
Elastic License V2 (ELv2) is a license introduced by Elastic NV in early 2021. It is a very simple source available license. The license allows the free right to use, modify, create derivative works, and redistribute, with three simple limitations: (1)You may not provide the products to others as a managed service (2)You may not circumvent the license key functionality or remove/obscure features protected by license keys (3)You may not remove or obscure any licensing, copyright, or other notices
Currently, we have not provided any license keys in our software yet. However, if we provide them in the future, you also need to comply with the restrictions in (2) above.
4. Can you explain the meaning of "You may not provide the products to others as a managed service"?
A direct quote from ELv2: "You may 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."
Here are a few examples to help you understand this quote: I develop and sell a marketing SaaS, using StarRocks as the backend - this is permitted, because the functionality of a marketing SaaS is different from and additive to StarRocks. I provide my customers with StarRocks implementation services such as installation and deployment - this is permitted because I sell consulting and implementation services, not managed services. I provide StarRocks as a managed service, that is, customers can directly access most of the features of StarRocks by purchasing my service - this is not permitted. Adding a thin UI or shim layer does not make any difference - this is not permitted.
5. I am a developer. How does ELv2 affect me?
There is no significant impact on you. StarRocks is still under a source available license. And a big thanks for your attention to StarRocks. Please check the contribution guidance. Welcome to contribute to StarRocks and communicate with developers from all over the world!
6. My company has a policy against using code that restricts commercial use – can I still use StarRocks protected under ELv2?
First of all, you are more than welcome to use StarRocks internally in your company. ELv2 permits that kind of use. Secondly, if your company is not directly providing StarRocks as a managed service, it should not have a practical impact on you.
7. I built an application that embeds StarRocks, how does ELv2 affect me?
You are more than welcome to build and distribute your application based on StarRocks as long as you abide by the above three restrictions. Generally, applications built on top of StarRocks will not violate ELv2.
8. I have customized StarRocks, how does ELv2 affect me?
The ELv2 allows use, modification and redistribution, with the three restrictions summarized above. It should be noted that if you modify the software, you must include a prominent notice stating that you have modified the software in any copy of the modified software. You cannot change the licensing of StarRocks when you re-distribute it, of course.
9. What are the future plans for open development?
We will continue to build the StarRocks open development community. In the future, there will be more features developed in the open and provided for free. We also look forward to more developers joining the StarRocks family!