Linux Park: Definição de Software Livre e Código Aberto
No mundo da programação, nos deparamos com vários projetos que são chamados de open-source, ou seja, que têm o seu código-fonte aberto e disponível para qualquer pessoa ver, modificar, usar e distribuir de acordo com suas licenças.
Alguns exemplos de projetos open-source famosos são o Linux, o Android, o Firefox, o WordPress, o GIT, etc.
- Qual é a diferença entre open-source e software livre?
- Mas o que significa exatamente ser open-source?
É importante entendermos que o termo "livre" em "software livre" não significa ser grátis.
Para entender o conceito, você deve pensar em “livre” como em “livre expressão”, não como em “cerveja grátis” - Richard Stallman
Independentemente de você ter de pagar ou não pelo software, existem quatro critérios que
definem um software livre:
0. A liberdade de executar o programa como você deseja, para qualquer finalidade
O que você irá fazer, onde e o real propósito do uso não é restringido.
1. A liberdade de estudar como o programa funciona e de alterá-lo para que ele compute seus dados da maneira como você deseja
Qualquer pessoa pode alterar o software de acordo com suas idéias e necessidades, acesso ao código fonte é um pré-requisito e todos os arquivos que compõem o software devem estar disponíveis em um formato legível.
Esse direito se aplica a um único usuário que pode querer adicionar um único recurso, mas também a empresas.
2. A liberdade de redistribuir cópias para ajudar os outros
Esta liberdade permite e encoraja cada usuário a compartilhar o software com outras pessoas.
Com esta ampla distribuição, formam comunidades de usuários e desenvolvedores, que juntos desenvolvem e aprimoram ainda mais o software para o benefício de todos.
3. A liberdade de distribuir cópias de suas versões modificadas para outras pessoas
Além da liberdade anterior, podemos distribuir o software livre modificado.
Qualquer pessoa que fizer alterações em um software livre tem o direito de disponibilizar as alterações para outros.
Mas é obrigado a distribuir essa modificação e mesmo sendo um projeto maior ele irá herdar as liberdades do software original.
A idéia de software livre, de liberdade, vem de um movimento social e político contra softwares que não disponibiliza essas liberdades acima, o qual chamamos de software proprietário.
Veja o exemplo do Unix. Na época, ele era esse software proprietário, que mantia tudo guardado as setes chaves.
Assim surgiu o movimento GNU com o objetivo de criar um sistema operacional padrão Unix completamente livre.
E mais tarde o Linux, que é um dos exemplos mais conhecidos e bem-sucedidos de software livre.
E hoje, muitas empresas colaboram com o desenvolvimento do Linux.
Fruto desta colaboração mundial, o Kernel 5.8 teve em média 10 commits por hora, por hora!
Com o sucesso do Linux, e com o sucesso dessa colaboração pela internet, várias empresas surgiram em meio a esse novo modelo de desenvolver projetos, e o aspecto social de manter o código aberto perdeu sua força e deu lugar a uma técnica.
E essa é a diferença entre um software livre e um software de código aberto.
O software livre e o software de código aberto fazem a mesma coisa, do mesmo jeito e com a ajuda de muitas pessoas, grupos e empresas pelo mundo.
Mas eles têm ideias diferentes sobre o que é importante — uma pensa mais nas pessoas e outra pensa mais na técnica — e às vezes isso causa problemas.
Eles acontecem quando a empresa mostra como o software funciona, mas não deixa as pessoas fazerem tudo o que quiserem com ele, por exemplo quando tem regras que impedem de mudar, de compartilhar ou de juntar com outras partes do software.
E essas regras estão na licença.
O software é diferente de uma coisa que você pode tocar e passar para outra pessoa. Ele é um produto digital que você só pode usar se a empresa que fez ele permitir.
A empresa escreve o que você pode ou não fazer com o software na licença. Por isso, a licença é muito importante.
E como as necessidades e os motivos podem variar muito, existem várias licenças diferentes para o software.
Os que defendem o software livre e os que apoiam o código aberto criaram suas próprias organizações, que hoje são responsáveis por fazer as licenças do software de acordo com seus princípios.
- [Veja as principais licenças] (post futuro)
Este post faz parte dos conteúdos adicionais do Linux Park e será usado quando abordar as licenças e liberdades do Linux.
Irei redirecionar todos os alunos/leitores que quiserem ler os conteúdos extras para o TabNews.
É um conteúdo mais denso, e espero que tenha explicado de uma forma legal. O que acharam? Seu feedback será importante para ajustar e trazer um bom conteúdo para todos.