Este documento fornece um resumo da Aula 09 de Informática Básica para Funcionários IFPE. Ele discute o histórico do Unix, o projeto GNU, a criação do Linux por Linus Torvalds, e as definições de software livre e código aberto. O documento também descreve brevemente o kernel, o Minix, e fatores a considerar na escolha de uma distribuição Linux.
2. REVISÃO
A idéia do Unix era ser um software proprietário?
Qual o problema da licença BSD?
O que é um sistema time-share?
Quem foi Richard Stallman?
Software livre é o mesmo que software gratuito?
Qual o maior princípio que a filosofia de software
livre prega?
O que é o projeto GNU?
O que é a FSF?
Qual a diferença entre software livre e código
aberto?
3. KERNEL
Todo sistema operacional possui um núcleo de
controle, denominado kernel.
O kernel é responsável pela comunicação direta
do sistema com o hardware, gerando assim uma
camada. Acima desta camada estão os
aplicativos.
Nesta época ainda não havia o kernel do Sistema
GNU.
4. DEFINIÇÃO DE CÓDIGO ABERTO
1. Redistribuição livre
2. Código-fonte
3. Trabalhos derivados
4. Integridade do código-fonte do autor
5. Não-discriminação a pessoas ou grupos
6. Não-discriminação quanto a ramos de empreendimento
7. Não-discriminação às diversas intenções de utilização
8. A licença não deve ser específica para um produto
9. A licença não deve restringir outro software
10. A Licença Deve Ser Neutra às Tecnologias
5. DEFINIÇÃO DE CÓDIGO ABERTO
1. Redistribuição Livre
A licença não deve retringir qualquer das partes de
vender ou integrar o software como componente de
uma distribuição de software agregada, contendo
programas oriundos de diversas fontes. A licença não
deve exigir royalties ou qualquer outro tipo de custo
para venda.
6. DEFINIÇÃO DE CÓDIGO ABERTO
2. Código Fonte
O programa deve incluir o código fonte, e precisa
permitir a distribuição na forma de código fonte bem
como compilada. Quando alguma forma do produto
não é distribuída com o código fonte, precisa dispor de
meios reconhecidos de obtenção do código por não
mais que um preço de custo razoável para a
reprodução, ou download pela Internet sem custos. O
código fonte deve ser a forma privilegiada na qual um
programador altera o programa. Código fonte
deliberadamente obscurecido não é aceito. Formas
intermediárias, como a saída de um processador ou
tradutor não são permitidas.
7. DEFINIÇÃO DE CÓDIGO ABERTO
3. Trabalhos Derivados
A licença deve permitir modificações e trabalhos
derivados, e precisa garantir a estes a distribuição
sob os mesmos termos como a licença do software
original.
8. DEFINIÇÃO DE CÓDIGO ABERTO
4. Integridade do Autor do Código Fonte
A licença deve restringir a distribuição do código
fonte sob forma alterada somente se permitir a
distribuição de "patch files" com código para o
propósito de modificar o programa quando de sua
compilação. A licença deve permitir explicitamente a
distribuição do software compilado a partir de um
código modificado. A licença pode exigir que trabalhos
derivados tragam um nome ou versão distintos da
original.
9. DEFINIÇÃO DE CÓDIGO ABERTO
5. Sem Discriminações Quanto a Pessoas ou
Grupos
A licença não deve discriminar qualquer pessoa ou
grupo de pessoas.
6. Sem Discriminação Quanto a Ramos de
Empreendimento
A licença não deve restringir nenhum uso a ramos de
empreendimento específicos. Por exemplo, ele não
pode ser vedado para uso comercial, ou para usos em
pesquisas genéticas.
10. DEFINIÇÃO DE CÓDIGO ABERTO
7. Distruibuição da Licença
Os direitors associados ao programa devem ser
aplicáveis para todos aos quais o programa é
redistribuído sem a necessidade de licenças
adicionais a estas partes para sua execução.
11. DEFINIÇÃO DE CÓDIGO ABERTO
8. A Licença Não Deve Ser Específica ao
Produto
Os direitos associados ao programa não devem
depender deste ser parte de uma distribuição
particular de software. Caso o programa seja extraído
desta distribuição e usado ou distribuído através dos
termos de sua licença, todas as partes para as quais o
programa é redistribuído devem gozar dos mesmos
direitos garantidos na conjunção original da
distribuição do software.
12. DEFINIÇÃO DE CÓDIGO ABERTO
9. A Licença Não Deve Restringir Outros
Softwares
A licença não deve aplicar restrições sob outros
softwares que sejam distribuídos com softwares
objetos de seu licenciamento. Por exemplo, a licença
não deve insistir que outros programas distribuídos
no mesmo meio sejam software de código aberto.
10. A Licença Deve Ser Neutra às
Tecnologias
Nenhuma aplicação da licença deve discriminar uma
tecnologia específica ou estilo de interface.
13. O MINIX
Em 1986, Andrew Stuart Tanembaum criou o
Minix, que significa Mini Unix, para lecionar
sistemas operacionais na universidade.
14. LINUX
Em 5 de outubro de 1991, Linus Torvalds manda
para a lista de discussão do Minix o Kernel do
Linux, que seria a junção de Linus com Unix.
Ele queria fazer um sistema operacional
totalmente livre, mas não tão grande como o do
projeto GNU.
Só que o projeto GNU foi iniciado pelos
aplicativos e não havia terminado o kernel e
Linus terminou o kernel mas não tinha
aplicativos.
15. LINUX
Linus então utilizou os programas da FSF em seu
sistema.
Logo, o nome correto de chamar o sistema em
questão é de GNU/Linux.
Porque criar o Linux?
Linus queria um sistema com bom desempenho e
o Windows ou o DOS não satisfaziam, e o minix
era simples demais. O Unix com boas
ferramentas custava alguns milhões de dólares.
16. LINUX
Os programadores criaram suas distribuições e
em 2007 já havia mais de 270 distribuições.
17. TUX
O símbolo do Linux é
Tux, que é a fusão de
Linus com Unix.
18. QUAL DISTRIBUIÇÃO UTILIZAR?
Fatores:
Distribuição para usuários em geral ou experts?
Existem fontes de consulta na Internet?
A distribuição é para servidores ou desktop?
Vamos adotar o Debian GNU/Linux
Porque?
Laboratório adota Ubuntu.
Baseada no Debian.