WS2003 redux
>Another perhaps more relevant question might be, why did Linux go with a signed number of seconds since "the beginning of the epoch"?
Because we all learned the lazy habit from K&R, who decided that strlen should return an int (was unsigned int even a thing in 1978?). That allowed all of us, me included, not to care very much about doing what was clearly the right thing. After all, we were never going to have more than 32,767 of anything, And an extra 9 characters is so hard to type.
Despite the bitter tone, I'm serious here. strlen in K&R C is where it all starts.