No, it rolls over to 1901. time_t is a signed value, and 2038 is when it rolls over from 2³¹ - 1 to -2³¹. That would be 2 billion seconds before 1970, or 1901.
If our Unix forefathers had the foresight to make time_t unsigned, then we wouldn't have to worry about this problem until after 2100.
I would guess, when originally suggested, it was $current_year + 2 decades.