It would be great to make an equivalent change here similar to what @osyoyu did in ruby/net-http#224!
Some justification copied over from that PR's description:
The builtin timeout in TCPSocket.open is better in several ways. First, it does not rely on a separate Ruby Thread for monitoring Timeout (which is what the timeout library internally does). Also, it is compatible with Ractors, since it does not rely on Mutexes (which is also what the timeout library does).