Approach towards reading aosa

Greg Wilson greg at mozillafoundation.org
Wed Jul 31 08:17:32 PDT 2013


On 2013-07-31 10:51 AM, Matt Brubeck wrote:
> On 7/31/2013 3:57 AM, Anubhav Yadav wrote:
>> However, I am confused as to how I should start reading the book for
>> the month, "The Architecture of Open Source Applications?". Should I
>> first get a fair Idea of the application described throughout the
>> chapter (for eg, Chapter 1Asterisk), download its source code, try to
>> understand it, and then read the corresponding chapter.
>> Or should I just read the whole book chapter after chapter?
> I find the chapters quite readable on their own.  In fact, I wish more 
> of my own projects had architecture overviews like this so I could 
> direct newcomers to read them *before* diving into the source code!
Hi everyone,

Hope you don't mind me sticking my nose in, but a couple of universities 
have used these books in grad courses and reading groups, and based on 
their feedback, I think that reading all the chapters in order will 
probably be mind-numbing :-)  Instead, you might get more out of just 
these ones:

If you want to stick to Volume 1:
* http://www.aosabook.org/en/asterisk.html
* http://www.aosabook.org/en/audacity.html
* http://www.aosabook.org/en/bdb.html
* http://www.aosabook.org/en/eclipse.html
* http://www.aosabook.org/en/llvm.html
* http://www.aosabook.org/en/mercurial.html
* http://www.aosabook.org/en/packaging.html
* http://www.aosabook.org/en/sendmail.html

If you want to include Volume 2:
* http://www.aosabook.org/en/distsys.html
* http://www.aosabook.org/en/freertos.html
* http://www.aosabook.org/en/gdb.html
* http://www.aosabook.org/en/git.html
* http://www.aosabook.org/en/ironlang.html
* http://www.aosabook.org/en/mailman.html
* http://www.aosabook.org/en/openmpi.html
* http://www.aosabook.org/en/puppet.html
* http://www.aosabook.org/en/twisted.html
* http://www.aosabook.org/en/zeromq.html

What those groups (particularly the one at Waterloo) seemed to find 
helpful as they read was paying attention to the level of description: 
when were the authors talking at a very high level (design principles, 
major components, historical forces shaping the software, etc.), and 
when did they dive down into nitty-gritty detail because one of those 
larger issues hinged on a particular low-level implementation decision 
or obstacle?  One reader told me that he felt it was like watching a 
yoyo: authors seemed to go from high to low and back to high over and 
over again because the big picture simply didn't make sense without an 
understanding of some key details, while the low-level details didn't 
make sense without knowing how they fit into the bigger picture.  I'd be 
really curious to hear if you get the same sense, and whether you think 
you'd have to do the same thing to explain what you're working on to a 
new hire joining your team.

Cheers,
Greg


More information about the dev-reading mailing list