The Architecture of Open Source Applications and over 2 million other books are available for Amazon Kindle . Learn more

Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Sorry, this item is not available in
Image not available for
Image not available

Start reading The Architecture of Open Source Applications on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

The Architecture Of Open Source Applications [Paperback]

Amy Brown , Greg Wilson
4.5 out of 5 stars  See all reviews (2 customer reviews)
RRP: £21.92
Price: £17.08 & FREE Delivery in the UK. Details
You Save: £4.84 (22%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon. Gift-wrap available.
Want it tomorrow, 1 Nov.? Choose Express delivery at checkout. Details


Amazon Price New from Used from
Kindle Edition £5.99  
Paperback £17.08  

Book Description

15 Mar 2012
Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well - usually programs they wrote themselves - and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes. This book's goal is to change that. In it, the authors of twenty-five open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to this book provide unique insights into how they think.

Frequently Bought Together

The Architecture Of Open Source Applications + The Architecture Of Open Source Applications, Vol. 2 + The Performance of Open Source Applications
Price For All Three: £46.01

Buy the selected items together

Product details

  • Paperback: 432 pages
  • Publisher: (15 Mar 2012)
  • Language: English
  • ISBN-10: 1257638017
  • ISBN-13: 978-1257638017
  • Product Dimensions: 18.9 x 2.5 x 24.6 cm
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 582,988 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, and more.

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Back Cover
Search inside this book:

Customer Reviews

3 star
2 star
1 star
4.5 out of 5 stars
4.5 out of 5 stars
Most Helpful Customer Reviews
4.0 out of 5 stars A lot for one developer 1 April 2013
Format:Paperback|Verified Purchase
This is the printed version of the set of papers you may downloaded from the website with the same name. So one should check for oneself if having the paper form is worth it. Note that all royalties go to Amnesty International, which I suppose is a Good Thing.

PLUS: The book is a good addition to the reading material of students making the passage from "programming in the small" to "programming in the large", so that they get an idea of what problems they may actually encounter and have to solve. The papers are also useful as intros to detailed studies of the systems they describe (in case one wants to help out and code a bit). One should not be afraid of technical details and have a general idea about program structure and implementation when reading this.

MINUS: The book should probably have been organized by themes. Instead of that, the papers come in alphabetical order of title. The bibliography might have been more extensive and an index would have been of some use. Finally, not everyone will be interested in all (or possibly even most of) the systems, problem areas or approaches explained herein.

WHAT THE HELL: The printed version has a problem with the f-ligatures - anywhere it is needed in the headings there are big jarring holes. Apparently the typeface used was incomplete and the editor asleep. The non-vector diagrams are fuzzy, evidently their resolution is not high enough for the printed form.

As said above, the book is not organized by themes, so let's do it here, in no other particular order.


* Berkeley DB (Margo Seltzer and Keith Bostic): For those who always wanted to know how a "serverless" database actually works.
Read more ›
Comment | 
Was this review helpful to you?
5.0 out of 5 stars Variable quality but really helpful. 1 Nov 2012
Format:Kindle Edition|Verified Purchase
This is a good book about real world software architecture and how it came to be. It consists of essays on many different software systems by the designers of those systems. As such some of the essays are less than useful due to repetition or writing where the author hasn't considered the best way to present his knowledge. These are far outweighed by the real world experience and architectural information handed out by people who've designed a very wide variety of successful software systems. This book will definitely inform my future software design.
Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on (beta) 3.6 out of 5 stars  9 reviews
25 of 26 people found the following review helpful
3.0 out of 5 stars Incorrect product description 13 Nov 2011
By scribble - Published on
Format:Kindle Edition
The product description states that you will learn "What are each program's major components? How do they interact? And what did their builders learn during their development?" Also, that you will learn how the "software is structured, and why". You will learn how the programs are structured and nothing else. Some of the projects do have a paragraph or two on what the developer would do differently, but some (Asterisk for example is the first chapter) has no discussion at all on anything other than how the code in the project works. It's sort of good to prepare you to look at the code, but the book doesn't actually meet it's stated goals of telling you "why" anything is the way it is.

I would have given 1 star since I feel lied to about what was most important to me, but the discussions on how the projects work are interesting enough to give the book some merit.

IMPORTANT: You can read the entire book for free on the author's site: [...]
6 of 6 people found the following review helpful
4.0 out of 5 stars Lessons and patterns of Open Source 15 Jan 2012
By Ilya Grigorik - Published on
The book covers 25 different open source projects, some of the most notable being: CMake, Eclipse, LLVM, Sendmail and Berkley DB. Each chapter stands on its own and is written by the project lead or one of the lead contributors, while following a loose set of questions such as "how did it start", "what would you do differently", and so on. All in all, a fun an educational read. Some chapters go into the nitty gritty technical details, while others stick to the high-level architectural view.

As intended by the title, I think the most valuable part of this book is simply reading about the history and lessons learned from all of the different projects. The authors don't provide any conclusions, but you can easily spot patterns as you make your way through the book.
7 of 8 people found the following review helpful
5.0 out of 5 stars A gem that belongs to every serious developer's library 4 Aug 2011
By Emre Sevinc - Published on
This is not a typical software development book but rather a wonderful collection of essays from the veterans. The editors did a great job by providing such a wide spectrum of programs and authors. From database systems to visualization toolkits, from mail transfer agents to multi-player online games, from continuous integration systems to cutting-edge web applications and then to audio processing systems, you'll find experienced developers talking about the internals of their well-established code bases, used by millions of people and developers worldwide.

Some of the authors have been working on the same system for more than 30 years (e.g. Eric Allman on Sendmail) and it is definitely a pleasure to hear their perspectives spanning such a long time period. Every chapter provides a brief overview of the relevant software and then the authors try to justify the choices they made, sometimes stating their regrets with reasons and sometimes reflecting on how their intuitive decisions turned out to be great strategic advantages in the long run. In some chapters such as the one by Audrey Tang (SocialCalc), you'll learn how it becomes possible to work together for a geographically distributed team of developers and what made Tang's job easy when she joined the team one year after the initiation of project (hint: a well-prepared Wiki becomes much more important than you can imagine).

I think this book belongs to every developer's library to be read and re-read. Time-honored lessons when told by insiders with the help of great editors provide us with an immense value in terms of technology, craftsmanship and community.
2 of 2 people found the following review helpful
4.0 out of 5 stars Excellent resource book 20 Sep 2012
By astatine - Published on
Format:Kindle Edition|Verified Purchase
I second the book's basic premise that most software engineers do not spend enough time looking at existing software to learn from them. This book tries to fill that gap by making available descriptions of many interesting projects. You can't replace actually studying major software projects, but this comes a pretty close second.

The book is an excellent collection of architectural/structural sketches of major open source projects. Many of them are written by the developers or maintainers of these projects and provide invaluable insight into why these projects are structured the way they are. The description of each project is an individual chapter and can be read in isolation. Each of these chapters have their own unique style and, in this case at least, I think the editors did a good job by leaving the differing styles intact.

Some chapters, like that on the Berkeley DB, identify explicit good practices; others describe their project and the challenges they have faced in sufficient detail for you to draw your own conclusions. And then there is the fascinating chapter on Continuous Integration which, instead of describing a single project, compares and contrasts the approaches taken to solve what seems to be a common problem in very different ways.

All in all a good book to keep handy. It is not a reference book which you will use for concrete information, but one that you will read to get inspiration from (or peace, when the sense of frustration with the software industry's practices inevitably creep over you).
4.0 out of 5 stars I like this book 6 Sep 2013
By Paul Ianas - Published on
Format:Kindle Edition|Verified Purchase
First of all, I love the idea of presenting the architecture of well-known open source applications. The way the information is presented makes it also a nice lecture, by presenting the architecture and the main ideas in an informal way.
Were these reviews helpful?   Let us know
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
First post:
Prompts for sign-in

Search Customer Discussions
Search all Amazon discussions

Look for similar items by category