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.

instagram viewer

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

CompartilharTweetCompartilharE-mail

Tópicos relacionados

  • Linux
  • Tecnologia explicada
  • Código aberto
  • Licenças de software

Sobre o autor

Bertel King (373 Artigos Publicados)

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.

Mais de Bertel King

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar