• Sobre a Revista
  • Editorial E&S
  • Artigos
    • Análise de Conjuntura
      • Edição atual
      • Edições anteriores
    • Educação
      • Edição atual
      • Edições anteriores
    • Gestão
      • Edição atual
      • Edições anteriores
  • Colunistas
    • Colunas
  • Mídias
    • Entrevista
  • Contato
EntrarCadastre-se
Coluna

As vantagens do uso do código aberto

25 de julho de 2024

6 min de leitura

Custo é menor, e comunidade consegue contribuir com atualizações e melhorias

Para que qualquer software seja executado no computador ou celular, primeiro é necessário que alguém escreva seu código-fonte, que então será traduzido em código de máquina para, finalmente, ser executado no dispositivo. Geralmente, temos acesso apenas a esse código de máquina, que é praticamente impossível de entender. No entanto, alguns softwares vão além e disponibilizam também o código-fonte, legível para quem entende a linguagem de programação utilizada para escrevê-lo.

A maioria das pessoas depende no dia a dia de alguma ferramenta cujo código-fonte está disponível ao público. Inclusive aquelas que não têm código-fonte acessível também se beneficiam de alguma forma de projetos que disponibilizam os seus.

O compartilhamento de código-fonte sempre foi uma prática comum na comunidade científica e entre entusiastas da computação, seja para disseminação de conhecimento, seja para correção de erros ou como forma principal de distribuição de softwares.

A ideia de publicar o código-fonte com uma licença que permita sua modificação e redistribuição foi formalizada com a criação da Fundação de Software Livre, liderada por Richard Stallman, em 1985.

Em 1986, Stallman apresentou a primeira definição de software livre, que estabelece que, para ser considerado como tal, o software deve garantir as liberdades de executar, estudar, modificar e distribuir o código. Segundo ele, “as liberdades do software livre estão entre os direitos humanos que a sociedade deve estabelecer e proteger” e são essenciais para a manutenção de outros direitos humanos. Em 1998, porém, um novo conceito foi cunhado, de modo a partir do ponto de vista estratégico e prático do desenvolvimento: o “código aberto” (“open source”).

Diferentemente da definição de software livre, cuja origem era política e filosófica, a noção de código aberto visou definir uma estratégia de desenvolvimento que trouxesse benefícios aos que a adotam, já que contribuições externas ajudam com a redução de gastos e a maior velocidade de desenvolvimento.

O conceito foi idealizado pela recém-formada Open Source Initiative (Iniciativa do Código Aberto). Para uma licença ser considerada como código aberto, é preciso que ela respeite dez critérios que garantem, em resumo, que o código possa ser redistribuído livremente, incluindo novas adições e mudanças, sem restrição e discriminação entre usuários, grupos ou campos de aplicação.

Mesmo tento filosofias diferentes, os dois conceitos resultaram em uma prática similar, voltada para a contribuição e o desenvolvimento aberto, termos que, hoje em dia, são usados de forma indistinta. Uma nova definição, inclusive, vem ganhando popularidade: Free Open Source Software (software livre de código aberto), incorporando ambos os conceitos, o de código aberto e o de software livre. Daqui em diante será usado o termo “código aberto” para fazer referência tanto a projetos considerados como software livre quanto ao código aberto baseado na definição da Open Source Initiative.

Direitos autorais

É importante notar que código aberto não se encaixa dentro do conceito de domínio público, uma vez que é protegido por direitos autorais, mesmo que seus termos permitam a redistribuição e a modificação de forma similar ao domínio público. Além disso, na maioria das licenças de código aberto, ainda é necessária a referência aos autores e a inclusão da licença em todas as cópias distribuídas.

Código aberto também não significa que qualquer contribuição será aceita, independentemente da qualidade e dos objetivos. Os projetos de código aberto são liderados por mantenedores, que são os desenvolvedores responsáveis por analisar e discutir as contribuições da comunidade e que, em geral, também são os maiores contribuidores das iniciativas. Dessa forma, os novos recursos sempre buscam melhorias no software com seus usuários em mente e podem ser sugeridos e implementados pela própria comunidade.

Bifurcação

Por outro lado, nem sempre a comunidade concorda com o desenvolvimento do projeto.  Devido às liberdades do código aberto, qualquer um pode criar um “fork” (bifurcação), uma versão do código com suas próprias modificações. Porém, enquanto o código sob licença de código aberto permite a publicação dessas versões, logos e nomes podem estar sob diferentes licenças, o que geralmente resulta em nomes e logos distintos dos apresentados nos projetos originais.

