Geeks geralmente descrevem programas como sendo “código aberto” ou “software livre”. Se você está se perguntando exatamente o que esses termos significam e por que eles importam, continue lendo. (Não, “software livre” não significa apenas que você pode baixá-lo gratuitamente.)
Se um programa é de código aberto ou não, não importa apenas para os desenvolvedores, também é importante para os usuários. Licenças de software de código aberto dão aos usuários as liberdades que não teriam.
Crédito de imagem: Quinn Dombrowski no Flickr
Se um programa é open-source, seu código-fonte está disponível gratuitamente para seus usuários. Seus usuários - e qualquer outra pessoa - têm a capacidade de pegar esse código-fonte, modificá-lo e distribuir suas próprias versões do programa. Os usuários também têm a capacidade de distribuir quantas cópias do programa original quiserem. Qualquer um pode usar o programa para qualquer finalidade; não há taxas de licenciamento ou outras restrições sobre o software. O OSI tem uma definição mais detalhada de “código aberto” em seu site.
Por exemplo, o Ubuntu Linux é um sistema operacional de código aberto. Você pode fazer o download do Ubuntu, criar quantas cópias quiser e distribuí-las aos seus amigos. Você pode instalar o Ubuntu em uma quantidade ilimitada de seus computadores. Você pode criar remixes do disco de instalação do Ubuntu e distribuí-los. Se você estivesse particularmente motivado, você poderia baixar o código-fonte de um programa no Ubuntu e modificá-lo, criando sua própria versão personalizada desse programa - ou do próprio Ubuntu. Todas as licenças de código aberto permitem que você faça isso, enquanto licenças de código fechado colocam restrições em você.
O oposto do software de código aberto é o software de código fechado, que tem uma licença que restringe os usuários e mantém o código fonte O Firefox, o Chrome, o OpenOffice, o Linux e o Android são alguns exemplos populares de software de código aberto, enquanto o Microsoft Windows é provavelmente a versão mais popular de software de código fechado disponível no mercado.
Open Source vs. Free Software
No entanto, não é isso que “software livre” refere-se a. O “livre” em software livre significa “livre como em liberdade”, não “livre como na cerveja”. O campo do software livre, liderado por Richard Stallman e pela Free Software Foundation, focaliza a ética e a moral do uso de software que pode ser controlado e modificado pelo usuário. Em outras palavras, o campo do software livre se concentra nas liberdades do usuário
Richard Stallman. Image by Fripog no Flickr.
O movimento de software de código aberto foi criado para se concentrar em razões mais pragmáticas para a escolha deste tipo de software. Os defensores do código aberto queriam se concentrar nos benefícios práticos de usar software de código aberto que atraísse mais as empresas do que a ética e a moral.
Em última análise, defensores de software livre e de código aberto estão desenvolvendo o mesmo tipo de software , mas eles discordam sobre as mensagens.
Tipos de Licenças
A GPL, ou GNU General Public License , é amplamente utilizado por muitos projetos de código aberto, como o Linux. Além de todas as definições acima de código aberto, os termos da GPL especificam que, se alguém modificar um programa de código aberto e distribuir um trabalho derivado, ele também deve distribuir o código-fonte para seu trabalho derivado. Em outras palavras, ninguém pode usar código aberto e criar um programa de código fechado a partir dele - eles devem liberar suas alterações de volta para a comunidade. A Microsoft se referiu à GPL como sendo "viral" por esse motivo, pois força programas que incorporam o código GPL a liberar seu próprio código-fonte. É claro que os desenvolvedores de um programa podem optar por não usar o código GPL se isso for um problema.
Algumas outras licenças, como a licença BSD, colocam menos restrições aos desenvolvedores. Se um programa é licenciado sob a licença BSD, qualquer pessoa pode incorporar o código-fonte do programa em outro programa. Eles não precisam liberar as alterações de volta para a comunidade. Algumas pessoas vêem isso como sendo ainda mais “livre” do que a licença GPL, pois dá aos desenvolvedores a liberdade de incorporar o código em seus próprios programas de código fechado, enquanto algumas pessoas o vêem como menos “livre” porque retira os direitos dos usuários finais do programa derivado
Benefícios para usuários
Um programa de código aberto também é mais flexível. Por exemplo, a nova interface do Windows 8 decepcionou muitos usuários de longa data do Windows. Como o Windows é de código fechado, nenhum usuário do Windows pode usar a interface do Windows 7, modificá-la e fazê-la funcionar corretamente no Windows 8. (Alguns usuários do Windows estão tentando, mas é um processo meticuloso de engenharia reversa e modificação de arquivos binários. )
Quando um desktop Linux como o Ubuntu introduz uma nova interface de desktop na qual alguns usuários não são fãs, os usuários têm mais opções. Por exemplo, quando o GNOME 3 foi lançado, muitos usuários de desktop Linux foram igualmente desligados. Alguns levaram o código para a versão antiga, o GNOME 2, e o modificaram para que ele fosse executado nas distribuições mais recentes do Linux - isso é o MATE. Alguns levaram o código para o GNOME 3 e o modificaram para que funcionasse da maneira que preferiam - é o Cinnamon. Alguns usuários apenas mudaram para desktops alternativos existentes. Se o Windows fosse de código aberto, os usuários do Windows 8 teriam mais opções e flexibilidade. Basta dar uma olhada no CyanogenMod, uma popular distribuição voltada para a comunidade do Android que adiciona recursos e suporte para novos dispositivos.
O software de código aberto também permite que os desenvolvedores “se posicionem sobre os ombros de gigantes” e criem seu próprio software. Testemunhe o Android e o Chrome OS, que são sistemas operacionais criados no Linux e em outros softwares de código aberto. O núcleo do OS X da Apple - e, portanto, do iOS - também foi construído em código aberto. A Valve está trabalhando intensamente em portar sua plataforma de jogos Steam para o Linux, pois isso permitiria que eles criassem seu próprio hardware e controlassem seu próprio destino de uma maneira que não é possível no Windows da Microsoft.
Esta não é uma descrição exaustiva - livros inteiros foram escritos sobre este assunto - mas agora você deve ter uma idéia melhor do que é realmente o software de código aberto e por que ele é útil para você.
Software para fazer backup ou atualizar automaticamente os drivers de dispositivo do PC
Um driver de dispositivo é um software que informa ao sistema operacional (Windows XP, Windows 7, etc.) como se comunicar com um hardware. Por exemplo, o Windows 7 pode ser instalado em hardware diferente, dependendo se o computador é fabricado pela HP, Dell, Sony, etc, e assim, para que o Windows funcione com todo esse hardware diferente, ele precisa de um software do fabricante que informa ao sistema operacional como se comunicar com o dispositivo.É
Melhores programas de substituição de shell do Windows (alternativos)
Procurando por alguns bons programas de substituição de desktop / shell para o Windows? Para aqueles de vocês que sentem a necessidade, a necessidade de personalizar, um shell alternativo para o shell do Windows é uma solução possível. Então, o que exatamente é uma substituição de shell? É basicamente um programa que se integrará ao Windows e substituirá o shell padrão. O shell é a i