Described in great detail in the wikipedia http://en.wikipedia.org/wiki/Year_2038_problem
The problem is caused because the date in unix time starts in 1901 and counts in seconds. Using a 32 bit integer, the furthest you can get without exhausting the count is the 31st december 2037.
It looks far away from now, but no doubt there will be some devices still existing at that time, maybe vintage. Someone will try to set the date and see that it is not possible. Disregarding any problem that could be caused by the software when calculating with future dates.
Probably some years before people will start to discover effects of this problem and sort it out. There will likely be robots that will program and fix it for us, humans.
By the way, in ruby this problem is not present since revision 1.9.2 🙂