Muitas vezes esses forks são criados por membros da comunidade que desejam seguir no desenvolvimento do projeto, mas em rumos diferentes, e não é incomum que essas modificações acabem no código original depois de um tempo, assim como também não é incomum que um fork acabe mais popular do que o projeto original em que é baseado.

Recentemente a empresa responsável pelo desenvolvimento do software de banco de dados Redis passou a lançar as novas versões do projeto com uma licença mais restritiva, que não é considerada de código aberto. Como resposta, a comunidade criou um fork que irá seguir o desenvolvimento a partir da última versão disponível com licença de código aberto. Empresas como Amazon e Google já estão apoiando o novo fork financeiramente.

Existem softwares abertos para diversos fins, e muitos projetos são alternativas para versões pagas, como o Libre Office (alternativa ao Office da Microsoft), o GIMP (Editor de imagem, alternativa ao Adobe Photoshop) e o Zotero (Gerenciador de referência, alternativa ao Mendeley). Outros projetos são referências em suas áreas, como o Open Broadcaster Software (OBS), para transmissões ao vivo, o VLC, para reproduzir mídia, e projetos como o Blender, um software de modelagem e animação 3D que foi utilizado em múltiplos curtas de animação premiados, como “Agent 327” e “Spring”.

Essa lista não inclui somente projetos com poucos desenvolvedores ou empresas pequenas. Os navegadores Edge, Chrome e Opera dependem do Chromium, um projeto de código aberto desenvolvido e mantido pelo Google. Os celulares Android utilizam uma versão modificada do Linux, um sistema operacional de código aberto. Empresas como Netflix e Meta também possuem múltiplos projetos disponíveis em código aberto.

Vantagens

O custo é apenas uma das vantagens de utilizar projetos de código aberto. Em virtude de o seu desenvolvimento estar muito atrelado à maneira como a comunidade usa, essas ferramentas são desenvolvidas para funcionar bem com outros softwares, sem que seu uso seja limitado aos softwares da mesma empresa. Também é possível encontrar versões oficiais ou adaptadas pela comunidade para cada sistema operacional. Outro benefício é que muitas vezes a documentação e os manuais também estão disponíveis em uma licença de código aberto, o que significa que a comunidade consegue contribuir com atualizações, melhorias na escrita e exemplos de uso.

Porque o código está disponível para todos, problemas de vulnerabilidade são menos frequentes, pois quem depende da ferramenta pode revisar e validar o código e, caso alguma falha seja encontrada, indicar para os desenvolvedores ou até mesmo implementar uma solução própria.

Algumas empresas fornecem suporte especializado pago para os softwares que desenvolvem e distribuem por meio de código aberto. Outras oferecem hospedagem para projetos de código aberto, como, por exemplo, o WordPress (WP), que admite sites que utilizam sua ferramenta de gerenciamento de sites e blogs. No entanto, como o código do WP é aberto, é possível hospedar um site em outro local utilizando a mesma ferramenta.

No caso do Chromium e do Linux, múltiplas empresas que dependem desses projetos também fornecem recursos a eles, seja por meio de tempo dos desenvolvedores, seja com doações financeiras para as fundações responsáveis por gerir esses projetos.

Cuidados

No entanto, assim como no caso dos softwares com código fechado, é sempre necessário tomar alguns cuidados antes de se comprometer e depender totalmente de algum projeto de código aberto. É importante levar em consideração se o projeto ainda está em desenvolvimento ativo, possui investimentos ou está atrelado a alguma empresa.

Além disso, uma comunidade grande e ativa costuma resultar em melhor documentação e em mais chances de encontrar ajuda quando necessário. Projetos populares raramente são abandonados, com membros da comunidade assumindo o papel de mantenedores e continuando o trabalho de supervisionar o desenvolvimento.

Na Skylar, utilizamos múltiplos projetos de código aberto, desde as ferramentas para controle de versões (git) até tecnologias para desenvolver nossos aplicativos (React e Vue). O fato de esses projetos serem de código aberto, além de permitir serem completamente adaptados ao nosso uso, é uma garantia de funcionamento, de futuro desenvolvimento e de suporte da comunidade. Quando outros desenvolvedores encontram falhas nesses projetos e as reportam ou contribuem com correções, nós também somos beneficiados. No âmbito da Skylar já fizemos correções de falhas em projetos que usávamos, compartilhando nossa solução com a comunidade.

