This review is going to be a bit biased. I have worked with Shakthi, seen him mentor new contributors, read about his workshops and sessions and over the years admired the virtues he has brought to the joyful business of software development using Free and Open Source Software model.
The book builds upon his (now famous?) presentation of the same name (available from his site) and adds a lot of the points he talks about. The book uses a lot of examples to illustrate the lessons or, recommendations. And most of these are taken from actual interactions on lists, IRC forums and conversations. Those who are involved in various FOSS communities and spend their time building up new contributors - they can relate to these. The not-so-new contributors can have a good chuckle and the would-be contributors can learn a lot of lessons. Shakthi takes time to talk about Software Engineering, mathematics and all the other things that traditional books on programming don't talk about and programmers often have blog posts on.
If, in a later/newer version, the non-text pieces ie. code-blocks or, email snippets etc can be highlighted in blocks, it would make for easier reading.
At first when I saw the photo of Shakthi Kannan with the book on his website I thought that he was holding some sort of banner and was looking for projects to work on :)
It's an excellent read for people who know how to code but are yet to digest the fine details of the trade. College students with no work experience are a perfect example. Shakthi covers a wide plethora of information (really wide) that programmers are expected to know. People who've learned Computer Science at home from books / online tutorials should definitely read it. I strongly feel it fills certain gaps that help smoothen your journey as a programmer.
I love the quotes that he mentions in the book. I've started following many of the authors of those quotes. The details that he stresses on are useful. For instance I remember him mentioning to be careful while posting to mailing lists as the mails are often stored permanently on those servers (I could instantly relate when I saw a few substandard emails and later learned that they were hosted on some email listing site). I've also understood the importance of a few things that he mentions months later when I encountered them at my job. I particularly like the resource section of the book, it helps me quickly glance things I want to read more about. He has also explained things quite well using real life examples. Many of the books / resources mentioned in the book are spot on (I've read many of the books he mentioned before reading his book and I can personally vouch for them). He doesn't leave out health and sanity. I was under the impression that RSI was a distant possibility (I was proved wrong again. People who I know very well have suffered in the past). I've realised that I am going to face more problems than I care to admit and on the bright side there are always going to be helpful sources that I haven't even considered. Many of the tips that he mentions will not be applicable to you at this very moment or help you solve your current problem but you'll find them useful sooner or later :)
If you've had even a little experience with online communities, have attended a few local meetups or have worked for sometime in a real work environment you might be aware of many things that he discusses in the book. You would still benefit if you glanced through a few sections of your interest. I am confident that you will stumble upon a few tips / tools that you wouldn't have been aware of.
If you're a veteran and are involved in open source development from quite some time, this book isn't for you. You'd be better off researching specific areas that you think you need to improve / streamline.
One line review Inspirational book for students who are at fresher level.
Detailed review The book is small and you can read it in a day or two. Author has mentioned most important points for new comer with proper amount of description and references. I will consider the words as big brother’s advice for the students. Some guidelines are too realistic. Even I had faced similar situations during my academic tenure. It shows how big experience the author is having. I bet your confusions with FOSS will mostly solved after reading this book. Following are the list of points I have noticed very common with freshers. Not allowing email address access to social networks. I faced similar situation with Badoo Importance of Sending Plain text emails Not replying to email digest Time management of project Avoiding last minutes changes in code Habit of daily committing the development Difference between shallow and fast vs deep and slow learning Taking project decisions without informing mentors in overconfidence Importance of programming language and not to go with high salary trends of the language in the market. Way of reporting a bug Importance of automated build and deployment systems Various types of documentation and their use Value of reading and writing and how to improve them Benefits of attending conferences, hackathons.
Some references are repeatedly cited, I think they can be referenced commonly without repeating them at the end of chapter. Example of source codes are not written with proper font side. It is good to highlight keywords appropriately according to programming language. A common way can be highlight keyword with bold. Highlighting keywords will help reader while reading code. While informing students on mailing list it is good to guide with mail encryption technologies(GNUpG, etc). As a reader, I will prefer to have one common section of coding related guidelines rather than small section in many chapters.