Book Review : The Architecture of Open Source Applcations

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.

Amazon.com Paperback | Kindle

Amazon.co.uk Paperback | Kindle

Architecture of Open Source Applications

Architecture of Open Source Applications

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:

    • Asterisk
    • Audacity
    • The Bourne Shell
    • Berkeley DB
    • CMake
    • Eclipse
    • Graphite
    • Hadoop
    • Continuous Integration
    • Jitsi
    • LLVM
    • Mercurial
    • The NoSql Ecosystem
    • Python Packaging
    • Riak and Erlang/OPT
    • Selenium Webdriver
    • Sendmail
    • SnowFlock
    • SocialCalc
    • Telepathy
    • Thousand Parsec
    • Violet
    • Vis Tails
    • VTK
    • 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.

Amazon.com Paperback | Kindle

Amazon.co.uk Paperback | Kindle

Architecture of Open Source Applications 2

Architecture of Open Source Applications 2

The applications in this book cover:

    • Scalable Web Architecture and Distributed systems
    • Firefox Release Engineering
    • FreeRTOS
    • GDB
    • The Glasgow Haskell Compiler
    • Git
    • GPSD
    • The Dynamic Language Runtime and the Iron Languages
    • ITK
    • GNU Mailman
    • Matplotlib
    • MediaWiki
    • Moodle
    • Nginx
    • Open MPI
    • OSCAR
    • Processing.js
    • Puppet
    • PyPy
    • SqlAlchemy
    • Twisted
    • Yesod
    • Yocto
    • ZeroMQ

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.

Participate with Coding in the Trenches on Facebook

Participate with Coding in the Trenches on Facebook by Click the button above.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s