k6 licensing is AGPLv3. So are we allowed to use it as an internal performance testing tool if we are SaaS ? This does not involved packaging/redistributing the code or will be part of the deployment of the SaaS service. This information is crucial for us to choose k6.
Hi @vkolgi. Thank you for asking. You and I already cleared this up earlier over Slack but I’ll post here as well as this community forum is more public.
Yes, you’re absolutely allowed to use the opensource k6 load testing tool internally in your company under the AGPLv3 license, without a need to buy a separate license or pay us (Load Impact) money. That’s why we released it as opensource in the first place, our ambition is to provide the best developer experience for load testing and through that lens we don’t see the load generation tool itself as the primary business value we provide but rather the SaaS convenience and performance engineering expertise and guidance that we provide on top of it.
With that said, there are two primary “restrictions” of AGPLv3 when it comes to how the source code can be used:
You can’t make modifications to k6 and distribute the modified version without also making the source of that modified version available under AGPLv3.
If you statically or dynamically link any part of the k6 codebase with some other code (a derivative work), the license’s copyleft virality is triggered and that other code also needs to be made available under AGPLv3. When it comes to using the k6 binary and interacting with it from another process or over a network it is not certain exactly how the copyleft virality would apply from what I’ve been told by lawyers with OSS license knowledge.
The two points above have been summarized as follows by https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0):
You must disclose your source code when you distribute, publish or serve (i.e. through a web portal) modified or derivative software.
I hope that helps to clarify the licensing for you and anyone else that finds this thread in the future
I have a similiar case as vklogi, but i want to integrate k6 binary with my maven package plugin, to run benchmark tests, can i do this ?
Hi @victorpasqualino, yes using k6 to run benchmark tests with Maven is ok
I want to make sure I understand the licensing correctly, can you help me out with the following case:
In case the answer is no to the above question. What happens if I buy the Developer subscription, how does the license apply then? Will I still be bound to pulish my scripts?
Yes, absolutely. You can run k6 locally or in kubernetes, and keep your test cases private. You don’t need buy a subscription from us to do that.
The OSS license (AGPLv3) controls what can be done with the k6 source code, in terms of modifications, distribution and running it as part of an offered service etc.
Hope that clarifies it
I’m a little confused with Open Source and paid Cloud k6 versions. Is k6 free for using on our own distributed cloud load generation infrastructure? Here https://k6.io/blog/comparing-best-open-source-load-testing-tools is said that distributed load generation is available only in premium.
Could anybody clarify it?
It is, if you can make it work. Distributed execution natively in k6 is not quite ready for prime-time yet, though if you can spend a bit of time working around the issues (e.g. spin up some central metrics storage like InfluxDB), you can use it without paying us anything. Watch Clustering and distributed execution · Issue #140 · loadimpact/k6 · GitHub for updates on our effort to build native distributed execution, as well as some information on how to spin up something right now (eg. this post or GitHub - k6io/operator)