I am a bit of a book worm, especially with technical books. I love nothing more than to extend my knowledge on my craft. I wanted to let you know about a book that I have been reading recently that is absolutely fascinating. The book is called, the Architecture of Open Source Applications.
The idea behind the book is simple. If you were an architect constructing buildings, you wouldn’t do so without studying how other buildings are constructed. The premise is the same for software. As a software developer / solutions architect, how can you design applications without first studying how other applications are designed and built? That is exactly what this book does. This book covers 25 open source applications and discusses how they were built and designed.
This book and its sequel (see further down) are free to read online at but you can get the paper version and kindle version from Amazon if required.
The applications included in this book are:
- The Bourne Shell
- Berkeley DB
- Continuous Integration
- The NoSql Ecosystem
- Python Packaging
- Riak and Erlang/OPT
- Selenium Webdriver
- Thousand Parsec
- Vis Tails
- Battle For Wesnoth
There is also a 2nd book in the series, but I haven’t read it yet. Again, this covers 24 open source applications and discusses their construction.
The applications in this book cover:
- Scalable Web Architecture and Distributed systems
- Firefox Release Engineering
- The Glasgow Haskell Compiler
- The Dynamic Language Runtime and the Iron Languages
- GNU Mailman
- Open MPI
Even if you are not interested in the actual applications discussed, these books do a good job of opening your eyes to how other systems are built. What makes this interesting is that all these systems are developed in different languages and on different systems. This is important as even if you are stuck in a .NET or Java world, these books open your eyes to alternative platforms and designs.
The books are structured as one application per chapter, so you don’t have to read them back to back. You can dip in and out of the book as you please. For the first book I would read about 3 or 4 applications per week whilst reading other books. This is probably a good way to go about reading them as there is really a lot of technical detail contained within.