Journal The Architecture of Open Source Applications

Posté par . Licence CC by-sa
38
30
mai
2011

Un livre qui n'a pas l'air trop mal vient de sortir sous le titre "The Architecture of Open Source Applications". Il est composé de 25 chapitres et chaque chapitre détaille un logiciel libre, souvent par un de ses contributeurs majeurs. Chaque application est ainsi décortiqué pour nous en montrer les entrailles. Bref, un excellent voyage du côté obscur du code, ce qu'on a rarement l'occasion de voir.

En prime, le livre est lui-même libre (CC-BY), il est disponible sur Lulu et Amazon et tous les bénéfices sont reversés à Amnesty International. Et vous pouvez bien sûr le lire en ligne :
http://www.aosabook.org/en/index.html

La liste des logiciels (et les auteurs respectifs) :

  1. Asterisk par Russell Bryant
  2. Audacity par James Crook
  3. _The Bourne-Again Shell par Chet Ramey
  4. Berkeley DB par Margo Seltzer and Keith Bostic
  5. CMake par Bill Hoffman and Kenneth Martin
  6. Eclipse par Kim Moir
  7. Graphite par Chris Davis
  8. The Hadoop Distributed File System par Robert Chansler, Hairong Kuang, Sanjay Radia, Konstantin Shvachko, and Suresh Srinivas
  9. Continuous Integration par C. Titus Brown and Rosangela Canino-Koning
  10. Jitsi par Emil Ivov
  11. LLVM par Chris Lattner
  12. Mercurial par Dirkjan Ochtman
  13. The NoSQL Ecosystem par Adam Marcus
  14. Python Packaging par Tarek Ziadé
  15. Riak and Erlang/OTP par Francesco Cesarini, Andy Gross, and Justin Sheehy
  16. Selenium WebDriver par Simon Stewart
  17. Sendmail par Eric Allman
  18. SnowFlock par Roy Bryant and Andrés Lagar-Cavilla
  19. SocialCalc par Audrey Tang
  20. Telepathy par Danielle Madeley
  21. Thousand Parsec par Alan Laudicina and Aaron Mavrinac
  22. Violet par Cay Horstmann
  23. VisTrails par Juliana Freire, David Koop, Emanuele Santos, Carlos Scheidegger, Claudio Silva, and Huy T. Vo
  24. VTK par Berk Geveci and Will Schroeder
  25. Battle For Wesnoth par Richard Shimooka and David White
  • # Commentaire

    Posté par (page perso) . Évalué à  10 .

    J'ai lu les chapitres sur l'écosystème NoSQL et sur LLVM. Comme le nom du livre l'indique ce sont des textes sur l'architecture générale du logiciel. Pourquoi tels ou tels choix ont été effectuées afin de concevoir le truc comme ça et pas autrement. Il y a aussi un petit paragraphe à la fin du style "et si c'était à refaire" qui fait le bilan des choix architecturaux et expliquant, avec le recul, ce qui s'est avéré être une bonne idée ou pas.

    C'est très intéressant et, dans le cas de LLVM, on comprend bien à quel point l'architecture est vraiment modulaire par rapport à GCC.
    Bref lecture recommandée si un des sujets vous intéresse.

  • # Si vous avez aimé "Beautiful code" de chez O'reilly

    Posté par . Évalué à  10 .

    vous aimerez celui-ci qui effectivement s'intéresse plutôt à l'aspect architecture logicielle, je me demandais ce que foutait le chapitre sendmail mais c'est juste pour avoir un exemple de ce qu'il ne faut surtout PAS faire.
    Mes chapitres préférés: Bash, CMake, Continuous Integration, LLVM, mercurial, Python Packaging, ça vaut le coup d'acheter la version papier et de la laisser trainer au boulot.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.