Learn more

Goodreads

Rainbows End, by Vernor Vinge