Varias empresas atravessam dificuldades no momento de adquirir soluções em TI para os seus negócios. Perdidos no dilema entre customização e facilidade de aquisição/manutenção muitas vezes os empresários se veem sem saída e acabam estagnando.
Para ajudar a entender as diferenças entre as duas soluções e ajuda-lo a optar pelo melhor caminho vamos abordar alguns tópicos.
O que é open source?
É o software/ferramenta de código aberto que qualquer pessoa pode inspecionar, modificar e aprimorar seu “código-fonte”.
“Código-fonte” é a parte do software que a maioria dos usuários de computador nunca vê; é o código que os programadores de computador manipulam para dar instruções as aplicações. Os programadores que têm acesso ao código-fonte de um programa de computador podem melhorar esse programa adicionando recursos a ele ou fixando partes defeituosas.
Qual é a diferença entre open-source e outros tipos de software?
Ferramentas proprietárias são aquelas cujo os donos possuem código-fonte sob controle exclusivo da empresa. Sendo que apenas os programadores autorizados podem copiar, inspecionar e alterar legalmente esse software.
O software de código aberto é diferente. Seus autores disponibilizam seu código-fonte para outras pessoas que desejam visualizar esse código, copiá-lo, aprender com ele, alterá-lo ou compartilhá-lo. O WordPress e Moodle para EAD são exemplos de software de código aberto.
Por que o código-aberto ou open source é tão importante?
A tecnologia de código aberto beneficia tanto programadores quanto usuários finais.
Os inventores do código aberto construíram grande parte da própria Internet com este tipo de tecnologia – o sistema operacional Linux e o aplicativo de servidor Web Apache – são exemplos de tecnologias que beneficiam qualquer pessoa que usa a Internet hoje em dia.
Sempre que os usuários de computador visualizam páginas da web, verificam e-mails, conversam com amigos, reproduzem música online ou jogam on-line, seus computadores, telefones celulares ou videogames se conectam a uma rede global de computadores usando software de código aberto para rotear e transmitir seus dados para os dispositivos “locais”. Os computadores que fazem todo esse trabalho importante geralmente estão localizados em lugares distantes que os usuários não veem ou não podem acessar fisicamente – motivo pelo qual algumas chamamos esses computadores de “computadores remotos”.
Cada vez mais, as pessoas dependem de computadores remotos para realizar tarefas que, de outra forma, poderiam realizar em seus dispositivos locais. Por exemplo, eles podem usar software de processamento de texto online, gerenciamento de e-mail e edição de imagens sem que eles estejam instalados em seus computadores pessoais. Em vez disso, eles simplesmente acessam esses programas em computadores remotos usando um navegador da Web ou um aplicativo de telefone celular. Quando eles fazem isso, eles estão envolvidos na “computação em nuvem”.
Os aplicativos de computação em nuvem são executados “por cima” de software adicional que os ajuda a operar sem problemas e com eficiência, então as pessoas costumam dizer que o software executado “por baixo” dos aplicativos de computação em nuvem atua como uma “plataforma” para esses aplicativos. OpenStack é um exemplo de plataforma de computação em nuvem de software livre.
Por que as pessoas preferem o código aberto?
As pessoas preferem software de código aberto a software proprietário por vários motivos, incluindo:
Controle – As empresas preferem software de código aberto porque têm mais controle sobre ele. Sendo possível customizar o código para ter certeza de que ele não está fazendo nada que não desejam. No nível do usuário existe um amplo suporte disponível por toda internet incluindo vasto material de tutoriais e video-aulas.
Treinamento – Como o código-fonte aberto é acessível publicamente, os desenvolvedores podem estudá-lo facilmente. Quando algum erro é descoberto no código, eles podem compartilhar esses erros com outros programadores e fixar o problema de maneira mutua.
Segurança – Mais seguro e estável do que o software proprietário. Como qualquer pessoa pode visualizar e modificar o software de código-fonte aberto, alguém pode detectar e corrigir erros ou omissões que os autores originais da ferramenta programa possam ter deixado passar. E como muitos programadores podem trabalhar em um software de código aberto sem pedir permissão aos autores originais, eles podem consertar, atualizar e atualizar o software de código aberto mais rapidamente do que o software proprietário.
Estabilidade – Ideal para projetos importantes de longo prazo. Devido a contribuição de toda a comunidade de desenvolvedores, os usuários que dependem desse software para tarefas críticas podem ter certeza de que suas ferramentas não irão desaparecer ou ficar obsoletas se seus criadores originais pararem de trabalhar nelas. Além disso, o software de código aberto tende a incorporar e operar de acordo com padrões abertos.
Comunidade – O software de código aberto muitas vezes inspira uma comunidade de usuários e desenvolvedores a se formar em torno dele. Isso não é exclusivo do código aberto; muitos aplicativos populares estão sujeitos a encontros e grupos de usuários. Mas, no caso do código aberto, a comunidade não é apenas uma base de fãs que compra (emocional ou financeiramente) um grupo de usuários de elite; são as pessoas que produzem, testam, usam, promovem e, em última análise, afetam o software que amam.
Integração – Ferramentas desenvolvidas com o código aberto oferecem um poder infinito de integração entre si. Por contar com inumeráveis desenvolvedores a seu favor, praticamente todo tipo de solução de comunicação com outras ferramentas até mesmo de código proprietário já estão disponíveis.
“Código aberto” não significa que algo é gratuito?
Não. Esse é um equívoco comum sobre o que significa “código aberto”, e as implicações do conceito não são apenas econômicas.
Os programadores de software de código aberto podem cobrar dinheiro pelo software de código aberto que criam ou para o qual contribuem. Mas em alguns casos, como uma licença de código aberto pode exigir que eles liberem seu código-fonte ao vender software para terceiros, alguns programadores descobrem que cobrar dos usuários por serviços e suporte de software (em vez do software em si) é mais lucrativo. Dessa forma, o software permanece gratuito e eles ganham dinheiro ajudando outras pessoas a instalá-lo, usá-lo e mante-lo atualizado.
Embora alguns softwares de código aberto possam ser gratuitos, a habilidade em programar e solucionar problemas continua sendo necessária. Muitos empresas contratam especialistas com experiência em código aberto.
Redução de custos com opensource
Este tópico poderia ser parte do item acima no qual falamos sobre as vantagens de utilizar ferramentas de código aberto.
Exemplo: Imagine uma escola que ofereça ensino a distância EAD. Ela pode muito bem se beneficiar de ferramentas de código aberto, como: WordPress para administrar o conteúdo do site, Mautic para controlar as automações de vendas e e-mail marketing e o Moodle para cuidar do ambiente virtual de aprendizagem AVA.
Todas as ferramentas citadas possuem código aberto e rodam na “nuvem” ou seja, não haveriam custos de aquisição das soluções, apenas manutenção. Além disso todos os recursos podem ser ativados em um servidor com tecnologia escalável, no qual o valor de investimento é proporcional ao uso, tráfego e armazenamento de dados.
A computação em nuvem junto com um pacote de aplicações de código aberto, inicialmente reduz o custo com infraestrutura física, quem já teve um servidor dentro da empresa sabe. O investimento em upgrade e mão de obra especializada pode ser alto.
Outro fator que colabora com estes dados é o fato de que ao desenvolver/adotar uma solução proprietária, o custo de manutenção e up-grade é elevado, o tempo de desenvolvimento e pós-produção também. Se tratando de tecnologia muitas vezes a solução é lançada já obsoleta.