You are on page 1of 21

Software Livre

● O que é Software Livre (Free Software)?

– Conjunto de sistemas operacionais e programas
que possuem o ”código aberto” (”Open Source”),
ou seja, disponibilizam o código fonte dos
programas, e que podem ser copiados,
modificados e redistribuídos livremente, sem
exigir a necessidade de pagamento de licenças
de uso.
– Freewares e sharewares não são softwares livres.
Estes últimos possuem restrições ao uso e
ambos geralmente disponibilizam somente os
códigos executáveis.

Software Livre
● Motivações

– Livre acesso ao código fonte, permitindo estudo,
aperfeiçoamento dos programas por qualquer
pessoa que tenha conhecimentos suficientes, e
conseqüente compartilhamento da tecnologia de
informação.

– Independência de organizações comerciais, que
impõem políticas restritivas e onerosas aos
usuários dos softwares produzidos por elas.

. Advoga o Software Livre e detém os direitos da ”Licença Pública Geral” (GPL). criada no início dos anos 80 pelo pesquisador e hacker norte- americano Richard Stallman. Software Livre ● FSF (Free Software Foundation) – A FSF (Fundação Software Livre) é uma organização sem fins lucrativos. para que o software licenciado sob esta não possa ser apropriado indevidamente por pessoas ou organizações inescrupulosas. e sediada nos Estados Unidos da América.

● É permitida a redistribuição. gratuita ou onerosa. permitir modificações nestes e não fazer nenhum tipo de restrição ao uso dos mesmos. Software Livre ● GPL (General Public Licence) – Basicamente esta licença determina o seguinte: ● Todo software produzido sob esta licença deve disponibilizar os códigos fonte. do software original e de versões modificadas ou derivadas. que obrigatoriamente deveram estar regidas e acompanhadas pela GPL. .

– Democracia do conhecimento. permitindo alterações. – Disponibilidade do código fonte. . exame e auditoria. – Melhor aderência aos padrões de interoperabilidade com outros sistemas. – Liberdade de personalização. podendo ser adaptado a necessidades e hardwares específicos. Software Livre ● Vantagens do Software Livre – Sem custo de licenciamento ou restrições de uso.

como consequência da menor disseminação. – Base de suporte menor. Software Livre ● Desvantagens do Software Livre – Sistemas e aplicativos menos conhecidos. pois seus produtores não dispendem grandes somas em marketing. mais especializada e mais onerosa. – Algumas incompatibilidades com formatos e protocolos difundidos por corporações comerciais. que impõem suas próprias regras em função da maior presença no mercado. .

. mas posteriormente a empresa detentora dos direitos sobre ele tornou-o software proprietário. e que surgiu com o código aberto. – Os softwares deste projeto foram escritos por inúmeros programadores voluntários a partir de rascunho e são licenciados sob a GPL. Software Livre ● Projeto GNU (GNU is Not Unix) – Projeto apadrinhado pela FSF e criado com o objetivo de desenvolver um sistema operacional livre inspirado no sistema Unix. amplamente usado em empresas e universidades entre o início dos anos 70 e o final da década de 80.

um pequeno sistema operacional livre inspirado no Unix e utilizado em estudos acadêmicos. Porém ainda faltava completar um componente essencial e complexo: o kernel. – Exatamente nesta época. . e que rodavam sobre a plataforma Unix. Linux ● GNU e Linux – No alvorecer da decada de 90. o projeto GNU já havia desenvolvido muitos aplicativos livres equivalentes aos proprietários que existiam. surgiu o kernel Linux. do sistema operacional. baseado no Minix. ou núcleo.

porém somente rodava em mainframes e tinha um alto custo de licenciamento. Linux ● O Gênesis (1) – O Linux nasceu em 1991. possível de ser executado na plataforma IBM PC (Intel 386). quando Linus Torvalds. O Unix atendia aos primeiros requisitos. então estudante em Ciências de Computação na Universidade de Helsinki. sentiu a necessidade pessoal de um sistema operacional multitarefa e multiusuário. . Finlândia.

sob a licença GPL. Linux ● O Gênesis (2) – Percebendo que seu projeto era demasiado grande para um só indivíduo. . Linus registrou o nome ”Linux” (mais tarde cedido à FSF) e disponibilizou na Internet o kernel que já havia produzido. convidando outros programadores para que auxiliassem no desenvolvimento do sistema.

