O Valor do Software Livre
Você já deve ter ouvido falar, mas sabe o que são Projetos de Código Aberto? Projetos de Software Livre, também conhecidos como Projetos Open Source ou Projetos de Código Aberto, nada mais são do que projetos de desenvolvimento de software desenvolvidos de maneira aberta, ou seja, pública. Esses projetos agregam em si valores muito mais amplos do que simplesmente o desenvolvimento do código-fonte de um novo programa ou sistema. O desenvolvimento de software de maneira aberta favorece a construção de um ambiente colaborativo e moderno no qual o conhecimento é criado de maneira compartilhada e distribuída, ampliando os horizontes de impacto do projeto.
Mas vamos com calma. Comecemos com uma breve viagem na história recente do desenvolvimento de software. Com o surgimento da internet, esperava-se que o mundo se tornasse mais colaborativo, aberto e integrado, uma vez que distâncias e barreiras físicas seriam removidas no espaço aberto da internet. Esse ímpeto inicial, porém, logo foi cooptado por diferentes empresas que surgiram nesse período e logo se tornaram a própria internet para muita gente. Hoje, grandes corporações como Google, Meta e Microsoft dominam o espaço da internet com suas próprias aplicações. O domínio dessas empresas tanto do espaço físico (Hardware) quanto do espaço lógico (Software), acabou por tornar a internet um lugar limitado criativamente, apesar de ainda atravessar fronteiras.
Ao serem pioneiras, essas empresas prestaram serviços essenciais no desenvolvimento da Web, porém também foram moldando esse espaço conforme seus desejos, dando foco ao lucro. Nesse contexto, surgiu o que se denomina a economia da atenção. Nela, as empresas passaram a desenvolver sistemas que buscam cooptar cada vez mais a atenção dos seus usuários em suas aplicações. Nessa economia, quem tiver o sistema que melhor retém a atenção do usuário, lucra mais.
Assim, parece lógico dentro do modelo no qual estamos inseridos que os sistemas desenvolvidos por elas sejam mantidos em segredo máximo, pois se algum concorrente fizer um sistema igual ou melhor o lucro dessas empresas despencaria (Vejamos, por exemplo, disputa atual entre o Instagram e o TikTok). Vale lembrar que essa é a lógica prevalente muito antes da internet, por exemplo na briga entre Coca-Cola e Pepsi em manter secretas as fórmulas de desenvolvimento de suas bebidas. No entanto, a abordagem de desenvolver e esconder limita o espaço para desenvolvimento e inovação, prendendo as empresas em suas próprias bolhas e mantendo as demais pessoas e empresas à margem do desenvolvimento e do conhecimento, impedindo um crescimento coletivo.
Voltando ao aspecto do software, temos que lembrar que projetos desenvolvidos em muitos níveis diferentes não se beneficiam em manter fechados seus códigos-fonte. O compartilhamento desses códigos de maneira pública foi facilitado nos últimos anos com ferramentas como o Github, fundado em 2008 e traz inúmeros benefícios para o processo de desenvolvimento.
Abaixo, listo as três principais vantagens de projetos em código aberto:
Segurança
Quanto ao quesito de segurança, pode parecer contraditório, mas sistemas de segurança desenvolvidos de maneira aberta são mais seguros do que sistemas desenvolvidos de maneira fechada. Isso porque esconder o código muitas vezes permite a tomada de decisão simplista por parte dos desenvolvedores que acaba se tornando uma vulnerabilidade e logo é explorada por hackers. Além disso, o desenvolvimento conjunto de uma estratégia de segurança permite que outras ideias surjam ao longo do processo de desenvolvimento e pessoas diferentes podem encontrar vulnerabilidades que possam ser corrigidas muito mais rapidamente do que um pequeno time de desenvolvedores, interno e fechado.
Custo/Lucro
É claro que empresas trabalham pensando em custo e lucro, mas o processo de desenvolvimento de software de maneira aberta não impacta essa dinâmica, na verdade pode até favorecer aquele que está desenvolvendo o projeto. Citemos um exemplo fictício. A empresa X resolveu desenvolver um software interno de gerenciamento dos recursos financeiros do RH. Para isso, contratou uma equipe de 5 desenvolvedores. Essa equipe irá trabalhar de maneira fechada. Em alguns meses o software está pronto. A empresa começa a usar, às vezes aparecem alguns bugs, mas não parece haver nenhum problema muito grande com o sistema. Em menos de um ano, no entanto, a empresa sofre um ataque hacker e todos os dados salvos no sistema de gerenciamento são comprometidos. Não estou dizendo que se o software tivesse sido desenvolvido de maneira aberta o ataque não teria acontecido, mas se houvessem mais algumas pessoas ali na comunidade trabalhando juntos com essa equipe de 5 desenvolvedores haveria uma chance muito maior de essa vulnerabilidade ter sido percebida antes, não acha? Além disso, a construção do software de maneira livre não impede em momento algum a venda do sistema construído, desde que isso seja explícito para os colaboradores desde o princípio.
Conhecimento Compartilhado
A principal vantagem do desenvolvimento de software de maneira aberta é certamente o conhecimento compartilhado. Como eu havia dito anteriormente, um projeto desenvolvido de maneira aberta favorece a construção de conhecimento da comunidade como um todo, não só da equipe responsável pelo desenvolvimento daquele projeto. O conhecimento que fica disponível naquele projeto pode ser utilizado em outros projetos e agregar conhecimento a esses, gerando um efeito cascata de criação de conhecimento.
Ao sairmos da mentalidade prevalente no mercado de guardar, esconder e lucrar, e passarmos a uma mentalidade de compartilhar, crescer junto e aprender, abrimos espaço para a construção de software muito mais eficiente e de impacto que pode beneficiar não somente a um limitado número de pessoas, mas pode ter impacto para além das fronteiras de um simples projeto e de uma única empresa.
‘Para entender o que é Software Livre, deve-se pensar em “liberdade de expressão”, não em “almoço grátis”. Software Livre é uma questão de liberdade, não de preço.’
Fátima Conti
Se você quiser saber mais sobre Software Livre, recomendo este Pequeno Guia de Software Livre (partes I, II e III) escrito por Fátima Conti em 2017.
É super legal também esse trabalho feito com a comunidade de código aberto criando um guia para projetos Open Source. Se estiver interessado em tornar seu projeto público, pode ser um ótimo ponto de partida!
Vamos juntos construir um espaço de colaboração e desenvolvimento de software livre?
*Otávio Santos Gomes é graduando em Ciência da Computação pela Universidade Federal de Viçosa e pesquisador júnior na área de Democracia e Tecnologia do ITS Rio. Atualmente pesquisa sobre ética no desenvolvimento de software e é defensor do software livre.