Book Review: The Art of Unix Programming

I was recommended “The Art of UNIX Programming” by Eric Raymond (esr) from Joel Spolsky’s “Joel-On-Software” blog. The recommendation in it self warrants some comments, as Joel Spolsky normally is very much a Windows-kind of guy. Despite the title, the book definately has much to offer people who never touch UNIX as well.

esr focuses on the cultural aspects as much as the technical aspects. For organisations that are migrating into Unix infrastructure the ramifications of the Unix culture can be hard to grasp. In my experience, no other technical platform has as strong of a culture. esr does an excellent job of explaining the Unix mindset and how it influences the software on the platform. The heavy use of case studies from big open-source Unix projects helped me understand the factors very well. I was amused by the examples esr choose in the case-study of the cookie-jar format. I generally disagree with the political views of esr, but he is considerate enough to only preach Unix-philosophy in this book. (esr’s political writings define as extreme left-wing what in Norway would be considered the most right-wing parties. Oh well)

What I loved most about this book was probably its treatment of open-source. The subject of open-source is of course not specific to the Unix world. esr covers as diverse subjects as the economic justifications, the schism between the Free Software Foundation and the Open Source Initiative, practical management of open-source projects, and legal implications of open-source licenses. If you are considering using open-source in your organisation (and you really should be, if you are not already), you need to read the Licensing Issues of chapter 16. It is available online. Go ahead, read it now!

This section is directed to commercial developers considering incorporating software that falls under one of these standard licenses into closed-source products.

Having gone through all this legal verbiage, the expected thing for us to do at this point is to utter a somber disclaimer to the effect that we are not lawyers, and that if you have any doubts about the legality of something you want to do with open-source software, you should immediately consult a lawyer.

With all due respect to the legal profession, this would be fearful nonsense. The language of these licenses is as clear as legalese gets — they were written to be clear — and should not be at all hard to understand if you read it carefully. The lawyers and courts are actually more confused than you are. The law of software rights is murky, and case law on open-source licenses is (as of mid-2003) nonexistent; no one has ever been sued under them.


Three things I took with me from this book:

  • A lot of program design heuristics and ideas

  • Better understanding of the open-source model

  • An appreciation for the legacy and future of Unix

About Johannes Brodwall

Johannes is Principal Software Engineer in SopraSteria. In his spare time he likes to coach teams and developers on better coding, collaboration, planning and product understanding.
This entry was posted in Books, Software Development. Bookmark the permalink.

Comments are closed.