Cover of The architecture of open source applications

The architecture of open source applications

by Amy Brown, Greg Wilson · first published 2011

257mentions
204recommended by
219HN commenters
2011–2026first – last mentioned

93% recommend5% neutral1% critical

Why HN recommends it

Chapters by the developers of real projects (GHC, SQLAlchemy, Graphite, HDFS) explain design decisions and structure. Suits programmers wanting to learn medium-to-large system architecture by studying proven software.

Summarised by Claude from recommending comments

Affiliate links. As an Amazon Associate I earn from qualifying purchases.

Mentions per year

340 2007: 0 mentions2008: 0 mentions2009: 0 mentions2010: 0 mentions2011: 4 mentions2012: 10 mentions2013: 8 mentions2014: 20 mentions2015: 15 mentions2016: 13 mentions2017: 34 mentions2018: 24 mentions2019: 14 mentions2020: 21 mentions2021: 14 mentions2022: 20 mentions2023: 16 mentions2024: 14 mentions2025: 9 mentions2026: 6 mentions200720172026

What Hacker News says

  • GeneralMaximus · Jun 8, 2011 · Recommends

    …surface knowledge of the topic at hand. Sometimes I will buy a book because it was cited on Wikipedia. Does the OP know about the books people publish online? Real World Haskell, Dive Into Python, The Architecture of Open Source Applications, Clever Algorithms to mention a few CS-related books. Then there are a bunch of books on analog and digital electronics, math and statistics, all published on the web. A book does not have to be in the…

    on “Is there a new geek anti-intellectualism?” ↗
  • weej · Nov 1, 2017 · Recommends

    One more I missed regarding review of architecture, code structure/design of OSS: The Architecture of Open Source Applications (Vol 1 & 2) https://www.amazon.com/Architecture-Open-Source-Applications...

    on “Ask HN: How’d you go from a noodler to writing large well structured programs?” ↗
  • mananaysiempre · Aug 12, 2023 · Recommends

    …it gets. And as an eccentric choice in a similar format, may I suggest cmForth[6], perhaps paired with Footsteps in an empty valley[7]? Also, though this is not precisely what you’re asking for, The architecture of open-source applications and its sequels[8] have the original designers’ reflections on some well-known codebases. [1] http://mirrors.ctan.org/info/knuth-pdf/tex/tex.pdf [2] http://mirrors.ctan.org/info/knuth-pdf/mf/mf.pdf…

    on “Exploring the Internals of Linux v0.01” ↗
  • pessimizer · Jul 7, 2014 · Recommends

    http://www.aosabook.org/en/ "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 buildin

    on “Ask HN: How best to learn software design principles?” ↗
  • jliechti1 · Apr 24, 2014 · Recommends

    Does anyone have any good resources for learning how to better architect systems? Other than, say, The Architecture of Open Source Applications: http://aosabook.org/en/index.html Reading source code of prominent projects is a good way to get better, but it's hard to understand the architecture if you aren't aware of the design constraints/requirements that led it to be the way. Surely there must

    on “Great Programmers (2004)” ↗
  • auvrw · Dec 31, 2013 · Recommends

    a really solid, perhaps unique, library that, as far as i can tell, completely addresses the "impedence mismatch" argument. if you're directly using a database api in a structured way, you've probably already reimplemented the sqlalchemy core, and refactoring your program to use sqlalchemy will give you an orm, should you want one, and make your code portable across database implementations even

    on “SQLAlchemy 0.9.0 Released” ↗
  • elorm · Jul 24, 2017 · Recommends

    Nginx and Git. Nginx has a lot of respect on the market for handling high concurrency as well as exhibiting high performance and efficiency. I don't even have to speak about the Git architecture. It speaks plainly for itself. There's a series of books called The Architecture of Open Source Applications that does justice to this topic http://aosabook.org/en/index.html

    on “Ask HN: Best-architected open-source business applications worth studying?” ↗
  • tony · Aug 18, 2019 · Recommends

    Favorites: - SQLAlchemy by Michael Bayer: https://www.aosabook.org/en/sqlalchemy.html (nice observation of core language on top of SQL, then the separate declarative/orm system) - LLVM by Chris Lattner: https://www.aosabook.org/en/llvm.html - Audacity by James Crook: https://www.aosabook.org/en/audacity.html (interesting mentionings of wxwigets) Note that pretty much everything in volume 1 and

    on “The Architecture of Open Source Applications” ↗
  • gits1225 · Jan 17, 2013 · Recommends

    It always puts a bad taste in my mouth when information/knowledge is locked behind a pay-wall. It frustrates me when I think that someone somewhere is getting turned down from what they want to learn from because they had no money to pay for it or doesn't have the means to pay for it. I know the authors should profit but why can't they do something like https://mitpress.mit.edu/sicp/ or http://deb

    on “Our Django Book is Launched” ↗
  • lewisjoe · Jan 25, 2019 · Recommends

    ProseMirror is easily the best source code I've ever worked with. The components are so well architected, that inside the codebase there's a 100 page book on software design principles waiting to come out. I'm serious. Marijn Haverbeke should certainly write a AOSA (http://aosabook.org/en/index.html) style piece on how & why the software is architected in such way. What sets ProseMirror apart fro

    on “ProseMirror – A toolkit for building rich-text editors on the web” ↗
  • TeMPOraL · Apr 6, 2017 · Recommends

    I found that another hard thing that feels like a prerequisite for leveling up further is getting the feel for design/architecture of medium-sized systems. There's a pretty awesome resource for that particular need - the series of books called "The Architecture of Open Source Applications". http://aosabook.org/en/index.html (The books are CC and free to read on-line :)) I'm just through the few

    on “Build Your Own Text Editor” ↗
  • wohlergehen · May 8, 2017 · Recommends

    Highly focused on metrics, code organization and project stakeholders, with little discussion of actual architectural choices. I particularly hate the "lets run static analyzer on this project, and use that to make a judgement" step they all seem to do. For actual introductions to very specific architectures adopted by open-source software and the reasoning behind, see [1]. 1: http://aosabook.or

    on “Delft Students on Software Architecture: DESOSA 2017” ↗
  • claudiulodro · Jan 10, 2020 · Recommends

    There are dozens at the Architecture of Open Source Applications ebook/site: http://aosabook.org/en/index.html As someone who only really gets exposure to web tech, it was fascinating how other types of software is architected, too.

    on “Ask HN: Are there any openly available software architecture documents?” ↗
  • alhirzel · Apr 11, 2022 · Recommends

    You can get a good view on some architectures from AOSA, thought it may not be as focused on web as you're looking for: http://aosabook.org/en/index.html A good example is Scalable Web Architecture and Distributed Systems by Kate Matsudaira: http://aosabook.org/en/distsys.html

    on “Ask HN: Where can I see many examples of real companies' software architecture?” ↗
  • fotcorn · Apr 17, 2014 · Recommends

    The Architecture of Open Source Applications book[0] gives a high level overview on many open source projects. It's a good starting point to dive into the code of these projects. [0] http://aosabook.org/en/index.html

    on “Ask HN: What source code is worth studying? ” ↗

Keyboard shortcuts

/
Focus search
j / k
Next / previous book
Enter
Open focused book
Esc
Close / go back
g h
Go to Home
g t
Go to Top all-time
g m
Go to Most recommended
g r
Go to Rising
g f
Go to For You
?
Show this help