I am making a website and the website components are one master server and a lot of slave VPS, as usual the VPS providers will rent those servers to me. The website will use a module which is under GPLv3 licence. Now my question is does copying the module to each VPS considered a distribution given that I don't own those VPS?
If your software includes GPLv3 modules you can only distribute it under the terms of the GPLv3, and you have correctly noted that it is now relevant to consider whether the given scenario is a kind of distribution.
The GPLv3 doesn't directly talk about distribution, but about propagating and conveying the software:
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. […]
So “conveying” is the special case of “propagation” that enables other parties to make copies. This raises the question whether the VPS provider is such an other party.
Before we come to that, the GPL makes it clear that you can run software that you do not convey, without any restrictions:
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force.
For example, you can copy the software to your servers without any restrictions.
I would argue that the question is settled at that point. Since you control the VPSes they are effectively your servers. You are not giving your software to the VPS provider, the VPS provider is giving you the VPS and you are then running the software on the VPS.
The GPLv3 adds additional clarification:
You may convey covered works to others for the sole purpose of having them […] provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
So even if you convey the software to the VPS provider (i.e. give them your software in a way that would enable them to make copies) this will not give them any permissions under the GPLv3, as long as:
- you “comply with the terms of this License in conveying all material for which you do not control copyright” – i.e. keep the copyright and license notices of the GPLv3 modules intact,
- they run the software “exclusively on your behalf, under your direction and control” – this should be the case for a VPS, and
- you and the VPS provider have a contract that “prohibit them from making any copies of your copyrighted material outside their relationship with you” – something like this should be part of the Terms of Service of any VPS provider anyway.
It is important that the GPLv3 explicitly allows this because a contract that deprives anyone from exercising their rights under the GPL would usually be a GPL violation (see also “further restrictions” in Section 7). The important part is that VPS providers are not “other parties” in the definition of conveyance, but service providers to you.