You don’t need to provide root access just because you used GPL code, you just have to follow the GPL.
Well, to follow version 3 of the GPL, you do actually need to provide effective root access.
Specifically, version 3 of the GPL adds language to prevent Tivoization.
It’s not enough to just provide the user with the code. The user is entitled to the freedom to modify that code and to use their modifications.
In other words, in addition to providing access to the source code, you must actually provide a mechanism to allow the user to change the code on the device.
The name “Tivoization” comes from the practice of the company TiVo, which sold set-top boxes based on GPL code, but employed DRM to prevent the user from applying custom patches. V3 of the GPL remedies this bug.
+1
From an order of magnitude perspective, the max is terabytes. No “normal” users are dealing with petabytes. And if you are dealing with petabytes, you’re not using some random poster’s program from reddit.
For a concrete cap, I’d say 256 tebibytes…