No geral, adotar o uso de softwares de código aberto pode trazer grandes vantagens, como segurança, qualidade, redução de custos e flexibilidade para futuras mudanças. Entretanto, alguns cuidados devem ser tomados: é importante levar em consideração a comunidade e o suporte disponíveis; outro ponto importante para ter em mente é a maturidade do projeto, para garantir que ele possa ser mantido a longo prazo. Para o projeto, disponibilizar um código com licença de código aberto pode gerar benefícios como contribuição de desenvolvedores de fora da organização, identificação e correção de erros com agilidade e maior transparência e confiança por parte dos usuários, além da criação de uma comunidade em volta dos produtos da empresa.

Para ter acesso às referências desse texto clique aqui

Este conteúdo foi produzido por:

Renato Augusto do Carmo de Lacerda

LinkedIn

Renato Augusto do Carmo de Lacerda é desenvolvedor de software e entusiasta da comunidade Open Source. Desde 2022 contribui com documentação e códigos em diversos projetos. Atua na Skylar na área de desenvolvimento front-end web e possui experiência com criação de landing pages e páginas interativas.

Autor

Foto do Colunista

Skylar

"Startup" de tecnologia e legendagem que faz parte das iniciativas do Pecege, utiliza inteligência artificial e técnicas linguísticas para fazer legendagem em tempo real. Atuante nas áreas de educação, eventos, agronegócio, tecnologia, saúde, entretenimento e esportes, entre outras. Acesse o site!

Created with Sketch. Created with Sketch.

Você também pode gostar

Edições anterioresGestão
<i>Valuation</i> como ferramenta de gestão e solução de conflito entre sócios e acionistas

Valuation como ferramenta de gestão e solução de conflito entre sócios e acionistas

19 de abril de 2024

10.22167/2675-6528-20230131 E&S 2024, 5: e20230131 Elker Willians Arruda Campos Savi e Jorge Luiz de Santana Júnior O valuation é uma ferramenta de gestã...

Luiz Eduardo Giovanelli
Edições anterioresEducação
UX Design e Design Sprint na idealização de uma plataforma educacional para o Ensino Básico

UX Design e Design Sprint na idealização de uma plataforma educacional para o Ensino Básico

26 de dezembro de 2022

DOI: 10.22167/2675-6528-20220037E&S 2022,3: e20220037 Ana Luiza Gasparette dos Santos Cecconi e Alexandre Barreto de Almeida Desde 2012, dados mostram que o...

Edson Mota
Entrevista
O novo perfil do profissional do futuro

O novo perfil do profissional do futuro

17 de janeiro de 2025

“A tecnologia não funciona sozinha; pessoas e tecnologia é que vão fazer um trabalho cada vez mais produtivo e diferenciado” O mercado de trabalho está...

Renata de Gaspari Valdejão Almeida
Edições anterioresGestão
Implementação do discipline agile e educação 3.0 em projetos educacionais sustentáveis

Implementação do discipline agile e educação 3.0 em projetos educacionais sustentáveis

20 de abril de 2023

DOI: 10.22167/2675-6528-20230008E&S 2023, 4: e20230008 Rútilo Pinheiro de Melo Neto; Maria Paula Novakoski Perides As grandes mudanças pelas quais o mundo...

Luana Coletti

Mais recentes

Identificação das partes interessadas no programa Conservador das Águas
Edição atualGestão

Identificação das partes interessadas no programa Conservador das Águas

Estratégias de marketing digital das marcas brasileiras de moda de luxo
Edição atualGestão

Estratégias de marketing digital das marcas brasileiras de moda de luxo

Imposto de Renda 2025: principais mudanças e os desafios para o contribuinte
Análise de ConjunturaEdição atual

Imposto de Renda 2025: principais mudanças e os desafios para o contribuinte

Inscreva-se em nossa newsletter!

Receba indicações de conteúdos e fique por dentro das novidades sobre gestão, liderança e carreira com a Revista E&S

Logo Revista E&S

Revista de caráter técnico-científico que visa publicar artigos inovadores de excelência, abordando estratégias e soluções nas áreas de gestão e educação.

Created with Sketch.

Onde estamos

Rua Cezira Giovanoni Moretti, 580 Bairro Santa Rosa, Piracicaba, SP - 13.414-157

Tel: (19) 3377 0937

E-mail: esrevista@pecege.com

Acesso Rápido

  • Editorial E&S
  • Sobre a Revista
  • Colunistas
  • Artigos
  • Contato
Patrocínio
Apoio

Parceiros

Revista E&S - Todos os direitos reservados - Copyright © 2025 · Criado por Pecege