Lendo um pouco dessa discussão, lembrei de uma frase que li num blog(não lembro qual):
“O desenvolvedor de software trabalha para tirar emprego de si mesmo.”
No sentido que trabalhamos para eliminar problemas, e sem problemas não teremos trabalho (isso sendo bem simplista). Isso até tem um fundo de verdade.
Sobre o que isso tem a ver com software de código aberto, eu imagino, por exemplo, desenvolver um framework para emissão de Notas Fiscais Eletrônicas, compatível com todas as versões usadas em todos os estados, que ainda seja bem fácil de ser integrado com sistemas já existentes, além de ter uma boa performance.
Com esse framework lançado, as empresas não precisariam mais gastar bilhões de reais desenvolvendo seus próprios emissores, ou comprando de terceiros. O custo diminuiria somente ao ponto de integrá-lo aos seus próprios sistemas. Um software resolveu uma grande parte do problema de milhares de empresas.
Aí tem o lado dos desenvolvedores que recebiam esses bilhões para desenvolver, não precisamos mais 99% deles, nem precisamos das empresas que vendiam essas soluções. Eles estariam desempregados, elas estariam falidas?
Eu considero uma boa coisa não gastar bilhões para resolver o mesmo problema milhares de vezes, em cada empresa, cada um de seu jeito; que gastem esses bilhões em outras áreas mais úteis. Também acho bom não gastar o tempo dos desenvolvedores onde todos tinham que resolver o mesmo problema, que eles procurem outros problemas e façam outras soluções.
Pra quem é afetado por isso, eu diria para correr atrás, sair da sua zona de conforto e se especializar. Tem gente que vai ficar magoada, mas vai fazer o quê, ficar sentado? É o rumo que o mercado toma.
É o que considero darwinismo aplicado ao desenvolvimento de software.