"Código aberto" é um termo que é muito usado hoje em dia. Você pode saber que certas coisas são de código aberto, como Linux e Android, mas você sabe o que isso implica? O que é software de código aberto? Como você pode saber se um programa é open source? E quem realmente se importa? Como é que a filosofia de código aberto 8 Websites para verificar o buzz no software de código aberto 8 Websites para verificar o buzz no software de código aberto Leia mais afeta você?
No que diz respeito ao usuário, se um programa funciona, ele funciona - pouco cuidado é dado a quem o criou e à filosofia por trás do programa. Mas como eu disse antes, o software de código aberto é uma filosofia e tem ramificações reais para você como usuário.
O que é software de código aberto?
Quando o usuário médio faz o download de um programa (o iTunes, por exemplo), ele normalmente baixa um arquivo de instalação que descompacta o programa e o instala no sistema do usuário. A partir daí, o usuário acessará o programa usando o arquivo executável (.EXE) ou um atalho para esse executável. Esses executáveis são criados a partir de milhares de linhas de código-fonte .
No exemplo acima, você verá alguns códigos-fonte básicos para um programa escrito na linguagem de programação Python. Os 5 melhores sites para aprender programação em Python Os 5 melhores sites para aprender programação em Python Na última década, a linguagem de programação Python explodiu em popularidade entre os programadores em todas as áreas de codificação. De desenvolvedores web a designers de videogames a criadores de ferramentas internos, muitas pessoas caíram ... Leia Mais. Para o olho destreinado, o acima pode parecer complexo, confuso, talvez até ininteligível. Este código-fonte, no entanto, contém um monte de comandos e instruções que são eventualmente compilados em um programa executável. Depois que o executável é criado, você não precisa mais do código-fonte.
Então, quando você executa um programa como o iTunes, você não vê o código-fonte que foi escrito para criar o iTunes. Você só vê o produto final. E para a maioria de vocês, isso provavelmente parece bem para você.
Software de código aberto, por outro lado, são programas que são empacotados com seu código-fonte na versão. Às vezes, o desenvolvedor compila um executável a partir do código-fonte e os libera juntos; outras vezes, o desenvolvedor só libera o código-fonte e deixa para o usuário compilar o produto final.
De qualquer forma, é isso que o software de código aberto é: software em que o código-fonte é aberto (público) e não fechado (privado).
Por que software de código aberto?
Imagine uma casa recém-construída, completa e disponível ao público para habitação. Você pode comprar aquela casa e morar. Enquanto você é dono da casa, raramente pode ver as fundações reais daquela casa - as paredes, a fiação elétrica, o layout do encanamento, a própria estrutura de madeira.
Continuando o exemplo, digamos que em algum momento a sua água não funcionará bem e você precisará consertá-la. Ou talvez você queira adicionar algumas saídas extras em uma determinada sala. Ou talvez você queira expandir a casa, estendendo-a com uma garagem ou anexo. Nada disso é possível se você não tiver acesso às entranhas internas da casa.
Da mesma forma, quando você instala um programa, geralmente não tem acesso ao código-fonte. O encanamento, eletricidade, estrutura que faz um programa funcionar - você não pode ver nada disso. O que acontece se você quiser alterar o programa para fazer algo que ainda não faz? E se houver um bug crítico que precisa ser consertado?
Como uma casa onde você deve esperar que os empreiteiros ou eletricistas ou encanadores consertem seus problemas, você está sem sorte com um programa imperfeito até que o desenvolvedor o conserte e libere uma nova versão.
Agora, muitas pessoas podem trabalhar em suas próprias casas (chamadas de "faça você mesmo"), mas isso só é possível porque elas têm as plantas para suas casas. Usando as plantas, eles podem fazer suas próprias alterações em sua casa. Isso é o que o software de código aberto faz - concede-lhe os planos de um programa para que você possa visualizá-los e alterá-los, se desejar.
Os benefícios do software de código aberto
Neste ponto, você pode estar se perguntando: se eu não sou um programador, nada disso importa para mim. Mas mesmo que você não consiga escrever uma única linha de código, você ainda deve suportar software de código aberto.
Aqui estão algumas razões pelas quais você deveria.
Software de código aberto promove comunidade
Quando o código-fonte é tornado público, os programadores iniciantes podem lê-lo e aprender com ele, o que reforça sua própria capacidade de programação. Como uma biblioteca que deixa o conhecimento aberto para qualquer um que se importe o suficiente para agarrá-lo, o software de código aberto ajuda a prolifera a educação, a criatividade ea inspiração 4 Palestras do TED sobre Criatividade, Inspiração e Paixão 4 Palestras obrigatórias do TED sobre criatividade, inspiração Criatividade da paixão. Inspiração. Paixão. Estes são todos os conceitos dos quais estamos muito conscientes, mas muitos de nós não podemos identificar precisamente a sua fonte. De onde vem a criatividade? O que é que causa uma ... Leia Mais.
Software de código aberto promove velocidade e cooperação
Se um bug é encontrado em um software proprietário, os usuários têm que esperar que a empresa encontre e implemente uma correção e, às vezes, leva um longo tempo. Com o software de código aberto, você tem milhares de olhos extras olhando para o código-fonte, o que significa que os bugs são encontrados e corrigidos mais rapidamente.
Software de código aberto promove competição e variedade
Quantos sabores do Linux existem? Quantos navegadores se ramificaram do Mozilla Firefox? Você sabia que o Google Chrome é baseado em um projeto de código aberto chamado Chromium? Quando alguém pode pegar um projeto e ajustá-lo com suas próprias idéias, você acaba com mais produtos do que um.
Software de código aberto promove a responsabilidade
Quando você pode ver o código-fonte, pode ter certeza de que um desenvolvedor não está fazendo nada mal intencionado ao seu computador quando você usa o programa dele. Por exemplo, KeePass Usando Keepass para proteger suas contas on-line usando Keepass para proteger suas contas on-line Leia mais é um gerenciador de senhas de código aberto, o que significa que você pode verificar o código-fonte para ver se o desenvolvedor está roubando suas senhas (ele não é).
Responsabilização é importante. Como um exemplo, considere cabines de votação eletrônicas. A maioria dos programas de votação (se não todos) é de código fechado. Quando você não tem acesso ao código, não tem garantia de que o programa realmente faz o que alega, o que se manifesta na forma de fraude eleitoral. Você só pode ter garantia total, verificando o código. Isso também é importante nos casos de violação de patente, em que os códigos-fonte entre os programas podem ser comparados para verificar se há roubo de software.
Há mais razões para apoiar o software de código aberto, mas vou parar por aí. Se eu não tiver feito o meu ponto até agora, então nenhuma quantidade de palavras extras ajudará. Espero que você tenha uma noção melhor do mundo do código aberto e por que tantas pessoas o apóiam. Se você tiver alguma dúvida, não hesite em perguntar nos comentários!
Crédito de imagem: Comunidade de papel via Shutterstock