Does factory unlock or GSM unlock mean I can put it on any service?
GSM Unlocked


The iPhone comes in two different models: GSM and CDMA. The GSM iPhone supports carriers including Cricket, AT&amp;T, and T-Mobile. The CDMA iPhone supports carriers such as Sprint and Verizon. Buying a GSM Unlocked iPhone means that it is unable to support Sprint and Verizon and would not work with those carriers; a GSM iPhone works only with Cricket, AT&amp;T, and T-Mobile. No single iPhone works with all the major carriers.


  Factory Unlocked


Buying an unlocked iPhone means the contract it originally came with expired; it means you could put in any SIM card from any of the supported carriers on that iPhone. Whereas a locked iPhone is under contract with the carrier whose SIM card is in the phone, an unlocked iPhone is fully out of contract. Make sure it is GSM if you want Cricket, AT&amp;T, or T-Mobile, or CDMA if you want Verizon or Sprint.



Also, a piece of advice: I highly recommend not purchasing an iPhone 4. Though it is definitely inexpensive, it is far out of date (about 5 years old, that's a  long time) and performance will be very poor. It hasn't received a software update in 3 years, and it is stuck on iOS 7 (iOS 10 is about to come out). It is a much better to fork over a bit extra for an iPhone 5C (still slow but not bad) or an iPhone SE (more expensive but definitely top-of-the-line, only $400). If you can't afford the iPhone 5C, I would recommend purchasing your son an inexpensive Android phone like the Blu R1 HD which is much faster than an iPhone 4, runs the latest version of Android, and is only $50.



If you need a phone that works with any carrier Go for the Nexus 5X, Nexus 6, or Nexus 6P. They come with all the bands needed (both GSM and CDMA) for Verizon, AT&amp;T, Sprint, T-Mobile, MetroPCS, US Cellular, Project Fi (a new low-cost carrier by Google), Cricket, and more.