Isenção de responsabilidade: O conteúdo dessa seção é de caráter apenas informativo. A Diferencial se empenhará em (mas sem a obrigação de) manter essa informação verdadeira e atualizada, mas não oferece qualquer garantia. Use-a sob sua inteira responsabilidade.

O que é um sistema de código aberto (open source)? O que é um software livre (free sofware)?

Open source é um sistema no qual os usuários têm acesso ao seu código-fonte, para estudá-lo, modificá-lo e/ou melhorá-lo. Software livre é um software que, contrário a práticas comuns da indústria, não impõe severas restrições às formas como ele pode ser utilizado e compartilhado com terceiros.

Esses dois modelos de licenciamento normalmente são utilizado em conjunto, para fins deste documento podem ser considerados um só.

O termo "software livre", tal como definido pela Free Software Foundation (FSF), difere em alguns pontos do termo "open source", tal como definido pela Open Source Initiative (OSI). Embora essas organizações possuem filosofias e motivações bastante diferentes, suas conclusões sobre o que são características desejáveis de um sistema de informática são bastantes semelhantes.

Entretanto, é preciso atenção ao lidar com sistemas que se auto-intitulam free/open source, uma vez que suas licenças nem sempre correspondem às expectativas de abertura e liberdade que se tem sobre eles. Muitas vezes isso se deve não a um ato de má fé dos fornecedores, mas simplesmente por possuírem opiniões divergentes sobre o assunto.

Esses softwares são gratuitos?

Não necessariamente. Muitos são desenvolvidos por hobby e disponibilizados gratuitamente, mas aqueles desenvolvidos num contexto profissional em geral possuem um custo financeiro, direto ou indireto, tanto para o fornecedor quando para o cliente.

Entretanto, uma vez que o desenvolvimento de um software livre é concluído, todos aqueles que possuem uma cópia do mesmo têm liberdade para compartilhá-lo com terceiros, gratuitamente ou mediante pagamento, sem que para isso tenham que obter a permissão do(s) seu(s) autor(es).

Por que trabalhar com open source?

Existem razões ideológicas e estratégicas para a adoção desse modelo de licenciamento. Em ambos os casos, o código aberto protege os interesses do cliente/usuário, e os salvaguarda em caso de problemas futuros, como será explicado a seguir:

Ao adquirir uma solução informatizada para atender uma necessidade, espera-se que essa solução esteja disponível e funcionando corretamente pelo tempo em que ela for necessária, o que pode significar muitos anos. Entretanto, a quase totalidade das empresas fornecedoras limita seu compromisso de prestação de serviços a um período de tempo muito limitado, após o qual o contrato pode ser renovado ou não. Condições adversas podem interferir na possibilidade dessa renovação, e isso é algo contra o qual o cliente deve se precaver.

Diversos fatores afetam a possibilidade de renovação. Condições adversas como baixa lucratividade ou crises econômicas podem fazer com que o produto seja descontinuado ou levar seus autores à falência. Mesmo condições positivas, como alto crescimento, podem fazer com que a empresa fornecedora ou seu produto sejam vendidos a terceiros, que podem não possuir o mesmo compromisso com a satisfação do cliente, e assim elevar o preço dos seus serviços de modo a obter mais lucro.

Além disso, muitas empresas de tecnologia podem assumir uma postura monopolista, impedindo a liberdade de escolha do usuário e propor ou conduzir determinadas evoluções do software e impondo valores muito altos para o suporte do software, uma vez que este é proprietário e se encontra totalmente sob domínio do fornecedor.

O software livre procura amenizar essas adversidades, garantindo que seu direito de continuar utilizando-o não seja arbitrariamente cortado. O código aberto permite que, em casos extremos, o mesmo seja mantido e aprimorado pela própria comunidade ou pela contratação de terceiros, ainda que isso incorra num custo extra.

Apesar deste custo não ser baixo, a situação seria pior se não houvesse o acesso ao código fonte. Defeitos que porventura ainda persistissem no sistema, problemas para se adaptar às mudanças nas necessidades do cliente, etc, poderiam acabar por inviabilizar a continuidade do sistema, exigindo sua substituição. Na ausência de uma opção viável, um novo sistema teria de ser desenvolvido, trazendo um custo muito maior para o cliente.

Assim, embora o open source não elimine os custos de manutenção e suporte, ele oferece uma alternativa ao fim prematuro de um sistema. Ele pode passar a ser mantido pelo próprio cliente (através da contratação de profissionais de informática), pela comunidade (através da experiência compartilhada) ou por terceiros.

Se o software é livre, por que pagar por suporte e manutenção?

Embora o custo da licença seja zero, manter e aprimorar um sistema por conta própria não o é. Ainda que o cliente possua em sua equipe uma pessoa qualificada em informática, o seu tempo e trabalho não são gratuitos, e têm de ser remunerados.

Além do esforço necessário para compreender e se familiarizar com os detalhes internos do sistema, o tempo que ela dedicar a dar suporte aos demais usuários, aprimorar o sistema de acordo com suas necessidades e eventualmente corrigir algum defeito, é um tempo que poderia estar sendo dedicado às suas atividades fins, mas que foi desperdiçado.

Ao delegar esse serviço aos forncedores, ganha-se em qualidade, eficiência e um custo mais baixo, dada a economia de escala e a especialização dos autores no serviço prestado.

Quem contratar para esse suporte e manutenção?

Embora, pelo fato do software ser livre, o cliente não esteja “amarrado” com a empresa fornecedora, podendo contratar esse serviço de terceiros se desejar, recomenda-se fortemente atribuir a ela essa responsabilidade sempre que possível, por diversos motivos.

Como já foi dito anteriormente, para prestar serviços sobre um sistema é necessário familiaridade com seus detalhes internos, algo que demanda tempo e dedicação. Os autores originais do sistema (ou as pessoas treinadas por eles) são aqueles que têm mais condições de exercer essa função de forma barata e eficiente, dado seu grau de especialização.

Além disso, um contrato com o fornecedor original garante que o cliente sempre receberá as últimas atualizações, correções de falhas e aprimoramentos, incluindo novos módulos que porventura sejam negociados com outros clientes e licenciados também como software livre. Na ausência desse contrato caberá ao cliente por si só realizar todas essas operações, inclusive resolvendo conflitos entre a versão atual (que pode ter sofrido modificações) e a nova versão sendo oferecida.