K6 licensing AGPLv3

Hi
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:

  1. You can’t make modifications to k6 and distribute the modified version without also making the source of that modified version available under AGPLv3.

  2. 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 :slight_smile:

1 Like

Hi robin,
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 :slight_smile:

Hi @robin,
I want to make sure I understand the licensing correctly, can you help me out with the following case:

I would like to write javascript or typescript scripts to test our API and I would like to run these tests with k6 that I install in kubernetes ( or my local machine for local development ).

Can I do this without having to publish my javascript/typescript scripts? My company does not allow publishing anything, so this is a very important question for us.

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?

Thanks,
letti

Hi @letti!

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 :slight_smile: