Other Things Being Equal by Wolf, Emma
 is a Project Gutenberg book, now on Github.