Compatible by Smith, Richard R.
 is a Project Gutenberg book, now on Github.