Uma receita de bolo livre

Source Code

Dia 17

Na tentativa de explicar como são feitos os programas de computador e como funciona os programas de código fonte livre (também chamados de código fonte aberto), eu pensei em uma analogia.

Toda analogia tem suas falhas. A ideia é explicar algo técnico para os leigos.

Imagine uma receita de bolo. Imagine que não seja possível comer os ingredientes separadamente e só quando o bolo está pronto ele se torna comestível. Assim acontece com o computador. Ele só entende instruções quando elas estão na forma binária, ou seja, quando são uma quantidade gigante de '1's e '0's. Só que nós, seres humanos, precisamos de linguagens de alto nível para escrever essas instruções, os código fonte.

A receita de um bolo (assim como um código fonte) são instruções para que um cozinheiro (chamamos de compilador) transforme a receita (o código fonte) em um bolo (o programa binário).

O seu computador, seu celular, tablet são compostos por conjunto de programas. Cada aplicativo do seu celular é um programa binário. O sistema (Windows, MacOS, Linux, Android, IOS) é um programa binário que gerencia programas binários(os aplicativos).

Em geral, toda receita é feita com uma licença. Uma das receitas livres mais famosas é a GPL que define 4 leis:

  • A liberdade de comer bolo "como quiser" (usar o programa para qualquer objetivo)
  • A liberdade de estudar a receita e adaptá-la às suas necessidades
  • A liberdade de distribuir cópias das receitas
  • A liberdade de melhorar a receita e poder liberar essa receita publicamente para que todo mundo se beneficie das melhorias

Alguns tipos de licenças de bolo:

  • Licenças proprietárias - você precisa pagar para comer o bolo e tudo que fizer com o bolo tem que estar de acordo com o que o proprietário quiser
  • Licenças Shareware - você pode comer por um período de tempo, mas depois de um tempo tem que pagar pra poder continuar comendo
  • Licenças Freeware - você pode comer sem pagar, mas não vai poder ver a receita
  • Licenças livre - você pode comer, melhorar a receita, fazer o seu bolo e distribuir seguindo as 4 leis
Possibilidades com uma receita usando uma licença GPL
Você quer comer um bolo e vai a uma confeitaria onde as receitas são livres. Se você (como eu) não sabe cozinhar, vai comprar o bolo. Por ser livre, a receita vai vir junto com o bolo. Você pode tentar fazer o bolo você mesmo ou dar pra alguém fazer por você. Se você sabe cozinhar, pode apenas pegar a receita e fazer você mesmo. De acordo com as leis o confeiteiro não é obrigado a te dar o bolo, mas se ele te der (ou vender), ele é obrigado a te dar a receita. De posse da receita, você pode então distribuí-la para quem quiser. Pode fazer alterações e então vender o bolo feito com as suas modificações (que devem também conter a receita junto).

Mas e se alguém mal intencionado fizer modificações maliciosas na receita? Só as pessoas que confiam nesse alguém vão comer o bolo dessa receita. Não é possível contaminar outras receitas de terceiros com as suas modificações. Cada um segue a receita que confiar e come o bolo feito por quem confiar.

Do mesmo jeito, mesmo sendo possível modificar os programas e por códigos maliciosos, só quem confia nesses códigos alterados vão usar esses programas estragados.

Com todas as receitas sendo modificadas e repassadas junto com os bolos, todos se beneficiam das modificações e melhorias. Ao mesmo tempo cada um pode incrementar sua receita e comer o seu bolo feitos seguindo as receitas que mais lhe agradar.

Até amanhã.



Written by Eduardo Elias in 100posts on Sat 26 August 2017. Tags: 100posts,

Comments

comments powered by Disqus