Do you truly think that Github does not do the same? Any service needs to modify your data on the backend for the good of the service, including copying it to multiple servers for backups and ensuring uptime during a server failure.
They do not need to distribute your code, i.e. making your repo public - this is part of their service and you grant them the right to do so when you make it public.
Do they need to use your source code - well not explicitly as such, but they do modify it when displaying it back to you - look at any source code page, it is modified source code.
This is all in the auspices of giving you a good service.
Furthermore, any fork network modifies your repo - it is all one repository. So in essence, you are modifying people's repos without them knowing.
They do not need to distribute your code, i.e. making your repo public - this is part of their service and you grant them the right to do so when you make it public.
Do they need to use your source code - well not explicitly as such, but they do modify it when displaying it back to you - look at any source code page, it is modified source code.
This is all in the auspices of giving you a good service.
Furthermore, any fork network modifies your repo - it is all one repository. So in essence, you are modifying people's repos without them knowing.