Post rapido apenas para recomendar fortemente o screencast do Fabio Akita, Entenda software da maneira correta.
Pra quem não sabe o Fabio Akita é um grande agitador da comunidade Ruby no Brasil. Mas nesse screencast específicamente ele não fala de nenhuma linguagem em específico. Apenas de conceitos gerais que devem ser levado em conta no desenvolvimento de software. Cita também muitos erros comuns de alguns projetos.
Além de falar sobre os conceitos de reuso. Que achei muito interessante, também achei muito boa a abordagem das diferenças, que nem sempre acontecem é claro, do desevolvimento de um software proprietário para o software livre. E principalmente o modelo de organização do SL, que numa primeira vista parece ser absolutamente caótico. Mas que olhando melhor, na verdade propicia o desenvolvimento de software bom, com foco em reuso, manutenção e etc.
Enfim, não vou me alongar demais, mas vale muito a pena. O preço é super em conta R$4,99. Segue o link novamente http://www.akitaonrails.com.br/2010/07/01/screencast-entenda-software-da-maneira-correta