Tudo o que você vê na tela consiste em linguagem. Alguém, em algum lugar, escreveu palavras destinadas a seu computador entender. Essas palavras, essa linguagem, é conhecida como código.
Para que nosso computador saiba o que fazer, ele precisa entender esse código. Se isso acontecer, ele pode agir. Mas para entendermos o que nosso computador está realmente fazendo, também precisamos ler o código.
O software de código aberto permite que você veja esse código. O software de código fechado não. Então, quais são esses dois tipos de software e por que ambas as abordagens existem?
O que é software de código aberto?
Software livre e de código aberto é um software em que você não apenas tem acesso para usar livremente um programa, mas também para visualizar, editar e compartilhar seu código-fonte.
Código-fonte refere-se ao código que uma pessoa (ou, em algumas ocasiões, um computador) digitou ao criar um programa. Isso é diferente do código binário, que é a linguagem real que um computador fala. Quando um programador termina de escrever um programa, ele compila o código-fonte em um programa binário.
Um humano sabe ler o código-fonte. Um computador sabe ler código binário.
Quando alguém distribui um programa, normalmente fornece um arquivo binário que você pode executar em seu computador. Esse programa não é gratuito e de código aberto, a menos que eles também forneçam o código-fonte e a liberdade de fazer com ambos o que você deseja.
O que é software de código fechado?
Software de código-fonte fechado é um software cujo uso vem com restrições, principalmente a incapacidade de ver o código-fonte. Você só tem acesso ao arquivo binário.
O software de código fechado também é conhecido como software proprietário. Isso ocorre porque os desenvolvedores de software consideram o código-fonte como informação privada e proprietária. Fornecer a qualquer pessoa acesso a este código, em sua opinião, seria dar a outros uma vantagem competitiva: a capacidade de copiar e editar livremente um programa sem ter que contratar um desenvolvedor ou equipe de desenvolvedores para fazer o mesmo trabalhar.
A menos que você tenha crescido usando Linux, há uma boa chance de que a maioria dos softwares com os quais você está familiarizado seja de código fechado. Esse tipo de software é mais fácil de monetizar, tornando-o atraente para pequenos desenvolvedores de aplicativos e grandes corporações.
Outro sinal revelador é se você precisa concordar com um contrato de licença de usuário final, ou EULA, ao usar um programa pela primeira vez.
EULAs e Licenças de Software Livre
Um computador não é como a maioria das ferramentas. Que você pode mover um mouse ou tocar um touchpad não importa muito. Que você pode pressionar botões em um teclado ou olhar para uma tela é necessário, mas não o ponto.
É o código que importa. O código pode ser modificado. O código pode ser copiado. Não há limitação inerente à capacidade de alguém mexer e copiar código. Um fabricante de computadores não precisa pedir para você não fazer uma cópia do seu laptop, já que isso simplesmente não é algo que a maioria das pessoas pode fazer. Mas não é particularmente difícil copiar e redistribuir o software que vem no computador, então é onde entram os EULAs restritivos.
Os EULAs são tipicamente paredes gigantes de texto que descrevem, em juridiquês, o que você pode e não pode fazer com o software que está prestes a usar. Eles geralmente impedem que você veja o código, consideram fazer cópias ilegais, exigem que você compre um licença ou chave de ativação, e muitas vezes detalham as formas de usar o software consideradas de acordo com os termos de serviço.
As licenças de software livre não requerem o seu consentimento contratual e, em vez disso, existem para lhe dizer que, na maioria das vezes, você pode fazer o que quiser com o programa e seu código. Algumas licenças gratuitas, como a GNU General Public License, são consideradas licenças copyleft. A principal restrição ao seu comportamento é a exigência de que qualquer programa que você desenvolva usando código disponível sob a GPL também esteja disponível sob uma licença GPL.
Outras licenças, como a licença do MIT, são consideradas licenças permissivas e não vêm com esse requisito. Você pode pegar o código licenciado pelo MIT e usá-lo para criar um programa proprietário, se desejar.
Como isso afeta você
O licenciamento do software que você usa determina o que você pode fazer em seu computador.
Se um programa proprietário tem um bug, ou você deseja que ele tenha um determinado recurso, seu único recurso é notificar o desenvolvedor do software e esperar que ele faça algo a respeito. Com o software livre, você está livre para fazer a mudança sozinho, se tiver o conhecimento técnico. Muitas vezes, mesmo que você não entenda o código, há uma boa chance de alguém online ter queria fazer a mesma coisa, ou notou o mesmo problema, e forneceu instruções sobre como ajustar o programa.
Mas a grande maioria das pessoas não deseja ler códigos ou modificar programas. Então, isso significa que esse problema não afeta a maioria das pessoas? Dificilmente. Existem algumas áreas importantes de preocupação crescente onde o software de código fechado e o software de código aberto tratam você de maneira muito diferente:
Categoria | Software livre | Software de código fechado |
---|---|---|
Custo | Quase sempre grátis para você usar sem pagar nada. | É mais provável que custe dinheiro. Quando o software proprietário é oferecido gratuitamente, geralmente há um risco. Desenvolvedores e editores costumam monetizar o programa de maneira diferente, seja exibindo anúncios, rastreando seu comportamento, infiltrando software indesejado (às vezes malicioso) em seu computador, ou alguma combinação dos três. |
Privacidade | Normalmente, o software que mais respeita a privacidade que você pode usar. Se alguém tentar compartilhar um programa de código aberto que infrinja sua privacidade, outra pessoa notará e compartilhará uma cópia com todo o rastreamento removido. O risco de controvérsia e danos à reputação muitas vezes é suficiente para impedir que os desenvolvedores coletem até mesmo dados de diagnóstico básicos considerados comuns entre softwares proprietários. | Frequentemente rastreia como você usa o programa. Em dispositivos móveis, é comum que os aplicativos acompanhem sua localização e quais outros aplicativos você instalou no telefone. Alguns examinam sua lista de contatos ou verificam seus arquivos. |
Segurança | Beneficia-se do fato de que muitos olhos podem ver o código. Embora isso não garanta que muitos olhos realmente estejam vendo o código quando um exploit atinge o selvagem, qualquer pessoa com o conjunto de habilidades pode contribuir com uma correção e você pode confirmar que o problema foi abordado. | O software de código fechado geralmente depende de um modelo de segurança chamado segurança através da obscuridade. Isso não impede que os maus atores encontrem vulnerabilidades e criem exploits. E se o desenvolvedor de software o informar sobre essas explorações, já que você não pode ver o código do programa, não pode confirmar se o problema foi resolvido. Você tem que ir na confiança. |
Atualizações | As atualizações podem demorar mais para chegar, pois o desenvolvimento de software geralmente depende de voluntários. Por outro lado, aplicativos e distribuições tendem a suportar hardware por anos, se não décadas. | Às vezes chega mais rápido, pois muitas vezes há uma equipe de funcionários sendo pagos para trabalhar em um projeto em tempo integral. No entanto, o suporte de software pode terminar abruptamente quando uma empresa fecha as portas ou decide que um software não é mais lucrativo. Novas versões são muito menos propensas a serem executadas em hardware mais antigo. |
Que tipo de software você deve usar?
A maioria dos computadores que você encontra nas grandes lojas vem com software de código fechado, e o mesmo acontece com os telefones. Pessoas mais tecnicamente inclinadas podem substituir seu sistema operacional bloqueado por uma alternativa aberta. Para outros, ainda é relativamente fácil comprar um laptop com Linux online ou baixar aplicativos de código aberto para qualquer sistema operacional.
Mas o software livre e de código aberto não vem com o mesmo grau de financiamento e geralmente é fornecido "como está". Enquanto é mais do que capaz para muitos (se não a maioria) casos de uso, existem outros em que as melhores ferramentas para o trabalho estão disponíveis apenas em Formato.
O que é software de código aberto e o que significa OSS?
Leia a seguir
Tópicos relacionados
- Linux
- Tecnologia explicada
- Código aberto
- Licenças de software
Sobre o autor
Bertel é um minimalista digital que trabalha em um laptop com GNOME e carrega um Light Phone II. Ele se deleita em ajudar os outros a decidir qual tecnologia trazer para suas vidas... e qual tecnologia prescindir.
Assine a nossa newsletter
Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!
Clique aqui para assinar