Sei sulla pagina 1di 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.
Software Livre
● FSF (Free Software Foundation)

– A FSF (Fundação Software Livre) é uma


organização sem fins lucrativos, criada no início
dos anos 80 pelo pesquisador e hacker norte-
americano Richard Stallman, e sediada nos
Estados Unidos da América. Advoga o Software
Livre e detém os direitos da ”Licença Pública
Geral” (GPL), para que o software licenciado sob
esta não possa ser apropriado indevidamente
por pessoas ou organizações inescrupulosas.
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, permitir modificações
nestes e não fazer nenhum tipo de restrição ao uso
dos mesmos.
● É permitida a redistribuição, gratuita ou onerosa, do
software original e de versões modificadas ou
derivadas, que obrigatoriamente deveram estar
regidas e acompanhadas pela GPL.
Software Livre
● Vantagens do Software Livre
– Sem custo de licenciamento ou restrições de uso.
– Melhor aderência aos padrões de
interoperabilidade com outros sistemas.
– Liberdade de personalização, podendo ser
adaptado a necessidades e hardwares
específicos.
– Disponibilidade do código fonte, permitindo
alterações, exame e auditoria.
– Democracia do conhecimento.
Software Livre
● Desvantagens do Software Livre
– Sistemas e aplicativos menos conhecidos, pois
seus produtores não dispendem grandes somas
em marketing.
– Base de suporte menor, mais especializada e
mais onerosa, como consequência da menor
disseminação.
– 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.
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, e
que surgiu com o código aberto, mas
posteriormente a empresa detentora dos direitos
sobre ele tornou-o software proprietário.
– Os softwares deste projeto foram escritos por
inúmeros programadores voluntários a partir de
rascunho e são licenciados sob a GPL.
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, e
que rodavam sobre a plataforma Unix. Porém
ainda faltava completar um componente
essencial e complexo: o kernel, ou núcleo, do
sistema operacional.
– Exatamente nesta época, surgiu o kernel Linux,
baseado no Minix, um pequeno sistema
operacional livre inspirado no Unix e utilizado em
estudos acadêmicos.
Linux
● O Gênesis (1)
– O Linux nasceu em 1991, quando Linus Torvalds,
então estudante em Ciências de Computação na
Universidade de Helsinki, Finlândia, sentiu a
necessidade pessoal de um sistema operacional
multitarefa e multiusuário, possível de ser
executado na plataforma IBM PC (Intel 386). O
Unix atendia aos primeiros requisitos, porém
somente rodava em mainframes e tinha um alto
custo de licenciamento.
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, sob a licença GPL, convidando
outros programadores para que auxiliassem no
desenvolvimento do sistema.
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.
– Cerca de um ano após Linus Torvalds ter
disponibilizado seu trabalho, surgiram as
primeiras distribuições funcionais GNU/Linux.
– Na realidade, o nome ”Linux” refere-se apenas ao
núcleo do sistema operacional. A maioria dos
aplicativos básicos do sistema deriva do projeto
GNU.
Linux
● Distribuições
– O modelo de desenvolvimento do software aberto
possibilita a construção de sistemas GNU/Linux
personalizados, direcionados a um determinado
público ou aplicação. Estas construções são
denominadas distribuições, ou ”distros”.
– 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, ou Linux a partir do Rascunho), ou
então serem derivadas de distribuições matrizes.
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)
Linux
● Diferenças entre distribuições (1)
– Sabendo-se que cada distribuição tem um objetivo
de aplicação e público alvo, justifica-se a
existência de um número tão grande de
variantes. 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, é possível que qualquer distro possa


ser adaptada para qualquer tarefa.
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, e as ferramentas para
gerenciar estas instalações.
– Como o GNU/Linux tem o código aberto, nada
impede que um sistema possa ser instalado a
partir do fonte, mas isto é uma tarefa árdua e
demorada, pois cada peça de software tem que
ser compilada para gerar o executável
correspondente, o qual pode depender de outras
peças.
Linux
● Instalação de softwares (1)
– As maioria das distros fornece pacotes pré-
compilados para certas plataformas de
hardware, principalmente para arquitetura Intel,
32 ou 64 bits, por ser a mais difundida.
– Estes pacotes contém os executáveis, arquivos de
configuração, documentação e outras
informações, tais como versão do software e
dependências de outros pacotes.
Linux
● Instalação de softwares (2)
– A maneira mais primitiva de instalação é a simples
descompactação de um pacote no diretório
apropriado, técnica usada desde os tempos do
Unix. As peças que compoẽm o pacote são
concatenadas com o aplicativo TAR (Tape
ARchiver) e o arquivo resultante (.tar) é
processado com o GZip (GNU Zip), gerando um
segundo arquivo compactado (.tgz).
– Este processo ainda é usado, sendo a forma de
instalação padrão na Slackware. Entretanto
possui algumas desvantagens, a seguir:
Linux
● Instalação de softwares (3)
– A instalação por meio de pacotes .tgz, também
chamados ”tarballs”, exige muito cuidado e
conhecimento, para que um pacote seja
descompactado nos diretórios corretos e não
sobrescreva outros arquivos do sistema.
– A resolução das dependências fica a cargo do
instalador, que deve saber quais outros pacotes
são necessários para que determinado software
funcione.
– A desinstalação de pacotes também tem que ser
feita manualmente.
Linux
● Instalação de softwares (4)
– Existem outros três métodos mais utilizados:
● Red Hat Package Manager (.rpm), instala as
dependências automaticamente.
● Debian Package (.deb), possui melhor resolução de
dependencias recursivas.
● Ebuild, da Gentoo. Esta distribuição não disponibiliza
pacotes pre-compilados, 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.
Linux
● Instalação de softwares (5)
– Cada distribuição possui ferramentas próprias
para o gerenciamento de sotfware. 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, mas existem front-ends gráficos.

Potrebbero piacerti anche