O que é código aberto?
O termo código aberto refere-se a algo que as pessoas podem modificar e compartilhar porque seu design é acessível ao público.
O termo se originou no contexto do desenvolvimento de software para designar uma abordagem específica para a criação de programas de computador. Hoje, entretanto, “código aberto” designa um conjunto mais amplo de valores – o que chamamos de ” o caminho do código aberto “. Projetos, produtos ou iniciativas de código aberto adotam e celebram os princípios de troca aberta, participação colaborativa, prototipagem rápida, transparência, meritocracia e desenvolvimento voltado para a comunidade.
Índice
O que é software de código aberto?
Software de código aberto é um software com código-fonte que qualquer pessoa pode inspecionar, modificar e aprimorar.
“Código-fonte” é a parte do software que a maioria dos usuários de computador nunca vê; é o código que os programadores de computador podem manipular para mudar a forma como um pedaço de software – um “programa” ou “aplicativo” – funciona. Os programadores que têm acesso ao código-fonte de um programa de computador podem melhorar esse programa adicionando recursos a ele ou consertando partes que nem sempre funcionam corretamente.
Qual é a diferença entre software de código aberto e outros tipos de software?
Alguns softwares possuem código-fonte que apenas a pessoa, equipe ou organização que o criou – e mantém controle exclusivo sobre ele – pode modificar. As pessoas chamam esse tipo de software de “proprietário” ou de “código fechado”.
Apenas os autores originais do software proprietário podem copiar, inspecionar e alterar legalmente esse software. E para usar software proprietário, os usuários de computador devem concordar (normalmente assinando uma licença exibida na primeira vez que executam este software) que não farão nada com o software que os autores do software não tenham permitido expressamente. Microsoft Office e Adobe Photoshop são exemplos de software proprietário.
O software de código aberto é diferente. Seus autores disponibilizam seu código-fonte para outras pessoas que desejam visualizar esse código, copiá-lo, aprender com ele, alterá-lo ou compartilhá-lo. O LibreOffice e o GNU Image Manipulation Program são exemplos de software de código aberto.
Assim como fazem com o software proprietário, os usuários devem aceitar os termos de uma licença quando usam o software de código aberto – mas os termos legais das licenças de código aberto diferem drasticamente daqueles das licenças de propriedade.
As licenças de código aberto afetam a maneira como as pessoas podem usar, estudar, modificar e distribuir software. Em geral, as licenças de código aberto concedem aos usuários de computador permissão para usar o software de código aberto para qualquer propósito que desejarem . Algumas licenças de código aberto – o que algumas pessoas chamam de licenças “copyleft” – estipulam que qualquer um que lançar um programa de código aberto modificado também deve liberar o código-fonte desse programa junto com ele. Além disso, algumas licenças de código aberto estipulam que qualquer pessoa que altere e compartilhe um programa com outras pessoas também deve compartilhar o código-fonte desse programa sem cobrar uma taxa de licenciamento por ele.
Por design, as licenças de software de código-fonte aberto promovem a colaboração e o compartilhamento porque permitem que outras pessoas façam modificações no código-fonte e incorporem essas mudanças em seus próprios projetos. Eles incentivam os programadores de computador a acessar, visualizar e modificar o software de código aberto sempre que quiserem, contanto que permitam que outros façam o mesmo ao compartilhar seu trabalho.
O software de código aberto é importante apenas para programadores de computador?
Não. A tecnologia de código aberto e o pensamento de código aberto beneficiam tanto programadores quanto não programadores.
Porque os primeiros inventores construíram grande parte da própria Internet em tecnologias de código aberto – como o sistema operacional Linux e o aplicativo de servidor da Web Apache – qualquer pessoa que usa a Internet hoje se beneficia do software de código aberto.
Sempre que os usuários de computador visualizam páginas da web, verificam e-mails, conversam com amigos, reproduzem música online ou jogam videogames multijogador, seus computadores, telefones celulares ou consoles de jogos se conectam a uma rede global de computadores usando software de código aberto para rotear e transmitir seus dados para os dispositivos “locais” que eles têm na frente deles. Os computadores que fazem todo esse trabalho importante estão normalmente localizados em lugares distantes que os usuários não veem ou não podem acessar fisicamente – motivo pelo qual algumas pessoas chamam esses computadores de “computadores remotos”.
Cada vez mais, as pessoas dependem de computadores remotos para realizar tarefas que, de outra forma, poderiam realizar em seus dispositivos locais. Por exemplo, eles podem usar software de processamento de texto online, gerenciamento de e-mail e edição de imagens que não instalam e nem executam em seus computadores pessoais. Em vez disso, eles simplesmente acessam esses programas em computadores remotos usando um navegador da Web ou aplicativo de telefone celular. Quando eles fazem isso, eles estão envolvidos na “computação remota”.
Algumas pessoas chamam a computação remota de “computação em nuvem” porque envolve atividades (como armazenar arquivos, compartilhar fotos ou assistir vídeos) que incorporam não apenas dispositivos locais, mas também uma rede global de computadores remotos que formam uma “atmosfera” ao seu redor.
A computação em nuvem é um aspecto cada vez mais importante da vida cotidiana com dispositivos conectados à Internet. Alguns aplicativos de computação em nuvem, como o Google Apps, são proprietários. Outros, como ownCloud e Nextcloud , são de código aberto.
Os aplicativos de computação em nuvem são executados “por cima” de software adicional que os ajuda a operar sem problemas e com eficiência, então as pessoas costumam dizer que o software executado “por baixo” dos aplicativos de computação em nuvem age como uma ” plataforma ” para esses aplicativos. As plataformas de computação em nuvem podem ser de código aberto ou fechado. OpenStack é um exemplo de plataforma de computação em nuvem de software livre.
Por que as pessoas preferem usar software de código aberto?
As pessoas preferem software de código aberto a software proprietário por vários motivos, incluindo:
Ao controle. Muitas pessoas preferem software de código aberto porque têm mais controle sobre esse tipo de software. Eles podem examinar o código para ter certeza de que ele não está fazendo nada que não querem e podem alterar as partes que não gostam. Os usuários que não são programadores também se beneficiam do software de código aberto, porque podem usar esse software para qualquer propósito que desejarem – não apenas da maneira que outra pessoa acha que deveria.
Treinamento. Outras pessoas gostam de software de código aberto porque os ajuda a se tornarem melhores programadores . Como o código-fonte aberto é acessível publicamente, os alunos podem estudá-lo facilmente à medida que aprendem a fazer software melhor. Os alunos também podem compartilhar seu trabalho com outras pessoas, solicitando comentários e críticas, à medida que desenvolvem suas habilidades. Quando as pessoas descobrem erros no código-fonte dos programas, elas podem compartilhar esses erros com outras pessoas para ajudá-las a evitar cometer os mesmos erros.
Segurança. Algumas pessoas preferem o software de código aberto porque o consideram mais seguro e estável do que o software proprietário. Como qualquer pessoa pode visualizar e modificar o software de código-fonte aberto, alguém pode detectar e corrigir erros ou omissões que os autores originais de um programa possam ter perdido. E como muitos programadores podem trabalhar em um software de código aberto sem pedir permissão aos autores originais, eles podem consertar, atualizar e atualizar o software de código aberto mais rapidamente do que o software proprietário.
Estabilidade. Muitos usuários preferem software de código aberto a software proprietário para projetos importantes de longo prazo. Como os programadores distribuem publicamente o código-fonte do software de código aberto, os usuários que dependem desse software para tarefas críticas podem ter certeza de que suas ferramentas não desaparecerão ou ficarão em mau estado se seus criadores originais pararem de trabalhar nelas. Além disso, o software de código aberto tende a incorporar e operar de acordo com padrões abertos.
Comunidade. O software de código aberto costuma inspirar uma comunidade de usuários e desenvolvedores a se formar em torno dele. Isso não é exclusivo do código aberto; muitos aplicativos populares estão sujeitos a encontros e grupos de usuários. Mas, no caso do código aberto, a comunidade não é apenas uma base de fãs que compra (emocional ou financeiramente) um grupo de usuários de elite; são as pessoas que produzem, testam, usam, promovem e, por fim, afetam o software que amam.
“Código aberto” não significa apenas que algo é gratuito?
Não. Esse é um equívoco comum sobre o que significa “código aberto”, e as implicações do conceito não são apenas econômicas .
Os programadores de software de código aberto podem cobrar dinheiro pelo software de código aberto que criam ou para o qual contribuem. Mas, em alguns casos, como uma licença de código aberto pode exigir que eles liberem seu código-fonte ao vender software para terceiros, alguns programadores descobrem que cobrar dos usuários por serviços e suporte de software (em vez do software em si) é mais lucrativo. Dessa forma, o software permanece gratuito e eles ganham dinheiro ajudando outras pessoas a instalá-lo, usá-lo e resolvê-lo.
Embora alguns softwares de código aberto possam ser gratuitos, a habilidade em programar e solucionar problemas de software de código aberto pode ser muito valiosa . Muitos empregadores procuram especificamente contratar programadores com experiência em software de código aberto.
Fonte e saber mais em OpenSource.com