O desenvolvimento e distribuição de software é diretamente influenciado pelo tipo de licença sobre a qual este software se encontra. Esta licença irá impor o tipo de uso que os utilizadores do software lhe poderão dar.
Atualmente grande parte das empresas de desenvolvimento de software trabalham principalmente com licenças proprietárias, que determinam que o criador do software (ou seja, a empresa) detenha a propriedade intelectual do mesmo.
Isto impede que o código seja analisado, visto e até melhorado, por qualquer pessoa que não o criador. Em termos monetários, estas licenças são fantásticas para as grandes empresas pois impedem a concorrência de espreitar de que forma é que determinada aplicação foi desenvolvida. Por outro lado, bloqueiam o aparecimento de novas ideias que podem melhorar este software e limitam a criatividade e o possível crescimento tecnológico.
Com isto em mente, foram criadas diversas licenças que permitem a utilização, leitura, alteração e distribuição de software, que são normalmente denominadas de open-source (Código Aberto).
Open-Source
O termo “open-source” é utilizado em referência a algo cujo design está disponível abertamente, para que qualquer pessoa o possa visualizar e partilhar.
É maioritariamente associado a software, dado que inicialmente representava uma abordagem diferente no desenvolvimento de programas, tendo ainda assim vindo a abranger uma série de novas áreas tais como o desenvolvimento de automóveis e edifícios, passando pela culinária (e se os grandes chefs divulgassem as suas receitas para que as pudessemos tentar repetir em casa e aprender com elas?) e pela ciência, com o caso mais recente a ser a divulgação do código-fonte das vacinas desenvolvidas para a COVID-19.
Existem algumas confusões relativamente ao FOSS (Free Open-Source Software), principalmente relativamente ao preço a que estes programas são vendidos. Neste termo, o “Free” representa “Freedom”, a liberdade que dá aos utilizadores de fazerem o que quiserem com o software, e não “Free” de grátis.
Contribuições
Agora deves estar a questionar-te “mas porque é que as pessoas trabalham gratuitamente?”
Muitos dos contribuidores de projetos open-source tendem a fazê-lo nos seus tempos livres, utilizando assim estas contribuições como uma forma de ajudar outros projetos e também melhorar as suas próprias capacidades (uma vez que muitos dos contribuidores são programadores, e estão no fundo a aprender enquanto o fazem).
Para além disso, o sentido de comunidade e de ajudar no crescimento de projetos nos quais acreditamos é um dos principais pontos que tem feito a comunidade open-source crescer tanto nos últimos anos.
Sabes aquela ideia espectacular e bastante útil que pediste à empresa que faz o teu software para implementar e eles ignoraram?
Podias ser tu a implementá-la ou expor o pedido e contar com o apoio de alguém que a achasse igualmente útil e a conseguisse pôr em prática.
Como é que as empresas ganham dinheiro?
Já percebemos porque é que as pessoas contribuem de forma gratuita, mas e as empresas? Porquê desenvolver algo que está disponível para toda a gente, incluíndo a concorrência?
As várias possibilidades incluem a venda do software como um serviço, normalmente associada a uma subscrição, permitindo uma redução dos custos de desenvolvimento e uma maior ligação às necessidades dos seus utilizadores. Um bom exemplo deste sistema é a plataforma WordPress da Automattic, que disponibiliza o código abertamente e de forma gratuita, cujos rendimentos provêm da venda de extras tais como temas, backups e outras funcionalidades.
Para além disso, também é comum a venda de apoio aos utilizadores e de certificações pelas empresas.
Porque deve um não-programador utilizar programas open-source ou proprietários?
Os principais pontos a favor são o controlo, a segurança e a estabilidade. Quando um sistema é fechado, todo o controlo está do lado do criador, que o pode parar de trabalhar nele a qualquer momento, parando assim as atualizações que possam ser necessárias.
Por outro lado, num sistema aberto, a existência de problemas ou vulnerabilidades importantes pode ser imediatamente assinalada e explorada pela comunidade de forma a resolver este tipo de questões o mais rápido possível.
É ainda possível contribuir para software open-source não sendo da área do desenvolvimento, como por exemplo propondo traduções, acrescentando algum tipo de documentação, e até mesmo apenas utilizando o produto, o que pode ser importante para a deteção de bugs ou erros que possam existir.
Os exemplos mais conhecidos
O número de programas que utilizam licenças open-source tem vindo a aumentar substancialmente, sendo o browser Mozila Firefox, a plataforma de criação de conteúdo WordPress, a ferramenta de desenvolvimento 3D Blender alguns dos exemplos mais conhecidos em diversas áreas, juntamente com os Sistema Operativos Android e Linux.