The Architecture of Open Source Applications, Volume IIArchitects 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 second volume of The Architecture of Open Source Applications aims to change that. In it, the authors of twenty-four 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. |
Contents
Firefox Release Engineering | 23 |
FreeRTOS | 39 |
GDB | 53 |
The Glasgow Haskell Compiler | 67 |
Git | 89 |
The Dynamic Language Runtime and the Iron Languages | 113 |
ITK | 127 |
GNU Mailman | 149 |
Moodle | 195 |
nginx | 211 |
Open MPI | 225 |
OSCAR | 239 |
Puppet | 267 |
SQLAlchemy | 291 |
Twisted | 315 |
Yesod | 331 |
Common terms and phrases
abstraction algorithm allows application architecture backend BitBake build cache called client compiler component configuration core create database DBAPI define developers dynamic languages example execution expression tree Figure filter Firefox framework FreeRTOS function GPSD handle handler Haskell implementation interface IronPython IronRuby Java JavaScript JSON layer load mailing list Mailman matplotlib MediaWiki memory metadata module Moodle multiple mutex nginx node object ØMQ Open MPI open source output package parameters parse parser performance pipeline pixel plugin pointer problem Processing.js protocol Puppet PyPy Python query queue Release Engineering repository request resource runtime script server specific SQLAlchemy stack stored struct structure task there’s threads toolkit Twisted updates upstream variable Wikipedia write Yesod Yocto