Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$35.00$35.00
FREE delivery:
Thursday, Feb 15
Ships from: Amazon.com Sold by: Amazon.com
Buy used: $24.93
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
The Architecture of Open Source Applications Paperback – May 19, 2011
Purchase options and add-ons
- Reading age1 year and up
- Print length432 pages
- LanguageEnglish
- Dimensions7.44 x 0.98 x 9.69 inches
- Publication dateMay 19, 2011
- ISBN-101257638017
- ISBN-13978-1257638017
Frequently bought together

Customers who viewed this item also viewed
Product details
- Publisher : Lulu.com; null edition (May 19, 2011)
- Language : English
- Paperback : 432 pages
- ISBN-10 : 1257638017
- ISBN-13 : 978-1257638017
- Reading age : 1 year and up
- Item Weight : 1.69 pounds
- Dimensions : 7.44 x 0.98 x 9.69 inches
- Best Sellers Rank: #436,657 in Books (See Top 100 in Books)
- #554 in Software Development (Books)
- Customer Reviews:
Important information
To report an issue with this product or seller, click here.
About the authors

Dr. Greg Wilson is a programmer, author, and educator based in Toronto. He co-founded and and was the first Executive Director of Software Carpentry, which has taught basic software skills to tens of thousands of researchers worldwide, and has authored or edited over a dozen books, including "Beautiful Code", "The Architecture of Open Source Applications", and most recently "Software Design by Example". Greg is a member of the Python Software Foundation and a recipient of ACM SIGSOFT's Influential Educator of the Year award.

Francesco Cesarini has used Erlang on a daily basis for over 15 years, having started his career as an intern at Ericsson’s computer science laboratory, the birthplace of Erlang. He moved on to Ericsson’s Erlang training and consulting arm working on the first release of the OTP middleware, applying it to turnkey solutions and flagship telecom applications.
In 1999, soon after Erlang was released as open source, he founded Erlang Solutions. With offices in the UK, Sweden, Poland (and soon the US), they have become the world leaders in Erlang based consulting, contracting, training, systems development and support services. In 2008, they launched the Erlang Factory conferences. At Erlang Solutions, Francesco has worked on major Erlang based projects both within and outside Ericsson, and in his current role as Technical Director, is setting the strategy and vision of the company while supervising the technical teams.
Francesco is active in the Erlang community not only through regularly talks, seminars and tutorials at conferences worldwide, but also through his involvement in international research projects. He is the co-author of Erlang Programming, a book published by O’Reilly Media in 2009. With whatever time he has left over, he teaches Erlang to graduates and undergraduates at Oxford University and the IT University of Gothenburg. You can follow his ramblings (mainly on Erlang and Erlang Solutions) on twitter.

Russell Bryant is a Distinguished Engineer at Red Hat, where he works in the Office of the CTO on cloud infrastructure and networking technologies. Prior to joining Red Hat in 2011, Russell was the project lead for the Asterisk open-source telephony project.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
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).
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.
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: [...]
Articles written by different people about projects they involved. Thats why quality and style differ from one article to another.
Some articles I found very interesting and some was about nothing. And I'm sure that another reader will have another opinion about which one was interesting or not.
After I've read this book, I took my notebook and wrote down all the ideas I found usefull and important.
Book is not quite well designed. I don't like fonts at all, and it also have some typography problems.
Top reviews from other countries
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.
DATABASES
* Berkeley DB (Margo Seltzer and Keith Bostic): For those who always wanted to know how a "serverless" database actually works.
* The Hadoop Distributed File System (Robert Chansler, Hairong Kuang, Sanjay Radia, Konstantin Shvachko, and Suresh Srinivas): Structure of the same.
* The NoSQL Ecosystem (Adam Marcus): An overview of the NoSQL approach; not fully sure about the theory. Consult February 2012 issue of IEEE Computer for more!
* Riak and Erlang/OTP (Francesco Cesarini, Andy Gross, and Justin Sheehy) - A distributed database written in Erlang.
VISUALIZATION
* VisTrails (Juliana Freire, David Koop, Emanuele Santos, Carlos Scheidegger, Claudio Silva, and Huy T. Vo): An extensive data exploration and visualization framework.
* VTK (Berk Geveci and Will Schroeder): Another visualization toolkit.
* Graphite (Chris Davis): Drawing and Graphing as with RRDtool.
MULTIPLAYER GAMES
* Battle For Wesnoth (Richard Shimooka and David White): A turn-based fantasy strategy game.
* Thousand Parsec (Alan Laudicina and Aaron Mavrinac): A game framework for multiplayer turn-based space empire strategy games.
JUSTIFIED ANCIENTS
* The Bourne-Again Shell (Chet Ramey): A must-read for beginning computer science Unix users, I reckon.
* Sendmail (Eric Allman): Eric talks about the life of Sendmail. He could have mentioned the Morris worm of 1988.
It would have been very interesting to also have a paper on the competing Postfix SMTP server. Sadly, no.
DEVELOPMENT TOOLS
* Mercurial (Dirkjan Ochtman): The distributed version control system.
* Eclipse (Kim Moir): The complex Eclipse IDE, how is it constructed?
TOOLCHAINS
* LLVM (Chris Lattner): The LLVM compiler toolchain
* CMake (Bill Hoffman and Kenneth Martin): Something to replace autoconf/libtool nastiness.
* Continuous Integration (C. Titus Brown and Rosangela Canino-Koning): A rather short discussion of various Continuous Integration Models (Buildbot, CDash, Jenkins, Pony-Build.)
* Python Packaging (Tarek Ziadé)
TESTING
* Selenium WebDriver (Simon Stewart): Exercise your web interface using Firefox and scripting.
SYSTEM TOOLS
* SnowFlock (Roy Bryant and Andrés Lagar-Cavilla): VM Cloning in the Xen hypervisor.
COMMS
* Asterisk (Russell Bryant): Overview of the telephony application platform Asterisk, unfortunately at reference manual level.
* Telepathy (Danielle Madeley): Modular framework for real-time communication.
SOCIAL DATA AND LE SHARING
* Jitsi (Emil Ivov): Desktop data sharing
* SocialCalc (Audrey Tang): Wikified Spreadsheet
OTHER
* Violet (Cay Horstmann): A lightweight UML editor.
* Audacity (James Crook): The sound recorder and audio editor Audacity, a good overview and discussion of design decisions.








