A combination of increased movement of people, increasing nation-states and dual-nationality citizens means this is an issue which has become extremely complex and very hard to define. A black and white answer is no longer good enough to determine whether people can play for a nation or not. Really each case has to be looked at an individual basis.
For example, people here are saying country of birth only. But countless people are born in a country, never to ever see that land again. I was born in Singapore, but left after a month (I have only returned once). I have no emotional, family or cultural ties to that county. My parents only lived there for three years, I know nobody in that country and I didn't really enjoy it when I went. I have spent the other 21 years and 3 months of my life in England, but have only one English parent (a second generation from Irish immigrants) and a German parent. I could represent 4 countries, realistically, but England is the only one I would happily represent. Nevertheless, I would take Singapore if my ability meant I couldn't play for England.
If you look at somebody like Chalobah, he was born in Sierra Leone, has no English parents and only lived here for 4 years before he started to represent England. But I'm sure by that time, he would have told you he was culturally English. The situation is not dissimilar to for Raheem Sterling, Wilfred Zaha and was the case for Fabrice Muamba.
The issue to me comes down to cultural feelings to a nation (within reason). Mo Farah would certainly feel more British than Somali, hence why he represents GB. Kevin Prince Boatang on the other hand has never lived in Ghana, but factors in his upbringing may have led him to feel culturally Ghanaian due to his identity compared to 'native' Germans, lifestyle at home and friendship groups.
If there were an active policy by nations to nab talented youngsters just for the purpose of their national team, then there is a problem. But really it should be the player to decide due to culturally perceptions of who they are. Obviously I couldn't decide I am Spanish because I had a good holiday in Spain, but If I lived in Spain and felt an affinity to the people and the place more than anywhere else I had lived, who is anybody to question whether me when I declare myself Spanish?
I feel British due to personal circumstances in my life, not by some uncodefied manifesto of what being British is about.