Pagina inicial » como » O que é software de código aberto e por que isso importa?

    O que é software de código aberto e por que isso importa?

    Geeks geralmente descrevem programas como sendo "open source" ou "software livre". Se você está se perguntando exatamente o que esses termos significam e por que eles são importantes, 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 oferecem aos usuários liberdades que, de outra forma, não teriam.

    Crédito de imagem: Quinn Dombrowski no Flickr

    A definição de código aberto

    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, 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 as licenças de código fechado impõem restrições a 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 deles..

    Firefox, Chrome, OpenOffice, Linux e 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 existente no mercado..

    Código Aberto versus Software Livre

    Os aplicativos de código aberto geralmente estão disponíveis gratuitamente - embora não haja nada que impeça o desenvolvedor de cobrar por cópias do software, se permitir a redistribuição do aplicativo e seu código-fonte posteriormente.

    No entanto, não é isso que “software livre” se refere. 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. Imagem por 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 desse 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, tanto os defensores de software livre quanto de software livre estão desenvolvendo o mesmo tipo de software, mas eles discordam sobre o sistema de mensagens..

    Tipos de Licenças

    Há muitas licenças diferentes usadas por projetos de código aberto, dependendo do que os desenvolvedores preferem para o programa.

    A GPL, ou GNU General Public License, é amplamente usada por muitos projetos de código aberto, como o Linux. Além de todas as definições acima de código-fonte 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 pegar 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, 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 um 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 os usuários

    Isso não é tudo coisas secas e sem importância que só interessam aos desenvolvedores. O benefício mais óbvio do software de código aberto é que ele pode ser obtido gratuitamente. O exemplo do Ubuntu Linux acima deixa isso bem claro - ao contrário do Windows, você pode instalar ou distribuir quantas cópias quiser do Ubuntu, sem restrições. Isso pode ser um servidor particularmente útil - se você está configurando um servidor, você pode simplesmente instalar o Linux nele. Se você está configurando um cluster virtualizado de servidores, você pode facilmente duplicar um único servidor Ubuntu. Você não precisa se preocupar com o licenciamento e quantas instâncias do Linux você tem permissão para executar.

    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 é MATE. Alguns levaram o código para o GNOME 3 e o modificaram para que ele 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 do Android impulsionada pela comunidade que adiciona recursos e suporte a novos dispositivos.

    O software de código aberto também permite que os desenvolvedores “apóiem ​​os 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, já que isso permitiria que eles criassem seu próprio hardware e controlassem seu próprio destino de uma forma 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 o software de código aberto realmente é e por que ele é útil para você.