surgiram as primeiras distribuições funcionais GNU/Linux. o nome ”Linux” refere-se apenas ao núcleo do sistema operacional. – Cerca de um ano após Linus Torvalds ter disponibilizado seu trabalho. Linux ● O Gênesis (3) – A necessidade de um kernel funcional e que atendesse aos padrões Unix fez com que os desenvolvedores do projeto GNU rapidamente adotassem o Linux. . A maioria dos aplicativos básicos do sistema deriva do projeto GNU. – Na realidade.

Estas construções são denominadas distribuições. . ou Linux a partir do Rascunho). ou ”distros”. ou então serem derivadas de distribuições matrizes. direcionados a um determinado público ou aplicação. – Existem mais de 300 distribuições ativas. – As distribuições podem ser construídas a partir de peças isoladas dos códigos fonte (Linux from Scratch. Linux ● Distribuições – O modelo de desenvolvimento do software aberto possibilita a construção de sistemas GNU/Linux personalizados.

Linux ● Distribuições matrizes principais – Slackware (1993) – Debian (1993) – Red Hat (1994) – Gentoo (2002) ● Algumas distribuições derivadas – SUSE (Slackware) – Ubuntu (Debian) – Mandriva (Red Hat) – System Rescue (Gentoo) .

.

justifica-se a existência de um número tão grande de variantes. é possível que qualquer distro possa ser adaptada para qualquer tarefa. Linux ● Diferenças entre distribuições (1) – Sabendo-se que cada distribuição tem um objetivo de aplicação e público alvo. . Alguns exemplos: ● Debian: uso geral. focada em segurança e estabilidade ● Gentoo: para desenvolvimento e alto desempenho ● System Rescue: para manutenção de sistemas ● Ubuntu: estações de trabalho com ambiente gráfico – Na teoria.

mas isto é uma tarefa árdua e demorada. Linux ● Diferenças entre distribuições (2) – Outro fator que determina a linha de uma distro é a forma de se instalar os softwares que compõem o sistema. – Como o GNU/Linux tem o código aberto. nada impede que um sistema possa ser instalado a partir do fonte. pois cada peça de software tem que ser compilada para gerar o executável correspondente. . o qual pode depender de outras peças. e as ferramentas para gerenciar estas instalações.

– Estes pacotes contém os executáveis. . arquivos de configuração. Linux ● Instalação de softwares (1) – As maioria das distros fornece pacotes pré- compilados para certas plataformas de hardware. principalmente para arquitetura Intel. tais como versão do software e dependências de outros pacotes. documentação e outras informações. 32 ou 64 bits. por ser a mais difundida.

a seguir: .tar) é processado com o GZip (GNU Zip). As peças que compoẽm o pacote são concatenadas com o aplicativo TAR (Tape ARchiver) e o arquivo resultante (. Linux ● Instalação de softwares (2) – A maneira mais primitiva de instalação é a simples descompactação de um pacote no diretório apropriado. gerando um segundo arquivo compactado (. sendo a forma de instalação padrão na Slackware.tgz). Entretanto possui algumas desvantagens. técnica usada desde os tempos do Unix. – Este processo ainda é usado.

exige muito cuidado e conhecimento. que deve saber quais outros pacotes são necessários para que determinado software funcione. . – A resolução das dependências fica a cargo do instalador. para que um pacote seja descompactado nos diretórios corretos e não sobrescreva outros arquivos do sistema. Linux ● Instalação de softwares (3) – A instalação por meio de pacotes . também chamados ”tarballs”. – A desinstalação de pacotes também tem que ser feita manualmente.tgz.

Esta distribuição não disponibiliza pacotes pre-compilados.deb). ● Ebuild. instala as dependências automaticamente. seu sistema de gerenciamento de instalação apenas resolve as dependências. baixa os fontes do repositório original e os compila durante a instalação. da Gentoo. . possui melhor resolução de dependencias recursivas. Linux ● Instalação de softwares (4) – Existem outros três métodos mais utilizados: ● Red Hat Package Manager (.rpm). ● Debian Package (.

mas existem front-ends gráficos. Exemplos: ● Slackware: installpkg e removepkg ● Red Hat: rpm ● Debian: dpkg e apt ● SUSE: yast (ferramenta para gerenciar todo o sistema) ● Gentoo: emerge – Estas ferramentas são utilizadas em linha de comando. . Linux ● Instalação de softwares (5) – Cada distribuição possui ferramentas próprias para o gerenciamento de sotfware.