You can provide services all day long and you don't have to provide the source code. It's when you ship a binary that you have to provide the source to the person buying it (or technically just downloading it if you give it away).
There are gpl-like libraries for which this is not true like the Affero GPL which is not as wifely used, but for the GPL itself this statement holds true.