«A batalha é vencida, antes de a guerra começar». Esta citação de Sun Tzu enfatiza a importância da preparação, do planeamento e da estratégia antes de enfrentar qualquer desafio. O software de código livre permite essa preparação e estratégia, porque a base de grande parte do software proprietário começou por ser aberto. Mas o que é o código aberto? É um modelo de desenvolvimento de software em que o código-fonte é disponibilizado publicamente. Isto significa que qualquer pessoa pode ver, modificar e distribuir o código. Ao contrário do ‘software’ proprietário, onde o código-fonte não está acessível ao “mundo”, o código aberto promove a transparência e a participação colaborativa.
Um exemplo paradigmático de grande sucesso é o Linux, um sistema operativo que cresceu para se tornar uma alternativa robusta e confiável aos sistemas operativos comerciais. Outros exemplos são o Apache (um servidor web de código aberto) e o navegador Firefox (que desafia o domínio dos browsers proprietários). A OpenAI, que inicialmente era conhecida por ter soluções de código aberto, desenvolve modelos de linguagem de última geração, como o GPT(Generative Pre-trained Transformer), treinados em grandes conjuntos de dados para entender e gerar texto de maneira cada vez mais sofisticado.
As vantagens e o impacto do código-aberto
Uma das vantagens é a transparência: permite-nos ter visibilidade total sobre o funcionamento do software, o que contribui para a detecção e correcção de falhas. Outra vantagem, é a sua flexibilidade e personalização: podemos adaptar o software às nossas necessidades, o que promove soluções mais personalizadas e eficientes. Por último, mas não menos importante, é a ausência do custo de licenciamento associado à aquisição de software, tornando-o acessível a uma ampla gama de utilizadores e organizações. Claramente, estas vantagens têm impacto na sociedade actual, profundamente dependente da tecnologia, mas não só: ajudam a diminuir a lacuna digital, em comunidades e países com recursos limitados, onde a tecnologia é mais escassa ou inexistente. Para exemplificar, no Ruanda, foi implementado um sistema de informação de saúde, que tem como base código aberto, para monitorizar e gerir dados em todo o país. Outro exemplo, vem do Uruguai: o Plano Ceibal é um projecto que fornece portáteis e tablets a estudantes, em escolas públicas. O sistema operativo utilizado é baseado em Linux, o que reduz custos e promove a inclusão digital.
Nem tudo é perfeito
Apesar de a escolha de ‘software’ de código aberto para uso doméstico ser mais simples, para uma empresa, não. Em muitos casos, o apoio técnico pode ser limitado em comparação com as soluções comerciais; depois, a responsabilidade de resolver problemas recai, muitas vezes, sobre a comunidade de programadores voluntários. Isto pode causar atrasos ou falta de respostas, bem como um maior custo em contratar técnicos especializados. Além disto, o facto de o código ser exposto publicamente facilita a identificação de vulnerabilidades e a sua correção depende da rapidez da comunidade responsável por esse software. A falta de controlo sobre o desenvolvimento do software, distribuído entre os membros da comunidade, também vai prejudicar a autonomia da empresa.
É importante notar que estas desvantagens podem variar conforme o projecto de código aberto e as necessidades da organização. Em muitos casos, as vantagens do código aberto superam qualquer desvantagem, mas a decisão da escolha deve ser feita com base numa avaliação cuidadosa das necessidades e de restrições específicas.
Inovação através da colaboração
Independentemente da escolha, ou não, de ferramentas de código aberto, a sua essência, reside na mentalidade de partilha e colaboração. Essa abordagem transcende o desenvolvimento de software e influencia a cultura de inovação. A troca de ideias, a resolução colaborativa de problemas e a disseminação de conhecimento são os pilares que impulsionam os avanços tecnológicos, pois os projectos de código aberto servem, frequentemente, como incubadores para ideias disruptivas e para desafiar paradigmas estabelecidos. O campo da inteligência artificial (IA), muito mediático ao longo deste ano, é um exemplo impressionante de como o código aberto impulsiona a inovação. Projectos como TensorFlow, desenvolvido pela Google, e PyTorch, mantido pela Meta, são fundamentais para o avanço rápido da IA. A colaboração global nestas iniciativas acelera a pesquisa e democratiza o acesso a ferramentas poderosas deste tipo.
Conclusão
O código aberto emergiu como um catalisador essencial para inovações tecnológicas. A sua abordagem transparente, flexível e colaborativa não apenas beneficia, mas também fortalece a sociedade. À medida que continuamos a enfrentar desafios tecnológicos complexos, a filosofia do open source promove o progresso, a inclusão e a inovação contínua.
Por isso, em vez de apenas escolhermos entre as ferramentas ‘A’ e ‘B’, é importante entendermos o que está por trás do seu desenvolvimento, uma vez que isto ajuda a fazer escolhas mais conscientes. Sempre que posso, opto por usar ferramentas de código aberto que respondam às minhas necessidades. É por isso que o Linux é o meu principal sistema operativo no computador, em casa. Esta mudança permitiu-me começar a perceber gradualmente os benefícios da escolha de software, mesmo em sistemas operativos fechados. Passamos horas a usar tecnologia e a trocar informações, por isso, mais que nunca, é crucial ter cuidado na escolha do software. Costumo verificar se o software é de código aberto, onde posso encontrar o código, que tipo de suporte tem, onde está a documentação, quantas actualizações são feitas diariamente e se a sua utilização trará benefícios a curto/médio prazo.
Há espaço para o software aberto e fechado existirem lado a lado, ao contrário do que alguns fanáticos com uma visão extremista ou quase religiosa pensam. Isto afasta as pessoas do que realmente importa: não é se o software é de código aberto ou fechado, mas sim a liberdade consciente de escolher com base no conhecimento. Isto faz-me lembrar uma cena de The Matrix, onde Cypher faz um acordo para voltar à Matrix com o agente Smith. Não importa se foi uma boa ou má escolha: foi uma escolha livre e consciente com base no conhecimento dos dois lados. Para mim, o mais importante em qualquer escolha de ‘software’ é conhecer as vantagens/desvantagens de usar a ferramenta ‘A’ ou ‘B’ e, só depois, escolher.