Software Livre: história e conceituação
Jerônimo Cordoni Pellegrini
(UFABC)
Curso de Extensão Desenvolvimento de Software Livre projeto Proex 10/2015
Software Livre: história e conceituação
Software Livre: história e conceituação
Background
Background
Software Livre: história e conceituação
Background
Sistema Operacional e Aplicativos
Software Livre: história e conceituação
Background
Sistema Operacional e Aplicativos – EXEMPLO
Software Livre: história e conceituação
Background
Sistema Operacional e Aplicativos – EXEMPLO
Software Livre: história e conceituação
Linha (resumidı́ssima) do Tempo
Linha (resumidı́ssima) do
Tempo
Software Livre: história e conceituação
Linha (resumidı́ssima) do Tempo
I
50, 60: software acadêmico era compartilhado
I
1953: Univac A-2 (primeiro software livre?)
I
70: empresas começam a fechar fontes
I
1976: carta aberta aos hobistas (Bill Gates)
I
1976: Emacs
I
197x: Sistemas BSD Unix
I
1978: TeX (Don Knuth)
I
1983: Richard Stallman inicia projeto GNU
I
1987: Perl (Larry Wall), GCC (GNU)
I
1991: BSDs – SO livres completos (mas em litı́gio)
Software Livre: história e conceituação
Linha (resumidı́ssima) do Tempo
I
1991: Linux Torvalds anuncia Linux
I
1995: Apache, Ruby
I
1996: KDE
I
1997: GNOME
I
1999: OpenOffice.org
I
2002: MediaWiki
Software Livre: história e conceituação
Projeto GNU, FSF
Projeto GNU, FSF
Software Livre: história e conceituação
Projeto GNU, FSF
Projeto GNU
I
1983: mensagem de Richard Stallman na Usenet
I
objetivo inicial: “escrever um sistema completo compatı́vel
com Unix chamado GNU”
I
GNU = “Gnu is Not Unix” (GNU não é Unix)
Software Livre: história e conceituação
Projeto GNU, FSF
Projeto GNU
I
1983: mensagem de Richard Stallman na Usenet
I
objetivo inicial: “escrever um sistema completo compatı́vel
com Unix chamado GNU”
I
GNU = “Gnu is Not Unix” (GNU não é Unix)
I
1985: Free Software Foundation
Software Livre: história e conceituação
Projeto GNU, FSF
Software Livre
Definição de Software Livre (FSF):
0) executar, com qualquer propósito
1) estudar o programa e modificá-lo para adequar às suas
necessidades
2) redistribuir o programa
3) distribuir cópias de sua versão modificada
Software Livre: história e conceituação
Projeto GNU, FSF
Software Livre
Definição de Software Livre (FSF):
0) executar, com qualquer propósito
1) estudar o programa e modificá-lo para adequar às suas
necessidades
2) redistribuir o programa
3) distribuir cópias de sua versão modificada
Liberdades 1 e 3 requerem acesso ao código fonte!
Software Livre: história e conceituação
Projeto GNU, FSF
GNU/Linux
I
I
projeto GNU adotou o núcleo Linux
nome correto: “GNU/Linux”
I
I
há “GNU/Hurd”, “GNU/kFreeBSD”, por exemplo
SO + infra de gerenciamento de pacotes
= distribuição GNU/Linux
Software Livre: história e conceituação
Projeto GNU, FSF
Distribuições GNU/Linux (e outras)
I
Trisquel, Parabola, Ututo XS, ð livres!
I
Debian, Mint, Ubuntu
I
Fedora
I
Arch
I
Gentoo
I
Knoppix
I
TAILS
I
OpenWRT
I
Yellow Dog (para Mac)
I
Android (não GNU)
I
muitas outras. . .
Software Livre: história e conceituação
Recombinações
Recombinações
Software Livre: história e conceituação
Recombinações
Recombinações
I
trechos ou programas inteiros copiados
I
pedaços de um projeto usados em outro
Software Livre: história e conceituação
Recombinações
Recombinações
I
trechos ou programas inteiros copiados
I
pedaços de um projeto usados em outro
I
recombinação! (à la Darwin!)
Software Livre: história e conceituação
Recombinações
Recombinações
I
trechos ou programas inteiros copiados
I
pedaços de um projeto usados em outro
I
recombinação! (à la Darwin!)
I
fork: projeto inteiro duplicado
Software Livre: história e conceituação
Recombinações
Recombinações
I
trechos ou programas inteiros copiados
I
pedaços de um projeto usados em outro
I
recombinação! (à la Darwin!)
I
fork: projeto inteiro duplicado
I
tudo isso é bom! (diversidade / criatividade)
Software Livre: história e conceituação
Recombinações
Exemplo: OpenOffice.org / libreOffice / etc
I
2001: StarOffice se torna livre
I
passa por inúmeros forks
Software Livre: história e conceituação
Recombinações
Exemplo: distribuições GNU/Linux
I
inicialmente:
I
I
I
I
I
Debian
Red Hat
SLS – Slackware
outros (O)
hoje: centenas
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização do Trabalho em
Projetos Livres
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização de projetos
I
Ditador benevolente
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização de projetos
I
Ditador benevolente
Linux, Perl
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização de projetos
I
Ditador benevolente
Linux, Perl
I
Empresa
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização de projetos
I
Ditador benevolente
Linux, Perl
I
Empresa
ZFS (Sun), Asterisk (Digium), XFS (SGI), Fedora (Red Hat)
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização de projetos
I
Ditador benevolente
Linux, Perl
I
Empresa
ZFS (Sun), Asterisk (Digium), XFS (SGI), Fedora (Red Hat)
I
I
recebem contribuições da comunidade
muitas vezes, comunidade determina rumos
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização de projetos
I
Ditador benevolente
Linux, Perl
I
Empresa
ZFS (Sun), Asterisk (Digium), XFS (SGI), Fedora (Red Hat)
I
I
I
recebem contribuições da comunidade
muitas vezes, comunidade determina rumos
Organização democrática
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Organização de projetos
I
Ditador benevolente
Linux, Perl
I
Empresa
ZFS (Sun), Asterisk (Digium), XFS (SGI), Fedora (Red Hat)
I
I
I
recebem contribuições da comunidade
muitas vezes, comunidade determina rumos
Organização democrática
Debian
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Exemplo: Linux
I
lı́der: Linus Torvalds
I
cada parte do kernel tem um encarregado (“liutenant”)
I
encarregados organizam contribuições, repassam ao Linus
I
Linus é o único a tomar as decisões finais
Software Livre: história e conceituação
Organização do Trabalho em Projetos Livres
Exemplo: Debian
I
projeto complexo, com subprojetos
I
contrato social, constituição, vários documentos e regras
I
organograma grande e complexo
I
lı́der eleito
I
resoluções gerais votadas
I
sistema de votação: Schulze (respeita critério de Condorcet)
Software Livre: história e conceituação
Participando
Participando
Software Livre: história e conceituação
Participando
Maneiras de Contribuir
I
escrevendo código
Software Livre: história e conceituação
Participando
Maneiras de Contribuir
I
escrevendo código
I
engenharia reversa
I
reportando bugs, sugerindo melhorias
I
gerenciando empacotamento de software
I
documentando
I
criando arte (logos, ı́cones, templates, etc)
I
traduzindo
I
administrando sistemas
I
grupos de usuários, install fests
I
esclarecendo e convencendo
I
escolhendo seu hardware!
I
doando (dinheiro, hardware)
Download

Software Livre: hist´oria e conceituaç ˜ao