Unidade IV SISTEMAS PARA INTERNET E SOFTWARE LIVRE Prof. Emanuel Matos Sumário – Unidade IV Software Livre Software livre versus software em domínio público Software livre versus software gratuito Software livre crescimento da utilização Software aberto versus software proprietário Perspectivas para o software livre Computador e o Software Um computador é uma máquina que executa operações. Um conjunto de operações forma um programa para o computador. O programa de computador é chamado software. Geralmente, o software é desenvolvido por programadores que utilizam linguagens de programação para construí-lo. Computador Os primeiros computadores eram muito caros, e existiam poucos. Antigamente, nos anos de 1960 e 1970, os programadores compartilhavam seus códigos-fontes uns com os outros, e assim todos podiam modificar o programa, sendo possível partilhar as melhorias, as mudanças. Software no computador Quando o computador passou a ser comum – viável como produto –, as coisas começaram a mudar. As empresas, os desenvolvedores e os programadores adotaram a estratégia comercial de não divulgação dos códigos-fontes dos softwares. Eles passaram a cobrar pelo software e impedir o compartilhamento e o acesso ao código-fonte. Código fonte Isso ficou tão comum que os desenvolvedores que queriam seguir trocando o software e deixá-lo livremente utilizável não conseguiram mais fazer isso, porque outros – da vertente mais comercial – roubavam o código-fonte, código fonte atribuíam um direito autoral sobre ele e passavam a cobrar pelo uso do mesmo. Software livre Software livre, ou free software, conforme a definição de software livre criada pela Free Software Foundation, é o software que pode ser usado, copiado, estudado, modificado e redistribuído sem restrição. restrição A forma usual de um software ser distribuído livremente é sendo acompanhado por uma licença de software livre (como a GPL ou a BSD), e com a disponibilização do seu código códigofonte (CAMPOS, 2006). Software livre e o software domínio público O primeiro (software livre), quando utilizado em combinação com licenças típicas (como as licenças GPL e BSD), garante os direitos autorais do programador/organização. O segundo caso (software em domínio público) acontece quando o autor do software renuncia à propriedade do programa (e todos os direitos associados) e este se torna bem comum. Licenças típicas – Software livre Em 1984, um dos programadores de uma universidade americana, Massachusetts Institute of Technology (MIT), Richard Stallman, inconformado com a comercialização do conhecimento, fundou o Projeto GNU (GNU is Not Unix) visando criar uma plataforma de software totalmente livre; criou um instrumento de lei para quem quisesse garantir a liberdade do seu software. Este instrumento é chamado Licença GNU/GPL (General Public License/Licença Pública Geral). Leis da liberdade do software livre Liberdade n˚ 0: A liberdade de utilizar o programa para qualquer propósito; Liberdade n˚ 1: A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades. Nesse sentido, o acesso ao código-fonte é um pré-requisito para esta liberdade; Leis da liberdade do software livre Liberdade n˚ 2: a liberdade de redistribuir cópias, de modo que você possa ajudar o seu próximo; Liberdade n n˚ 3: a liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie. Novamente Novamente, o acesso ao código-fonte código fonte é um pré-requisito para esta liberdade. Software livre - referência O termo software livre se refere à liberdade que o usuário tem de executar, distribuir, modificar e repassar as alterações sem que, para isso, tenha que pedir permissão ao autor do programa. Software – Dependência Imagine que um programa para computador, um software, seja um bolo. Também para fazer um software você precisa de uma receita, ou seja, você precisa de um conjunto de instruções. Se você não possui a receita, a única coisa que você pode fazer é comprar o bolo pronto e, assim, ser dependente de quem o produz. Software – Dependência Essa dependência é uma limitação da liberdade de você mesmo produzir o bolo, de modo que não é possível, por exemplo, alterar a receita colocando algo a mais de que você gosta e depois poder compartilhá la com os amigos e ainda compartilhá-la saber o que tem dentro do bolo. Se você tem a receita, é possível compartilhar com os amigos e, talvez, alguém fará alguma mudança interessante criando um novo bolo. interessante, bolo Software livre - Conceito Usar software livre é como passar – além do bolo como produto final – as receitas. Certamente, como não são todos que gostam de cozinhar, não são todos que vão desenvolver programas para computadores. Mesmo assim, quem não quiser cozinhar poderá usufruir do trabalho de, provavelmente, muitos cozinheiros. Quem sabe haja um na sua comunidade. Software livre – Código fonte Normalmente, os softwares livres, além de disponibilizar o código-fonte (as receitas), agregam pessoas em comunidades de apoio que criam documentação e oferecem apoio na Internet É um sistema de suporte de Internet. ajuda horizontal e solidária, gerando redes de conhecimento e compartilhamento de informação. Software livre – Permissão Um programa é software livre se os usuários têm todas essas liberdades. Portanto, você deve ser livre para redistribuir cópias, seja com ou sem modificações, seja de graça ou cobrando uma taxa pela distribuição, para qualquer um em qualquer lugar. Ser livre para fazer essas coisas significa (entre outras coisas) que você não tem que pedir ou pagar pela permissão, uma vez que esteja de posse do programa. Interatividade A quem se deve pedir permissão para utilizar, alterar e distribuir o Software Livre? a) MIT. b) Free Software Fundation. c) Projeto GNU. GNU d) Campos. e) Ninguém. Software livre – Quem pode alterar A liberdade de utilizar um programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade atividade, sem que seja necessário comunicar ao desenvolvedor ou a qualquer outra entidade em especial. Software livre – Quem pode distribuir A liberdade de redistribuir cópias deve incluir formas binárias ou executáveis do programa, assim como o código fonte, tanto para as versões originais quanto para as modificadas. Para que a liberdade de fazer modificações, e de publicar versões aperfeiçoadas tenha algum significado, deve-se ter acesso ao código-fonte do programa. Acesso ao código-fonte é uma condição necessária ao software livre. Copyleft Copyleft é uma extensão das quatro liberdades básicas, e ocorre na forma de uma obrigação. Segundo o site da FreebSoftware Foundation: O copyleft diz que qualquer um que distribui software, com ou sem modificações, tem que passar adiante a liberdade de copiar e modificar novamente o programa. O copyleft garante que todos os usuários tem liberdade. Copyleft - Distribuição Se você recebeu um software com uma licença livre que inclua cláusulas de copyleft, e se optar por redistribuí-lo (modificado ou não), terá que mantê-lo com a mesma licença com que o recebeu. recebeu Nem todas as licenças de software livre incluem a característica de copyleft. Você verá o símbolo do copyleft, palavra que é um trocadilho com copyright, e cuja tradução aproximada seria “deixamos copiar”, ou “cópia permitida”. Inclusão digital e o software livre Utilização do software livre para a inclusão digital tem grande importância, pois: estimula naturalmente a difusão do conhecimento cria uma rede de compartilhamento de usuários no uso de softwares livres estimula o desenvolvimento da tecnologia nacional auxilia a estabilização da economia, sem copyright. copyright Inclusão digital e o software livre E também.... incentiva o desenvolvimento de tecnologia local permite interagir e compartilhar soluções com sua comunidade, seja ela física ou virtual o usuário não permanece dependente de novas versões/ inovações de softwares proprietários com preços abusivos que, eventualmente, apresentam incompatibilidades com versões antigas. Software gratuito O Linux, como é do conhecimento de todos os adeptos da computação, vem se tornando um sistema operacional cada vez mais presente em nossas vidas, mesmo que indiretamente. Uma das razões para isso é que, além de sua qualidade, ele é um sistema que proporciona baixo custo em implementações, pelo simples motivo de ser gratuito. Software livre versus software gratuito Software livre é um conceito de extrema importância no mundo da computação. De forma básica, quando um software é livre, significa que seu código-fonte está disponível para qualquer um e você pode alterá lo para adequá alterá-lo adequá-lo lo às suas necessidades, sem ter de pagar. Software gratuito (freeware), por si só, é um software que você usa sem precisar pagar. Você não tem acesso ao seu código fonte, fonte portanto, portanto não pode alteráalterá lo ou simplesmente estudá-lo; somente pode usá-lo, da forma como ele foi disponibilizado. Software livre – Importância O software livre possui tanta importância que, se não fosse assim, o Linux não existiria ou ficaria restrito aos muros de uma universidade. Linus Torvalds, o “pai do Linux”, quando criou o sistema, não quis guardá-lo guardá lo para si só. só Quis montar um sistema que atendesse às suas necessidades, mas que também pudesse ser útil para mais alguém. Fez isso sem saber que estava acabando de “fundar” uma comunidade: a comunidade Linux. Software livre – Linux Linux ser um sistema livre. Sua licença de uso é a GPL, sigla para GNU Public License Interatividade O que é copyleft? a) É uma copia à esquerda. b) É uma cláusula do Software Livre. c) É uma marca de software. d) É um pseudônimo de Copyright. e) É um símbolo estético de TI. Software livre – Linux A maior parte dos softwares para Linux é baseada na licença GPL. Vale dizer que uma licença é um documento que permite o uso e distribuição de programas dentro de uma série de circunstâncias. circunstâncias GPL, Sigla para GNU Public License, e é uma das formas mais conhecidas de distribuição de programas. GPL versus Copyright Copyright, O dono pode vender, doar, tornar freeware, enfim. A Microsoft, por exemplo, atua assim. Seus produtos são vendidos e, tipicamente, não se pode utilizar a mesma cópia em mais de um computador. GPL Faz exatamente o contrário. Ela permite que se copie o programa, instale em quantos computadores quiser, veja, estude, altere o código-fonte e não pague nada por isso. GPL - Filosofia É um documento que garante a prática e a existência do mesmo. Sua filosofia consiste em defender vários pontos, dentre os quais destacam-se os mais importantes abaixo: liberdade para executar um programa para qualquer finalidade; liberdade para estudar um programa e adaptá-lo às suas necessidades; liberdade de distribuir cópias e assim ajudar um colega, uma instituição qualquer; liberdade de melhorar o programa e entregá-lo à comunidade. Utilização do software livre O presidente da Índia, Abdul Kalam, em maio de 2003, durante uma visita ao International Institute of Information Technology (IIIT), no Parque Tecnológico de Software, em Hinjewadi, comunicou a necessidade de se investir em software aberto para que pudessem depender menos de soluções baseadas na plataforma proprietária Windows. Cúpula da sociedade de informação A delegação norte-americana tentou evitar, de todas as formas, a referência ao software livre como algo fundamental para a inserção das nações na sociedade informacional. O mais irônico é que a poderosa Casa Branca utiliza em seus servidores dois softwares livres, o GNU/Linux e o Apache. Apache O avanço do Apache, um software livre para hospedagem de páginas na web, é tão intenso que atingiu dois terços dos servidores do planeta. O levantamento mensal realizado pela empresa de pesquisas Netcraft, denominado Web Server Survey, em mais de 43 milhões de sites. Exemplo - Europa Uso intensivo de software livre da atualidade vem da Espanha, da província de Extremadura, a mais pobre região da Espanha e a segunda menos desenvolvida da Europa ocidental. (1998). (1998) Pouco mais de cinco anos depois, Extremadura é a região que mais cresce na Europa e tem o maior número de computadores por estudante. Também é um dos maiores ícones do software livre no mundo. Utilização do software livre Mozilla – Navegador Internet Software Aberto versus Proprietário O Blender é um software 3D e já foi empregado em muitos efeitos especiais de Hollywood. A história do desenvolvimento do Blender é muito semelhante à de inúmeros outros softwares de código aberto. Software Aberto versus Proprietário Projetado e escrito nos padrões tradicionais da engenharia de software, o Blender foi adquirido pela comunidade de software livre após uma grande campanha de arrecadação de fundos pela Internet. Internet Com o seu código aberto, um grande número de pessoas passou a desenvolvê-lo em rede. Software Aberto versus Proprietário O Blender tem melhorado a cada nova versão, e o valor econômico do trabalho de seus colaboradores já ultrapassa o valor pago à empresa que o criou. Este processo de desenvolvimento colaborativo e horizontal foi denominado por Eric Raymond, hacker e liberal norteamericano, modelo “bazar” de construção de software. Já a indústria de software proprietário utiliza o modelo fechado e hierarquizado que Raymond chamou de “catedral”. Verticalização e burocratização – Modelo proprietário A verticalização e a burocratização do modelo proprietário não conseguem fazer frente à enorme efervescência do modelo centrado na colaboração e na interação de milhares de pessoas, tais como em uma feira, feira em um bazar. bazar Verticalização e burocratização – Exemplo Se a maior empresa de software proprietário do mundo tivesse todos os seus aproximadamente trinta mil funcionários voltados exclusivamente para o desenvolvimento e a melhoria de seu sistema operacional, operacional ainda assim não conseguiria fazer frente ao crescente coletivo de mais de cem mil desenvolvedores que trabalham no projeto GNU/Linux. Interatividade O que é Kernel? a) Um núcleo. b) Um equipamento. c) Um texto. d) Um roteiro. e) Uma marca. Software livre e a comunicação O modelo de desenvolvimento e uso do software livre permite que os usuários, sejam pessoas físicas ou jurídicas, tornem-se desenvolvedores ou, no mínimo, interfiram no desenvolvimento do software. software Software livre e a comunicação Mensagens são enviadas aos coordenadores de projetos, apontando falhas e bugs, propondo novas funcionalidades ou redefinindo as existentes. Como o código-fonte é aberto uma nova versão de um software aberto, livre tende a ter seus problemas mais rapidamente constatados e também mais rapidamente corrigidos. Software livre e os releases O GNU/Linux possui um núcleo, um centro essencial responsável pela articulação de todos os seus componentes. Ele se chama Kernel. A cada ano, o coletivo mundial de desenvolvedores coordenados por um mantenedor central lança novas versões deste Kernel. Software livre e os releases Também chamadas de releases, estas versões são empacotadas de maneiras diferentes por vários coletivos comerciais e comunitários, que chamamos de distribuições ou simplesmente “distros”. “distros” Distros As principais distros comerciais são Mandrake, RedHat, Suse, Conectiva. As distros comunitárias mais conhecidas são Slackware e Debian. As distribuições são como sabores diferentes do GNU/Linux. A distribuição comercial vende serviços de suporte para empresas que querem utilizar a sua versão de Linux. É o caso da Conectiva, Conectiva customiza o seu pacote aos interesses de seus clientes. Debian é mantida por um coletivo mundial de aproximadamente mil hackers. Mundo Cresce no mundo o modelo de negócios baseado mais nos serviços, menos na propriedade das ideias. A própria IBM aposta no software de código aberto. A Sony integra um consórcio para adequar o GNU/Linux aos aparelhos eletroeletrônicos, uma vez que a portabilidade deste sistema operacional permite que seja perfeitamente embarcado nos vários equipamentos, sem a necessidade de qualquer autorização e pagamento de licenças para quem quer que seja. Software Livre – Software Embedded Software embedded, ou seja, software embutido é utilizado em tudo o que necessite de um sistema de processamento de informações, tal como celulares, micro-ondas, painéis de veículos automotores, automotores máquinas industriais, entre outros. Suas vantagens são grandes para a empresa, que pode adequar o Kernel do GNU/Linux, completamente documentado e aberto, aberto às suas necessidades e às exigências de seu aparelho. Cluster O cluster, ou conjunto integrado de processadores, trabalha mais intensamente que um supercomputador e roda sobre a plataforma GNU/Linux. O novo modelo de negócios vai também se afirmando em áreas que não são necessariamente vinculadas ao software livre. Perspectivas futuras para o software livre Certamente quem utiliza a Internet já recorreu ao Google, um buscador eficiente e extremamente veloz, indispensável diante do ritmo de crescimento exponencial das informações. informações Talvez as pessoas nunca tenham parado para pensar o quão importante estão se tornando estas tecnologias de armazenamento, indexação, recuperação e distribuição de informações (SILVEIRA, (SILVEIRA 2004). Perspectivas futuras para o software livre O mais instigante é descobrir que a tecnologia do Google é livre, aberta e não proprietária. Servidores / Banco de dados Os mais de vinte mil servidores que atendem às buscas de milhões de usuários do planeta rodam GNU/Linux e utilizam o banco de dados livre MySQL. Vantagens software livre A superioridade do desenvolvimento e uso do sofware livre vai se tornando evidente. O professor Roberto Hexsel advoga que as principais vantagens do zero; software livre são: custo social baixo; não se fica refém de tecnologia proprietária; independência de fornecedor único; desembolso inicial próximo de zero; Vantagens software livre E ainda.... não obsolescência do hardware; robustez e segurança; possibilidade de adequar aplicativos e redistribuir versão alterada; suporte abundante e gratuito; sistemas e aplicativos geralmente muito configuráveis. Ag grande consequência q sociocultural e econômica do software livre é sua aposta no compartilhamento da inteligência e do conhecimento. Interatividade Onde se usa um Software Embedded? a) No Celular. b) Em TVs. c) Em Carros. d) Em Aviões. e) Todas as alternativas acima. Referências bibliográficas ALECRIM, Emerson. Software livre e software gratuito: a diferença. Publicado em 27/03/2003. Atualizado em 10/12/2004. Disponível em: <http://www.infowester.com/ linlivrexfree php> Acesso em: março de linlivrexfree.php>. 2010. CAMPOS, Augusto. O que é software livre. BR-Linux. Florianópolis, março de 2006. Disponível em <http://br-linux. org/linux/faq softwarelivre> Acesso em: org/linux/faq-softwarelivre>. 10/03/2010. Referências bibliográficas LAUDON, Kenneth C.; LAUDON, Jane P. Sistemas de informações gerenciais. 7. ed. São Paulo: Pearson Prentice Hall, 2007. LINDON D. et al. Mercator XXI – teoria e prática do marketing. Lisboa: Dom Quixote, 2009. NUNES J.; CAVIQUE L. Plano de marketing, estratégia em Ação. Lisboa: Dom Quixote, 2001. Referências bibliográficas SILVEIRA, S. A. Software livre: a luta pela liberdade do conhecimento. São Paulo: Fundação Perseu Abramo, 2004. TANENBAUM, Andrew S. Introdução a sistemas distribuídos. distributed systems: principles and paradigms. 2. ed. São Paulo: Prentice Hall, 2008. Referências bibliográficas __________. Redes de computadores. 4. ed. Rio de Janeiro: Campus, 2003. __________. Sistemas operacionais modernos. São Paulo: Prentice Hall, 2004. ATÉ A PRÓXIMA!