As far as I know, it's always been that if you distribute something with GPL code, you must make the source available to anyone that requests it. Not only to your customers. One can change though, for the costs of making it available.
The thing you mentioned is applied to licensing. A person is only under obligations by the license if he/she distributes anything that uses GPL code. If people only run a piece of GPLed software, or if they make changes only for personal use, they're not under GPL license obligations.
That's only true if you're operating under section 3(b) of the GPLv2: explicitly offering source via mail order. If you offer GPLv2 source via mail order, you have to honor mail order requests from anyone. However, you aren't required to offer the source via mail order at all, as per section 3.
In the GPLv3, the analogous section, 6(b), is actually further constrained: if you explicitly offer GPLv3 source via mail order, you're only obliged to honor requests from people that have the object code in their possession.
I've replied with my understanding of it in more details to your other comment at http://news.ycombinator.com/item?id=5030865 (in case other people want to follow the conversation).