Prévia do material em texto
29 possível criar uma versão específica de um sistema. Sem gerenciamento de configuração é fácil perder o controle das alterações que cada desenvolvedor faz no código e das alterações feitas por um programador substituir as alterações feitas por outro programador. Por exemplo, um programador pode alterar um componente para melhorar o seu desempenho, enquanto outro pode corrigir um bug na funcionalidade do componente. Sem CM, quem gravar o componente por último no armazenamento de componentes compartilhado irá sobrescrevê-lo e, assim, perderá as alterações anteriores do componente. Além disso, os sistemas são geralmente compostos de múltiplos componentes, cada um dos quais existe em múltiplas versões, onde cada versão tem uma finalidade específica. Por exemplo, pode haver versões de um sistema para diferentes plataformas, como Windows, Linux e MacOS. Essas versões têm alguns componentes específicos e alguns componentes compartilhados e são potencialmente propensas a erros se essas versões forem montadas sem o suporte da ferramenta CM. É muito fácil incluir o componente errado em uma versão e isso provavelmente levará a falhas de software subsequentes. 7.10 Uma pequena empresa desenvolveu um produto especializado que configura especialmente para cada cliente. Novos clientes geralmente têm requisitos específicos a serem incorporados ao seu sistema e pagam para que estes sejam desenvolvidos. A empresa tem a oportunidade de concorrer a um novo contrato, o que mais que duplicaria sua base de clientes. O novo cliente também deseja ter algum envolvimento na configuração do sistema. Explique por que, nessas circunstâncias, pode ser uma boa ideia para a empresa proprietária do software torná-lo de código aberto. Os principais benefícios do código aberto são que ele abre o desenvolvimento para uma ampla gama de desenvolvedores e, assim, acelera o desenvolvimento e a depuração do produto. Duplicar a base de clientes coloca imensas tensões em uma pequena empresa, pois ela precisa contratar muitos novos funcionários e, portanto, adotar o código aberto significa que os custos de expansão são reduzidos. Nesse caso, como o produto é especializado para atender às necessidades de diferentes usuários, a empresa proprietária do software ainda pode cobrar desses usuários pelas alterações no sistema. Conseqüentemente, a perda de receita com a venda do software é compensada pelo esforço adicional disponível para atender mais clientes. Além disso, as grandes empresas muitas vezes relutam em comprar de pequenas empresas que podem fechar as portas. Até certo ponto, o código-fonte aberto garante aos clientes que, mesmo que os proprietários originais do software não estejam disponíveis, eles podem obter acesso ao código-fonte e, portanto, continuar a manter seu sistema. Finalmente, o código aberto pode aumentar o conhecimento do produto da empresa e assim atrair mais clientes.