O uso de ferramentas open source é uma das principais tendências no setor de tecnologia da informação atualmente.
Quando se fala nelas, o exemplo mais famoso talvez seja o do sistema operacional Linux, que compete com o tradicional Microsoft Windows em computadores.
Mas ele não é único, já que há também suítes de edição de documentos, como o LibreOffice, e linguagens de programação, a exemplo da Perl e Python.
Isso mostra que empresas de diferentes ramos têm substituído soluções proprietárias por softwares de código aberto, conferindo flexibilidade a seus programadores.
Apostar no open source também pode representar uma redução de custos com licenças e burocracia, o que atrai a atenção de companhias de todos os portes.
Por isso, conhecer o universo do código aberto é essencial para quem trabalha ou deseja trabalhar com TI, é gestor, empreendedor ou profissional liberal.
Ao longo deste artigo, traremos definições e exemplos para você compreender como funcionam esses softwares, mesmo que não domine a área de programação.
Você também pode navegar pelos seguintes tópicos:
- O que é uma ferramenta open source ou código aberto?
- O que é código aberto e fechado?
- Qual a diferença entre software livre e software open source?
- Como surgiram os conceitos de open source e software livre
- Benefícios de um software open source
- Desvantagens de um software open source
- 10 características de um software open source
- Implicações da transformação digital e softwares open source.
Boa leitura!
O que é uma ferramenta open source ou código aberto?
Ferramenta open source é aquela que tem seu código aberto, ou seja, que pode ser visualizada por qualquer pessoa.
Para explicar melhor, vamos definir o que significa “código” – ou código-fonte – no segmento de tecnologia da informação.
O código-fonte de um programa diz respeito à sua estrutura, que corresponde a um grupo de palavras e símbolos ordenados, escritos em uma linguagem de programação que permite que sejam executados por um computador.
Em outras palavras, a versão mais simples de um software o apresenta da maneira como ele foi escrito por um desenvolvedor (um programador).
Uma ferramenta open source disponibiliza essa versão ao público, sem restrições.
Dizer que um software é open source também pode significar que ele possui a licença concedida pela Open Source Initiative (OSI), obedecendo às exigências dessa entidade.
Uma delas afirma que, quando um desenvolvedor cria novas versões ou inclui melhorias, ele é obrigado a manter a licença open source, o que impede que lucre com a comercialização da ferramenta.
O que é código aberto e fechado?
Os primeiros softwares construídos eram proprietários, o que significa que o acesso ao seu código-fonte, modificações e distribuição ficavam restritos às empresas que os criaram.
É o caso de soluções de grandes companhias, como o pacote Office da Microsoft, que possui código fechado, sem acesso ao público.
Porém, durante as décadas de 1980 e 1990, ativistas e desenvolvedores iniciaram movimentos em favor da liberdade e compartilhamento do código fonte, defendendo uma filosofia open source.
Nascia, então, o conceito de código aberto.
Na ocasião, a ideia de proporcionar alternativas à indústria de software foi fundamentada por Eric Raymond e seus colegas, fundadores da OSI (Open Source Initiative).
A OSI pode ser descrita como uma iniciativa em prol do desenvolvimento de modelos colaborativos, que possam ser acessados por qualquer programador, em qualquer parte do mundo.
Qual a diferença entre software livre e software open source?
Se você fizer uma pesquisa rápida em mecanismos de busca, vai reparar que os termos “software livre” e “open source” são empregados como sinônimos em diversos sites.
E isso não acontece à toa.
Ambas as expressões se referem a filosofias baseadas em ferramentas de código aberto – e o ideal open source foi inspirado na defesa dos softwares livres.
Porém, existem diferenças.
De forma resumida, os chamados softwares livres correspondem àqueles que seguem padrões da GPL (General Public License), licença que regulamentou o uso dessas ferramentas de modo formal.
Esse conceito é uma das bandeiras levantadas pela Free Software Foundation, que afirma:
“Por ‘software livre’ devemos entender aquele software que respeita a liberdade e senso de comunidade dos usuários. Grosso modo, isso significa que os usuários possuem a liberdade de executar, copiar, distribuir, estudar, mudar e melhorar o software. Assim sendo, ‘software livre’ é uma questão de liberdade, não de preço.”
Seus critérios incluem quatro liberdades essenciais:
- Liberdade nº 0: Executar o programa para qualquer propósito
- Liberdade nº 1: Estudar o programa para entender como ele funciona e modificá-lo, adaptando a solução às suas necessidades
- Liberdade nº 2: Redistribuir cópias para ajudar outras pessoas
- Liberdade nº 3: Aprimorar o software e disponibilizar essas melhorias, de maneira que a comunidade se beneficie delas.
Já os softwares open source não obedecem a essas exigências.
Sua modificação e redistribuição podem ser restritas, de acordo com regras formuladas pelo desenvolvedor.
Desde que elas se enquadrem nos requisitos estabelecidos pela OSI, o software terá a licença open source concedida.
Nesta página, você confere uma lista com as soluções que possuem essa autorização.
Um exemplo de ferramenta open source que não se enquadra em software livre é o navegador Mozilla Firefox.
Sua desenvolvedora, a Mozilla Foundation, libera o código-fonte do Firefox para ser lido e editado por qualquer pessoa, através de sua própria licença, chamada Mozilla Public License.
Porém, esse conjunto de regras deixa claro que, ao redistribuir uma versão modificada do navegador, ela deverá receber um novo nome – ou seja, não pode se chamar Firefox.
Um software livre, por outro lado, não requer que suas versões aprimoradas sejam renomeadas.
Como surgiram os conceitos de open source e software livre
Mencionamos, acima, que a ideia de software livre surgiu antes de se falar em conceito open source.
Nos anos 1980, o militante Richard Stallman fundamentou o projeto GNU, buscando construir um software que pudesse ser lido, modificado e redistribuído livremente.
A iniciativa foi a base tanto para o lançamento da licença GPL (General Public License), em 1989, quanto para a formação de programas como o Linux, um dos principais softwares livres.
Na década seguinte, Stallman deu sequência a suas ações contra a ideia de softwares proprietários, à frente da Free Software Foundation.
Mais tarde, em 1998, colegas de Stallman que discordavam das regras para software livre acabaram formando a Open Source Initiative, com objetivos voltados à programação.
Apesar de inspirada nos princípios do software livre – ambos priorizam questões como o código aberto -, a OSI permite que os desenvolvedores criem normas específicas para a modificação e distribuição dos programas.
Em seu site oficial, a OSI se apresenta como uma organização global sem fins lucrativos que contribui com a educação, colaboração e infraestrutura de ferramentas open source.
Também afirma que os softwares de código aberto são fabricados a muitas mãos, uma vez que diversas pessoas trabalham em seu aprimoramento.
Benefícios de um software open source
Programas de código aberto oferecem uma série de vantagens, tanto para desenvolvedores quanto para empresas que apostam nessas soluções.
Neste tópico, detalhamos as principais.
Personalização
As ferramentas que seguem o conceito open source fornecem o código-fonte não apenas para leitura, como também permitem sua adaptação.
Dessa forma, usuários que tenham conhecimento na linguagem de programação adotada pelo programa podem fazer adaptações para melhorar a experiência junto a essa solução.
Isso significa que um programador consegue personalizar o software, inserindo ou retirando botões, comandos e outros itens para facilitar seu uso.
Imagine o impacto dessa ação em um escritório ou departamento de uma companhia.
É possível aumentar a produtividade, simplificar a comunicação e até elevar os lucros investindo em opções open source.
Maior controle
Ao contrário dos softwares proprietários, os de código aberto podem ser corrigidos a qualquer momento e por qualquer desenvolvedor, sem precisar esperar por atualizações da empresa criadora da solução.
Portanto, as falhas são encontradas e alinhadas de modo ágil.
Diminui gastos
Esse é um dos pontos mais populares sobre o conceito open source, já que, muitas vezes, não é necessário pagar por uma licença de uso do software.
Entretanto, vale deixar claro que a gratuidade não é uma regra para os softwares de código aberto.
De qualquer forma, escolher essas soluções acaba enxugando custos, especialmente em companhias que contam com seus próprios desenvolvedores.
É possível, por exemplo, comprar uma única versão e atualizá-la com frequência, em vez de adquirir novas a cada atualização lançada pelo seu desenvolvedor.
Incentiva a colaboração
Enquanto o mercado de tecnologia da informação se torna cada vez mais competitivo, o movimento open source vai na contramão das disputas entre companhias do mesmo setor.
Afinal, as ferramentas são constantemente aprimoradas e redistribuídas, deixando que as melhorias ultrapassem os muros da empresa e alcancem toda uma comunidade.
Assim, programadores de negócios concorrentes podem trabalhar juntos, colaborando para um propósito maior.
Outra vantagem é o fortalecimento do trabalho em equipe nos departamentos de TI.
Aumenta a transparência
Em um mundo extremamente digital, a privacidade é uma das maiores preocupações de quem utiliza programas de computador.
Quando possuem código fechado, não dá para ter certeza dos dados que eles coletam, por exemplo.
Mas as ferramentas open source resolvem essa questão.
Elas garantem a transparência quanto a esses e outros fatores, pois o desenvolvedor tem acesso a toda a sua estrutura.
Interação com outras ferramentas
Em geral, as soluções proprietárias não permitem interações com softwares e dispositivos de outros desenvolvedores, o que pode complicar a rotina dos profissionais de TI.
Ferramentas open source, por outro lado, se adaptam com mais facilidade a produtos de origens variadas.
Desvantagens de um software open source
Apesar dos benefícios, apostar em softwares open source tem suas desvantagens, conforme listamos a seguir:
- Não conta com garantias de proteção aos dados ou entidades que fiscalizem todas as soluções com código aberto
- Menor segurança devido à livre configuração, o que pode gerar problemas para plataformas de e-commerce (lojas virtuais), por exemplo, expondo dados financeiros dos clientes
- Exige conhecimentos avançados em programação, incluindo o domínio da linguagem utilizada para escrever o código-fonte do programa
- Implica em fiscalização constante a cada trecho do software, a fim de corrigir falhas
- Não oferece suporte específico
- Coloca toda a atualização, gestão do software e hospedagem nas mãos do usuário
- Erros corrigidos por outros programadores nem sempre chegam a todas as comunidades e usuários de uma ferramenta open source
- Dependendo do programa, pode resultar em plataformas com carregamento lento e restrições quanto ao layout.
10 características de um software Open Source
De acordo com a OSI, existem dez requisitos para que um programa seja considerado open source.
Ou seja, esse conceito abrange fatores que vão além de liberar o código-fonte do software, fomentando a composição de comunidades de desenvolvedores que têm a possibilidade de construir soluções fora da indústria de software.
No entanto, até mesmo grandes corporações do setor vêm colaborando para a criação de ferramentas open source, a exemplo da Intel, IBM e Dell, que participam do Open Source Development Lab (OSDL).
A OSDL é uma organização não governamental, sem fins lucrativos, que reúne empresas em prol do desenvolvimento de soluções como a interface usada no aprimoramento de softwares Linux.
Confira, abaixo, 10 características dessas e outras ferramentas open source.
1. Distribuição livre
Para ser uma ferramenta de código aberto, a solução deve permitir o acesso gratuitamente, não tendo sua licença vendida ou trocada.
2. Código fonte
O código que estrutura o software deve ser fornecido em um formato simples, que seja compreendido por todos os programadores.
Sua distribuição precisa incluir uma modalidade compilada, facilitando a leitura e avaliação inicial.
3. Trabalhos derivados
Como explicamos antes, a liberação do código-fonte deve permitir não somente a leitura, mas também a edição por outros desenvolvedores.
As novas versões ou trabalhos derivados podem ser redistribuídos livremente, desde que sigam os mesmos termos da licença original.
4. Integridade do autor do código fonte
Esse é um dos pontos que diferencia o programa open source de um software livre – que possibilita a redistribuição sem mecanismos de preservação do desenvolvedor.
Quem cria ferramentas de código aberto pode solicitar que os trabalhos derivados recebam novos nomes ou números de versão que os diferenciem do programa original.
5. Não discriminação contra pessoas ou grupos
A ideia é democratizar o acesso aos softwares e, portanto, não é permitida qualquer forma de discriminação.
Desde que tenha conhecimentos em programação, uma pessoa ou grupo pode acessar, adaptar e redistribuir a solução em código aberto.
6. Não discriminação contra áreas de atuação
Pessoas físicas ou jurídicas atuantes em quaisquer segmentos podem fazer uso dos softwares em código aberto, desde que respeitem as limitações da licença.
7. Distribuição da licença
Uma vez concedida a licença, ela é automaticamente distribuída a todos os usuários da ferramenta open source.
Em outras palavras, não é preciso renovar a licença para utilizar essas soluções.
8. Licença não específica a um produto
Estar em consonância com as exigências da OSI implica em liberar todo o programa, sendo que ele não pode ser parte de um software maior.
9. Licença não restrinja outros programas
Essa característica reforça a anterior, garantindo que a licença open source não contemple soluções que tenham qualquer restrição para programas distribuídos juntos.
10. Licença neutra em relação à tecnologia
Ferramentas open source não podem exigir o uso de determinada tecnologia ou interface para que sejam utilizadas.
Implicações da transformação digital e softwares open source
Mais que um jargão para impulsionar o emprego de novas tecnologias, a transformação digital consiste em uma mudança de mentalidade dentro das organizações.
Ao adotar esse processo, elas deixam de lado conceitos antigos para aderir à lógica digital, que implica em uma melhoria em seu desempenho para oferecer produtos e serviços com agilidade e flexibilidade.
Afinal, o cliente ou usuário está sempre buscando por experiências mais ricas, que proporcionem uma conexão com as instituições.
Nesse cenário, fica cada vez mais complicado depender de um único desenvolvedor para solucionar um problema ou fazer adaptações em um software.
Por vezes, as organizações serão prejudicadas se precisarem esperar, por exemplo, pelo lançamento de uma nova versão de um programa.
Daí a importância e ascensão das ferramentas open source, que permitem modificações rápidas, realizadas por qualquer programador.
Essas soluções não apenas são adaptadas, como servem de base para a criação de sistemas executados em computadores e dispositivos mobile.
Para se ter uma ideia, um estudo da empresa americana Black Duck mostrou que componentes advindos de código-fonte aberto estão presentes em 96% dos aplicativos desenvolvidos para uso comercial.
Em média, os apps possuem 147 trechos originados de softwares open source.
O conceito de código aberto também engloba características extremamente valorizadas no ambiente digital, como a colaboração, transparência e liberdade.
É por isso que essas soluções estão, pouco a pouco, se inserindo na rotina de indivíduos comuns.
Em artigo no LinkedIn, o engenheiro Aslan Carlos relata a utilização de sistemas open source no dia a dia das pessoas, com destaque para sua presença:
- Em apps de smartphones
- Smart TVs
- Receptores de televisão a cabo
- Câmeras de vigilância
- Computação em nuvem.
O especialista afirma, ainda, que os códigos open source farão parte do futuro, influenciando e favorecendo o compartilhamento de tecnologias emergentes, a exemplo da internet das coisas (IoT), blockchain, realidade virtual (VR), security e analytics.
Conclusão
Partindo de ideais de compartilhamento, as soluções open source têm uma contribuição fundamental para a inovação fora da indústria de software.
Elas permitem a leitura, compartilhamento e redistribuição de diferentes programas, agregando benefícios como redução de custos e maior transparência para o usuário.
Contribuem, também, para a transformação digital, conectando organizações a sistemas ágeis e flexíveis.
Gostou de expandir os conhecimentos sobre as ferramentas de código aberto?
Então, continue navegando pelo blog da FIA e conheça outros conceitos que estão revolucionando o mundo dos negócios.