Você está na página 1de 8

Software Livre - Trajetoria, potencialidades e modelo de negocios - Presentation Transcript

1. Software Livre: Trajetória, Potencialidades e Modelos Negócio Marcelo Sávio


http://www.linkedin.com/in/msavio http://msavio.myplaxo.com
http://www.slideshare.net/msavio/slideshows http://www.scribd.com/msavio
http://betarrabios.blogspot.com 1
2. Software livre como4 Uma história do Software Livre 4Agenda Aceitação do4Inovação –
Modelos de Desenvolvimento – Modelos de Negócio A IBM e o software livre 24mercado
3. O que é software? “Hardware é tudo aquilo que você chuta. Software é tudo aquilo que você
xinga…” 3
4. O valor do software • Até a década de 70, o valor de um computador (basicamente mainframes e
minicomputadores) estava contido essencialmente no hardware. A maioria dos fabricantes
fornecia o código fonte de seus sistemas operacionais e aplicativos e, embora as licenças não
explicitassem claramente a liberdade, a redistribuição do software era comum e vista como ação
positiva. IBM System 360 Burroughs Datatron 220 DEC PDP 8 4
5. Compartilhamento de software • Havia um grande compartilhamento de software entre os
participantes dos grupos de usuários de computadores, exemplos: – SHARE (sistemas IBM) –
DECUS (sistemas DEC) – CUBE (sistemas Burroughs) – Etc. Grupo de Usuários IBM (Fundado
em 1955) • Os fabricantes até estimulavam o compartilhamento de informações e melhorias de
software produzidas entre seus usuários como forma de diminuir os custos de suporte. Assim o
software era, em geral, desenvolvido de forma cooperativa e aberta. • Ou seja, ainda que não
houvesse esse termo, o software era livre... 5
6. A indústria de Software A partir da década de 70 o cenário começou a mudar: ● Surgiram mais
fabricantes de hardware (minicomputadores e microcomputadores); ● O software começou a ser
comercializado em separado do hardware; ● O software deixou de ser específico de cada
fabricante de hardware; ● Surgiram as empresas especializadas em desenvolver e comercializar
software; ● Surgiram novos modelos de licenciamento, uso e propriedade intelectual dos códigos
(programas). 6
7. O (re) surgimento do Software Livre • Como “ressurgiu” o movimento do software livre? • Quem
iniciou? Como? E por qual motivo? • Software livre tem licenciamento? Como funciona? •
Software livre = software aberto? • Onde entra o Linux nessa história? Essas e outras respostas
a seguir... 7
8. Richard Stallman era um hacker♣O último hacker (“do bem” ) que trabalhava no laboratório de
Inteligência Artificial do MIT (AI Lab), desde 1971, como analista de suporte e desenvolvimento.
OBS: O termo hacker havia sido criado no próprio MIT, na década anterior e designava as
pessoas que buscavam incansavelmente conhecer cada vez mais dos computadores e que
acreditavam no livre intercâmbio de informações. 8
9. Em 1974,♣Stallman e o início do movimento do software livre o AILab do MIT iniciou o projeto
LispMachine, um sistema operacional monousuário especializado para rodar programas em Lisp,
linguagem de programação voltada Esse projeto, no início da década de 80, deu♣para a
Inteligência Artificial origem a duas empresas (Symbolics e Lisp Machines Inc.), que acabaram
por contratar todos os outros hackers do AI Lab e comercializar versões dos programas que ali
haviam sido criados, impondo restrições de uso e de acesso ao Em 1982 também chegaram ao
AILab os novos computadores DEC VAX,♣código fonte. Esses fatos ( principalmente)♣com
sistema operacional sem código fonte. motivaram Stallman a lançar o Manifesto GNU e criar o
movimento do Software Livre... 9
10. O Manifesto GNU Em 1983, Stallman divulgou o Manifesto GNU, que anunciava a intenção da
criação de um novo sistema operacional completo, utilizando-se única e exclusivamente
programas livres (Free Software). Nesse manifesto Stallman convocava pessoas e empresas a
investirem nessa idéia contribuindo com dinheiro, máquinas e/ou tempo. As doações serviriam
para desenvolver software totalmente livre. 10
11. A Free Software Foundation Em 1984, Stallman deixou seu emprego no MIT e deu início a
criação dos programas do Projeto GNU. Em 1985, como mais pessoas já estavam envolvidas no
projeto, era hora de buscar mais investimentos a fim de poder manter um grupo permanente de
desenvolvimento. Foi então criada a Free Software Foundation (FSF). 11
12. Definição de Software Livre (segundo a FSF) “Software Livre é Liberdade de executar um
programa, para qualquer♣uma questão de liberdade” Liberdade de estudar como um programa
funciona, e adaptá-lo para as♣propósito; Liberdade de redistribuir cópias de modo que você
possa♣suas necessidades; Liberdade de aperfeiçoar um programa, e liberar os seus♣ajudar
aos demais; aperfeiçoamentos, de modo que toda a comunidade também se beneficie; 12
13. GPL (General Public License) – Em 1989 a FSF criou a licença GPL; – Em 1991 a GPL evoluiu
para a segunda versão; – Em Junho de 2007 foi lançada a GPL v3. Se Software proprietário Não
GPL contiver Se Software livre GPL então Não distribuir Remover Distribuir código Sob GPL GPL
13
14. Mas o que significa GNU? GNU significa “Gnu is Not Unix”. É o nome de um sistema operacional
completo, compatível com o UNIX. Esse projeto representa a concretização da filosofia Software
Livre. 14
15. E por que o GNU não poderia ser o UNIX?... Marcelo Sávio Uma história do UNIX... Arquiteto de
Software IBM Brasil msavio@br.ibm.com 15
16. Uma pequena história da Informática “moderna”… As raízes frias da informática 16
17. No início houve uma grande explosão... Deserto em Alamogordo, Novo México, EUA (1945) 17
18. Seguida de outras duas... Bomba em Hiroshima, Bomba em Nagasaki, Japão (1945) Japão
(1945) .. que terminaram um conflito (II Guerra Mundial) 18
19. E desencadearam outro... A Guerra Fria 19
20. Teste de Bomba Atômica Teste de Bomba Atômica no Atol de Bikini, em Semipalatinsk Ilhas
Marshall, EUA Cazaquistão, URSS (1946) (1948) Bombas nucleares Teste da Bomba-H Teste
da Bomba-H, em Semipalatinsk no Atol de Enewetak, Cazaquistão, URSS Ilhas Marshall, EUA
(1955) (1952) As bombas eram lançadas por aviões especiais... 20
21. TU-4 B-29 B-36 TU-16 Aviões Bombardeiros TU-20 B-52 Como se proteger de ataques
aéreos?... 21
22. Semi-Automated Ground Environment (SAGE) Ameaça Nos Estados Unidos.... 22
23. • 24 Centros • Cada um com cerca de 100 operadores • Ambiente funcionava em modo 24 x 7 23
24. 24
25. 25
26. Avanços tecnológicos Apesar de ter se tornado obsoleto no momento em que ficou totalmente
pronto – em 1962 as principais ameaças já não eram mais os aviões, mas sim os mísseis
balísticos intercontinentais, contra os quais o sistema era inútil – o SAGE trouxe uma série de
inovações que, em forma de idéias ou tecnologias, abasteceram a nascente indústria de
informática: • Multiprocessamento • Sistema de tempo compartilhado (timesharing) •
Processamento distribuído • Memória de núcleos magnéticos • Modem (conversão
Analogico/Digital) • Gerenciamento de banco de dados em tempo real • Terminais gráficos
interativos e Light pen • Redes • Correção automática de erros • I/O “bufferizado” • Engenharia de
Software (500 mil linhas de código) • Alta disponibilidade 26
27. 1957 A largada da corrida espacial A União Soviética lançou os satélites Sputnik 1 e 2 e saiu na
frente na corrida espacial. 27
28. 1957 Acelerando as pesquisas Os EUA criaram em seguida, dentro do Departamento de Defesa,
a agência ARPA (Advanced Research Project Agency) para reconduzir o país à liderança
tecnológica. Bitmap5 • No ano seguinte criou a NASA (National Aeronautics and Space
Administration) para coordenar a cuidar especificamente da corrida espacial. • A ARPA quase foi
desfeita, mas se reposicionou como fomentadora de diversas tecnologias de longo prazo, sem
necessariamente ter um objetivo militar específico. 28
29. Na ARPA foi criada a♣1962 As pesquisas em computação O objetivo original♣divisão IPTO
(Information Processing Techniques Office). do IPTO era incentivar a pesquisa em tecnologias
de computadores – redes, sistemas multiusuário (timesharing), interfaces homem-máquina, etc.,
estendendo MIT♣ As Instituições inicialmente agraciadas: ♣a experiência feita no SAGE.
RAND♣ Carnegie-Mellon University ♣(Massachussets Institute of Technology) System
Development Corporation♣ Stanford Research Institute (SRI) ♣Corporation University of
California at Santa♣ University of California at Berkeley (UCB) ♣ University of♣ University of
California at Los Angeles (UCLA) ♣Barbara (UCSB) University of Utah 29♣South Carolina
30. O projeto mais famoso do IPTO SDS 940 IMP Stanford (SRI) IMP DEC PDP 10 1º Out 1º Dez
Utah (UU) 1969 IMP IBM S/360-75 1º Set Santa Barbara (UCSB) IMP 1º Nov SDS Sygma 7 Los
Angeles (UCLA) 30
31. 1968 Outro projeto bancado pelo IPTO: NLS (On-Line System) Stanford Research Institute NLS
Mouse Douglas Engelbart 31
32. O♣1963 O Projeto MAC Massassuchetts Institute of Technology IPTO patrocinou o Projeto
MAC (Multiple Access Computers que visava desenvolver Este projeto inicialmente criou
o♣sistemas de uso compartilhado (time sharing) sistema operacional CTSS (Compatible Time
Sharing System) para o computador IBM 7094 que suportava 30 usuários on-line
simultaneamente. . 32
33. No Projeto MAC, o MIT♣1964 O Sistema Operacional MULTICS começou o desenvolvimento
de um novo sistema operacional multiusuário que fosse Este sistema♣capaz de suportar mais
de 300 usuários simultâneos on-line. A General♣chamava-se MULTICS (Multiplexed
Information and Computing Service) Electric e a Bell Laboratories se juntaram ao MIT neste
projeto e cada um tinha O MIT queria desenvolver pesquisas em sistemas operacionais
(time♣um objetivo: A♣ A GE queria vender computadores com o novo Sistema Operacional;
♣sharing); Bell Labs queria um bom sistema para usar no ambiente administrativo. 33
34. O Sistema Operacional MULTICS Rodou inicialmente no computador GE-645 34
35. A IBM estava perdendo prestígio em dois♣A Reação da IBM Apesar de nova no mercado, a
GE estava se♣clientes impostrantes: MIT e Bell Os sistemas timesharing estavam começando
a se tornar uma♣tornando uma ameaça necessidade do mercado. A IBM reagiu, desenvolvendo
sistemas que perduraram até 1965 • Sistema operacional TSS, para o computador♣hoje. “Task
force na IBM” 1967 • Sistema operacional CP/67 (CP/CMS) • CP/CMS♣IBM System 360
Modelo 67 --> VM/370 --> VM/XA --> VM/ESA --> VM/390 --> z/VM • DOS/360 --> DOS/VS -->
DOS/VSE --> VSE/ESA --> z/VSE • OS/360 MVT --> OS/VS2 --> MVS/370 --> MVS/XA -->
MVS/ESA -->OS/390 --> z/OS 35
36. No final de 1969 a Bell Labs deixou o♣E o projeto MULTICS? Projeto, que continuou com o
apoio do Honeywell (que comprou a divisão de O MIT saiu parcialmente do Projeto em 1970 e
totalmente♣computadores da GE). A última4 Em 1974 a Honeywell lançou sua primeira versão
comercial. ♣em 1975. máquina com o MULTICS foi desligada em Outubro de 2000 (no Depto.
de Defesa Sistema de arquivos♣Nacional do Canadá) Principais contribuições do MULTICS: ♣
Implementação em linguagem de alto nível ♣ Memória virtual ♣hierárqiuco Reconfiguração♣
Segurança ♣ Suporte a múltiplas linguagens ♣Multiprocessamento Engenharia de Software
36♣on-line
37. ♣1969 Continuando as pesquisas em sistemas operacionais Kenneth Thompson e Dennis
Ritchie (ambos da AT&T Bell Labs) trabalhavam no desenvolvimento do sistema de arquivos do
sistema operacional MULTICS no Projeto Quando a Bell abandonou o Projeto MULTICS,
resolveram continuar as♣MAC. pesquisas dentro da AT& Também quiseram preservar um jogo
simulador♣T. chamado Space Travel que haviam desenvolvido durante o Projeto MULTICS e
quiseram portá-lo para outro computador que houvesse disponível na Bell. 37
38. O Sistema Operacional UNIX Conseguiram um minicomputador DEC PDP-7 emprestado de
outro departamento interno e começaram a desenvolver um Escreveram o sistema♣sistema
operacional para rodar o Space Travel. operacional, uma interface shell, um editor de textos, um
assembler e o sistema de arquivos. Este novo sistema foi inicialmente chamado de “UNICS”
(UNIplexed Em 1970 o Depto. de♣Information and Computing Service), que depois virou UNIX
Patentes da Bell comprou um DEC PDP-11/45, para onde o UNIX foi foi logo portado. A própria
Bell passou a utilizar o sistema. 38
39. Ritchie e Thompson apresentaram pela♣1973 O anúncio do UNIX primeira vez o UNIX em um
simpósio sobre sistemas operacionais promovido pela Após esse simpósio começaram a♣IBM
em um dos seus Centros de Pesquisas. receber pedidos para fornecerem uma cópia do
sistema. IBM Watson Research Center Yorktown, New York (EUA) 39
40. Ritchie e Thompson publicaram♣1974 A disseminação do UNIX um artigo da Communications
of the Association for Computing Machinery (CACM), o que aumentou ainda mais a visibilidade
do sistema. 40
41. As universidades e a disseminação do UNIX • A partir de 1974, várias Universidades (Harvard,
Berkeley, Stanford, etc.) se interessaram pelo sistema e o adquiriram por um preço simbólico do
custo da fita e manuais (e sem direito a suporte). • A AT&T estava proibida por lei (desde 1956)
de comercializar produtos fora do mercado de telefonia e telegrafia. Esta lei valeu até 1982. 41
42. Até 1975, para se rodar o UNIX era♣A portabilidade do UNIX necessário possuir um
computador DEC PDP 11, até que, na Versão 4 ,o sistema foi completamente reescrito na
linguagem de programação C, o que facilitou sua A primeira versão do UNIX em♣futura
portabilidade para outras máquinas. máquina não- DEC rodou (em 1976) em um computador
IBM System 360 Modelo 91 na Posteriormente, nos Laboratórios da Bell o UNIX♣Universidade
de Princeton. rodou em máquinas Interdata 8/32 42
43. Linguagem de programação criada por Dennis♣Falando do C... A Linguagem B era uma
adaptação♣Ritchie, baseada na Linguagem B. (simplificação) da linguagem BCPL (Basic CPL)
criada por Martin Richards em A♣1967, no Projeto MAC, que por sua vez era um adaptação da
linguagem CPL. linguagem CPL (Combined Program Language) foi desenvolvida na Inglaterra
em 1963, nas Universidades de Cambridge e Londres e era baseada na linguagem ALGOL A
linguagem ALGOL (Algorithmic Oriented Language) foi criada em 1958 por um♣ grupo
internacional de especialistas. Era uma linguagem estruturada de alto nível, voltada para
aplicações científicas. A primeira especificação formal da Linguagem C aconteceu somente em
1978 com o lançamento do livro “The C Programming Language”, escrito por Brian Kernighan e
Dennis Ritchie 43
44. Berkeley e a disseminação do UNIX • Em 1975 Thompson foi convidado a dar aulas sobre
sistemas operacionais na Universidade de Berkeley. • A partir do ano seguinte o CSRG
(Computer Sciences Research Group) dessa universidade criou e começou a distribuir fitas com
versões de UNIX com uma série de extensões e complementos desenvolvidos localmente. Essa
distribuição ficou conhecida como BSD (Berkeley Software Distribution) • Uma das extensões
mais importantes foi a implementação do protocolo TCP/IP de forma nativa, que transformou o
UNIX no sistema padrão da ARPANET (e posteriormente da Internet). 44
45. O UNIX no Brasil • Algumas universidades brasileiras tentaram licenciar o UNIX, sem sucesso.
Assim partiram para desenvolver um sistema próprio, compatível com UNIX, mas sem usar
código da AT&T. • Em 1982 o Núcleo de Computação Eletrônica da UFRJ criou o Projeto
PLURIX. Outras universidades também o fizeram, como a UFMG (DCC-IX) e USP (Real). •
Algumas empresas nacionais também desenvolveram seus próprios sistemas, como a COBRA
(SOX ), EDISA (Edix), DigiRede (Digix) e Softec (Analix). • Depois chegaram os sistems UNIX
licenciados e hoje, nenhum desses sistemas nacionais existe mais, com exceção do Plurix, que
se transformou no TROPIX em 1994, e ainda existe na UFRJ. 45
46. A partir 1983 (System III, versão♣O produto comercial UNIX 7), a AT&T passou a tratar o UNIX
como um produto comercial e a não liberar mais o código fonte... e a acionar judicialmente quem
usasse o nome ou código do Algumas empresas licenciaram o UNIX para poderem lançar
suas♣UNIX sem licença. Vertucom4 IBM AIX 4 Microsoft Xenix 4 Sun OS 4 HP UX 4 DEC Ultrix
4“versões”: Etc. Primeira propaganda do UNIX 464 Unisoft UNIPLUS 4Venix
47. Os BSD UNIXes • As fitas que a BSD distribuía continham código original da AT&T, por isso
também necessitavam licenças. • No início dos Anos 90 surgiram projetos de se escrever um
sistema BSD sem código da AT&T, como foram os casos do 386BSD e da BSDi. Mesmo assim
as distribuições BSD foram alvo de batalhas judiciais (que hoje já estão encerradas). • Em 1993
o 386BSD deu origem aos sistemas NetBSD e FreeBSD. • Em 1996 surgiu o OpenBSD,
derivado do NetBSD. • Em 2003 surgiu o DragonFlyBSD, derivado do FreeBSD. 47
48. Os UNIX “acadêmicos” (e sem código da AT&T) XINU (Xinu Is Not Unix) MINIX Douglas Comer
Andrew Tanenbaum 1979 1987 48
49. O Linux • Kernel de sistema operacional baseado no MINIX, desenvolvido originalmente por
Linus Torvalds, aluno da Universidade de Helsinki (Finlândia) em meados de 1991. 49
50. O Linux • Em duas semanas após o anúncio de Torvalds em 1991, 30 pessoas tinham
contribuído com cerca de 200 informes de erros, contribuições de utilitários, drivers e melhorias
para serem adicionadas ao kernel • Em Julho de 1995, mais de 15.000 pessoas de 90 países em
5 continentes tinham contribuído com comentários, informes de erro, correções, alterações,
reparos e melhorias. 50
51. No início dos anos 90 o sistema GNU estava♣GNU + Linux: praticamente completo faltando um
último (e importante) componente: o kernel do Foi decidido então pela implementação do HURD,
baseado no Mach (um♣sistema. O HURD♣ Mas como: ♣microkernel desenvolvido na
Universidade Carnegie Mellon). O♣ Os sistemas BSD estavam sob batalhas judiciais… ♣ainda
levaria muito tempo… Então foi só uma♣Linux já estava por aí rodando e dando bons
resultados... O♣questão de tempo unir o kernel Linux ao sistema GNU, daí o nome GNU/Linux.
licenciamento através da GPL e a utilização da Internet como o canal principal de comunicação e
desenvolvimento transformaram o Linux no mais importante exemplo de software livre
desenvolvido de forma aberta e descentralizada. 51
52. A Lenda… x “ Linus and I are not \"enemies\" or anything like that. I met him once and he seemed
like a nice friendly, smart guy. My only regret is that he didn't develop Linux based on the
microkernel technology of MINIX “ I REALLY am not angry with Linus. HONEST. He's not angry
with me either. 52
53. O Linux é normalmente usado como♣A distribuições Linux As distros são criadas por
indivíduos,♣parte de um distribuição (“distro”). Apesar de possuírem um kernel comum (Linux
versão x.y.z),♣grupos ou empresas. as distros divergem quanto às ferramenta de instalação,
qualidade/quantidade de documentação, programas aplicativos adicionais (de diversos tipos),
suporte, Existem centenas de distribuições. As mais usadas são: 53♣preço, etc.
54. A árvore genealógica (parcial) do sistema operacional UNIX 54
55. EUA ALGOL URSS IBM Linguagem CPL Sputnik DARPA IPTO MIT Linguagem BCPL RAND
Project MAC Linguagem B AI Lab CTSS Redes de LCS Bell MULTICS Pacotes GNU BBN
Linguagem C X-Window UCLA UNIX Arpanet Berkeley UCSB TCP/IP Minix Utah Linux Internet
Mozilla WWW Netscape Mosaic Apache 55
56. Sugestões de leitura da história da Informática 56
57. Software Livre = Inovação Modelo de desenvolvimento Software Livre Modelo de negócios 57
58. Software Livre: Modelo de Desenvolvimento Marcelo Sávio Arquiteto de Software IBM Brasil
msavio@br.ibm.com 58
59. Projeto de software livre: Definição Embora não exista uma definição precisa do que seja um
projeto de software livre, existe um consenso informal que abrange: • Código fonte, que é o
software propriamente dito, mas que existe em forma de inúmeras cópias entre todos seus
usuários e repositórios de dados. • Um grupo de desenvolvedores, que trabalha para codificar e
corrigir o software. Trabalham cooperativamente através da Internet e podem ter status
diferenciados dentro do projeto. • Os usuários do software. Apesar de todo software ter usuários,
sua participação em projetos de software livre é essencial, pois discutem inovações e
apresentam erros encontrados com freqüência. • Os repositórios de documentos e códigos.
Normalmente todo projeto tem algum site central que é uma referência para desenvolvedores e
usuários buscarem códigos e informações atualizadas. 59
60. A Catedral e o Bazar • Eric Raymond rotulou os modelos de desenvolvimento de software: –
Chamou de “Bazar” o modelo descentralizado e cooperativo do Linux, em contraposição ao
“Catedral”, modelo tradicional no qual o desenvolvimento é realizado de forma fechada e pouco
cooperativa. • Reforçou esta perspectiva através da afirmação de que o Linux é um contra-
exemplo da “Lei de Brooks”, uma lei clássica da Engenharia de Software, que dizia o seguinte:
“...o tempo de um programador não é acumulativo, pois ao adicionar desenvolvedores em um
projeto atrasado de software faz com que ele se torne mais atrasado ainda e que a complexidade
e os custos de comunicação de um projeto crescem com o quadrado do número de
desenvolvedores, enquanto o trabalho feito cresce somente linearmente” (Frederick Brooks,
1975). 60
61. Time estruturado (hierarquia) x Rede♣Catedral x Bazar ♣ Liderança formal x Liderança
baseada em meritocracia ♣Social (comunidades) Tarefas e prazos bem definidos x Roadmap
definido♣Tarefas e prazos informais Documentação (parte do produto)♣(influência do
marketing) x Roadmap adaptável Testes estruturados x “Se exposto a um♣x Documentação
(tarefa necessária ) Construção (top♣número suficiente de olhos, todos os bugs são
superficiais” Perfeição x Melhorias♣down) x Evolução (“Release early, release often”)
Redundância (seletividade) x assinalamento de tarefas 61♣Contínuas
62. Ciclo de Vida de um Projeto de Software Livre Gênese Primeiros contribuidores Primeira versão
Cria-se comunidade Governança formal Processos de revisão Versão estável Mais
contribuidores Divergências de direcionamento Liderança reconhecida Novas Versão Split off
para novo Variantes projeto funções terminal (ex: Emacs e Xemacs) Comunidade desiste de
Variantes podem evoluir o software continuar evoluindo (FreeS/Wan) (Openswan/Strongswan)
62
63. Comunidade envolvida no desenvolvimento de um Software Livre Desenvolvedores principais
Principais Contribuidores esporádicos Usuários Meritocracia tende a concentrar as colaborações:
10% dos colaboradores escrevem mais de 70% do código. 63
64. Densidade de defeitos de software:♣Qualidade de código Segundo o Software Engineering
Institute, um programador experiente produz aproximadamente 1 defeito por 10 LOC (Lines of
Code). Se, durante o processo de desenvolvimento, 99% desses defeitos forem descobertos e
corrigidos, existirão Uma distribuição♣mil defeitos por cada 1 milhão de LOC ou 1 defeito por
KLOC. Estudo da Reasoning♣Red Hat Linux possui aproximadamente 30 milhões de LOC;
Apache (v2.1): 0,51♣ Código TCP/IP no Linux (v2.4.19) : 0,1 bugs/KLOC ♣(2003) Estudo da
Coverity (Jul 2005) mostrou que entre Dez/2004 e Jul/2005♣bugs/KLOC A♣a densidade de
defeitos do kernel Linux baixou de 0,17 para 0,16 bugs/KLOC. densidade de defeitos reduziu em
2,2%, ainda o kernel tenha crescido de 5,76 para 6,03 milhões de LOC, o que representa um
aumento de 4,7% 64
65. A disponibilidade do código♣Código aberto é mais seguro? Transparência♣ Confiabilidade =
segurança ♣fonte é um benefício ou malefício? Diversos estudos independentes mostram
o♣vs. “Segurança pela obscuridade” Linux mais seguro, e mais rápido do que outros sistemas
na identificação e Não há consenso...♣aplicação de correções (Bloor Research, Mitre, Evans,
etc.) 65
66. Alguns projetos famosos – As linguagens de programação Perl, Python e PHP; – O serviço de
diretório OpenLDAP; – Os ambientes gráficos GNOME e KDE; – O browser Mozilla; – O
compilador GCC; – O kit de aplicativos de escritório OpenOffice; – O servidor de aplicativos
Zope; Sendmai – Os servidores de aplicativos Java Gluecode e JBoss; l – O servidor HTTP
Apache; – O servidor de Proxy Squid; – Os servidores de correio Sendmail, QMail e PostFix; – O
sistema de ERP GNUe; – Os sistemas bancos de dados MySQL e PostgreSQL; – O sistema de
integração com redes Windows Samba; – O ambiente de desenvolvimento Eclipse; – Os
sistemas operacionais FreeBSD e Linux. 66
67. Alguns desafios ao modelo de desenvolvimento de software livre (em geral) • Redundância de
esforços (muitas alternativas e variantes…) • Problemas de comunicação (inglês, emails) • Senso
de prioridade (Agilidade no processo decisório) • Proliferação de “grupos fechados”
(“panelinhas”) • Falta de foco • Dependência de pessoas-chave • Escassez de lideranças
competentes • Problemas legais (propriedade intelectual) 67
68. A “seleção natural” aplicada ao software livre Existem milhares de projetos de Software Livre
( Exemplo: Projetos em andamento no Sourceforge - Agosto de 2005) Estágio do Quantidade
Percentual Projeto de Projetos Planejamento 16.121 21,60 % Pré-Alfa 12.652 16,95 % Alfa
12.788 17,13 % Beta 16.493 22,09 % Estável 13.883 18,60 % Maduro 1.223 1,64 % Inativo
1.487 1,99 % 68
69. Atual estrutura de desenvolvimento do Linux Andrew Morton (staff LF) Mantenedor do kernel em
produção Código fonte Código fonte Mercado Contribuidores Mantenedores dos Staff da LF
também subsistemas Mantenedor do kernel contribui com código Mantenedores dos em
desenvolvimento Linux User Advisory Council Subsistemas Linus Torvalds (LF) no staff LF (staff
LF) 69
70. Estrutura de desenvolvimento do Linux Papel da LF e do ecossistema Patrocinadores da
indústria IBM, HP, Cisco, CA, EMC, Fujitsu, Hitachi, Intel, Nokia, Novell, Sun, Toshia, Unisys, etc.
Data Center Linux for the Enterprise Expertise e $$ Carrier Grade Linux for Telecom Internet
Linux Kernel Expertise e Pessoas Comunidade e Arquitetos e coordenadores da Linux
Foundation Fonte: LF 70
71. A evolução do modelo de desenvolvimento de Software Livre (caso Linux) ✔ Desenvolvedores
100% voluntários ✔ 90% dos desenvolvedores principais trabalham em fundações mantidas pela
✔ Desenvolvimento anárquico indústria (ex. ASF/LF) ou em empresas ✔ Não existe roadmap
claro (visão ✔ Organização mais hierárquica (ex: Linux pessoal do criador) Foundation como
ponto focal para o Linux) ✔ Inexiste scheduling para deployment ✔ Roadmap mais claro
(influência da industria) (desenvolvedores escrevem código para rotinas que querem e gostam/ e
✔ Scheduling mais organizado com novos para quando querem) códigos sendo gerados como
projeto por organizações (ex. O LTC da IBM) ✔ Qualidade do código é variável (teste baseado
na filosofia de “massively ✔ Melhoria da qualidade do código (mantém parallel debugging”)
depuração maciça, mas implementa testes sistemáticos no código gerado por profissionais ✔
Código instável (desenvolvedores de empresas de TI) submetendo contribuições “bleeding
edge”) ✔ Maior controle das versões ✔ “ideologia”/romantismo ✔ Ecossistema de negócios ✔
Percepção de que os fundamentos ✔ Percepção da sustentabilidade dos modelos econômicos
eram intangíveis (gift de negócio economy) 71
72. Software Livre: Modelo de Negócios Marcelo Sávio Arquiteto de Software IBM Brasil
msavio@br.ibm.com 72
73. Software livre e/ou aberto? • Muitas vezes o termo software livre (free software) se confunde com
software aberto (open source). Isso passou a acontecer principalmente após a criação da Open
Source Initiative (OSI), em 1988. • Diferentemente da FSF, a OSI não tem licenças próprias, mas
certifica todas as dezenas licenças atualmente existentes no mercado (inclusive as da própria
FSF) dentro de seus próprios parâmetros de software aberto. • A OSI é uma entidade
conciliadora, que garante às empresas que praticam o modelo comercial de desenvolvimento de
software, uma porta de entrada no movimento de software aberto sem necessariamente adotar
as licenças da FSF, representando assim uma espécie de alternativa intermediária. • Todo
software livre é, por definição, aberto, porém nem todo software aberto é livre. 73
74. Tipos de licenças de Software Não há Tipo de licença licença Código fonte aberto Domínio Não
Público “virótica” “Virótica” (ex. GPL) Proprietária (ex.TCP/IP) (ex. BSD) Existem mais de 40 tipos
de licenças cadastrados na OSI.... Acadêmica: BSD, Bind, Sendmail... Comunidade: Apache...
Corporativa: OSD, CPL, SPL... 74
75. Licenças de Software Forte Licenças (amigável) Duais Licenças comerciais Licenças estilo BSD
Viés (ex. IBM CPL) empresarial (potencial de LGPL lucratividade) GPL Fraco (não amigável)
Fraco Forte Incentivo para a comunidade 75
76. O Ecossistema do Negócio Software Desenvol Documen Empacota Marketing Consul Implemen
Treina Suporte Gerencia vimento tação mento Vendas toria tação mento mento
Produção/Programação (Onde modelo do software livre Serviços interfere diretamente) • É um
bem imaterial • Apenas cerca de 30% de todo software escrito é vendido ao mercado. A maioria
é desenvolvida internamente ou feita por encomenda. • Indústria de software não é homogênea
em seus modelos de negócio (software de massa, sob encomenda, embarcado, games…). 76
77. Um sistema embarcado é♣O que é um Sistema Embarcado 4qualquer sistema baseado em
computador mas que não é um computador... Eletrônica de4Infra-estrutura de comunicações
(ERB, roteadores,PABXs...) Sistemas militares e aeroespacial4consumo (celulares, cameras
digitais, MP3 …) 4 Automação industrial (robótica, controle de processos...) 4(aviônicos)
Automóveis...(Freios4Equipamentos médicos (defibriladores, marca passo...) ABS...) 77
78. Impacto do Software Livre na indústria de software Obsolescência do produto Disponibilidade do
produto Surge equivalente Software Aberto Receita sem Software Aberto Receita Receita com
Software Aberto Custos/investimentos Pesquisa Desenvolvimento Reação da indústria Testes
alfa/beta • Redução e novas políticas de preços Produção, Manutenção atualizações • Offload de
produtos/componentes vendas, marketing comoditizados para o modelo de SW livre/aberto e
suporte • Disponibilizar softwares que não conseguiram Acionistas estão mais interessados no
market-share/tendem a obsolescência potencial futuro que nas receitas atuais ... • Maiores
investimentos em P&D (inovação) • Diferenciação em serviços 78
79. Algumas outras lições aprendidas • Difícil contabilizar base instalada de software livre! • Alguns
produtos, como o IBM Rational, embutem software livre (Eclipse), que os usuários não refletem
nas respostas das pesquisas; • Movimento do software livre começou pelas áreas técnicas; •
Pesquisas com CIOs/gestores ainda tendem a mostrar % pequeno; • Pesquisas com técnicos
mostram % bem maior; • Alguns executivos tendem a subestimar uso de software livre por: •
Proteção do orçamento • Evitar explicações de porque adquiriram software proprietário. 79
80. Algumas lições aprendidas Softwares de infra-estrutura ainda Aplicações Diferencialλ são os
mais adequados para modelo de Software Livre Ferramentas deλ ERP/SCM/CRM Amplitude
de λ Estreita competitivo verticalizadas Middlewareλ Desktop suites λ Utilização
desenvolvimento Interesse da comunidade Sistema Operacional (Linux) Ampla Baixo
Comoditização Altoλ Compiladores λ Nível de comoditização 80
81. Perspectiva dos analistas e da imprensa “People thought this wouldn't work. There are just too
many people and companies to hang together. But now it's clear it does work,” says Mark
Blowers, an analyst at market researcher Butler Group. (BusinessWeek) “More and more you will
hear about free software, Linux, principally in the government and corporate environments, and
less about Windows,” Oscar Clarke, head of Intel in Brazil, said at a press conference. “It's an
inexorable trend.” (Reuters) “Linux is the first natural business ecosystem,” says James F. Moore,
a senior fellow at the Berkman Center for Internet & Society at Harvard Law School.
(BusinessWeek) 81
82. Linux e os benefícios da redução de TCO Linux é 40% mais barato se comparado com Windows
Baseado em um período de 3 anos de propriedade de um sistema que suporte 100 mil
operações por segundo no benchmark SPECjbb 82
83. A IBM, o Linux eo Software Livre 83
84. Como♣Envolvimento/Comprometimento da IBM com Software Livre Relatório apresentado ao
Corporate Technology♣ Jikes (1998) ♣e quando começou? Linux World 2001 (anunciou
investimento de US$ 1♣Council, março de 1999 Iniciativas importantes: Jikes, Eclipse, Apache,
Gluecode, Globus,♣bilhão) ♣ Doação de 500 patentes de software ♣ IBM + Zend Technologies
(PHP) ♣GCC... +150 projetos (sourceforge.net,♣Linux: Essencial na estratégia on demand
Intenso uso interno (servidores e posteriormente♣developerWorks, etc.) +700 profissionais
envolvidos diretamente♣estações de trabalho – rich client) OSSC (Open Source Steering
Committee) e♣com projetos Linux/Apache Foundations… OSPG (Open Source Participation
Guidelines) 84
85. Quase 4 mil♣Linux: Transformando a TI interna da IBM Internet e Intranet – A
Intranet♣servidores em produção – 25 mil clientes Ambiente do serviço de♣suporta mais de
350 mil funcionários em todo o mundo Infra-estrutura de Eventos♣Application Hosting (HTTP
workload) – Blade servers Serviços de♣Especiais – Wimbledon, The Ryder Cup, The US Open
– Linux clusters Segurança (Internet Vulnerability Security Scanning) – Scanning de mais de 30
Instalações industriais de produção de chips –♣mil endereços IP por semana Aumento de
confiabilidade com a utilização de servidores Linux em produção 85
86. Padrões abertos são a base da arquitetura On-Demand da IBM Padrões Tecnológicos
Modelagem Valor para o UML/BPEL Negócio Eclipse Flexibilidade JEE Agilidade Aplicações e
Middleware de Padrões de Indústria Integração Escolha Linux Web Services Recursos dos
Sistemas TCP/IP OGSI (Grid) Skills Hardware Sistema Open Power Operacional Open Blade
Storage Rede Requisito-chave Padrões abertos 86
87. Apoio aos ISVs♣IBM Linux Integration Centers (LIC) Missão Suporte e♣ Migração de
aplicações ♣(Independent Software Vendors) Documentação de melhores♣ Projetos Pilotos
para clientes ♣desenvolvimento Homologação e certificação de produtos 87♣práticas
88. Linux em♣IBM Linux Technology Centers (LTC) Produtos IBM Linux em♣ Linux em
Mainframes (zSeries) Otimizar produtos ♣servidores Power Software IBM para Linux Áreas de
Desenvolvimento♣Intel (xSeries) IBM em Linux Gerenciamento Tornar o Linux Expandir o
alcance♣ Redes ♣ RAS ♣ Escalabilidade ♣ ♣ Padronização Novas Áreas ♣ Desempenho
melhor ♣ Segurança cada vez do Linux ♣ ♣ Data Center Linux ♣ Qualidade ♣ Carrier Grade
Linux ♣Testes Linux♣ Linux em notebooks Mais de 600 pessoas ♣Interoperabilidade com
Windows embarcado Mais de 40 Localidades (inclusive Brasil) Mais de 150 Projetos Open
Source 88
89. 89
90. 90 SOFTWARE HARDWARE xSeries pSeries zSeries iSeries Linux na IBM BladeCenter
OpenPower IBM Global Services SERVIÇOS
91. Linux em Mainframes (Z series) L L L L L L L LL L L L L L L L L V z/ z/ z/ z/ z/ ii V z/ z/ z/ z/ i ii ii ii
ii i ii i ii L S O O O O O n S O O O O n n n n n n nn n n n n n n n n i E S S S S S u E S S S S S u
u u u u u uu u u u u u u u u n x x x x x x x xx x x x x x x x x u z/VM V4 V5 z/OS z/VM V4 V5 x
LPAR LPAR LPAR LPAR LPAR CP0 CP1 CP2 CP3 CP4 CP5 LN0 LN1 LN2 Standard Processor
Engines IFL Engines zSeries Server 91
92. OpenPower Project The OpenPower Project intends to give Linux developers an opportunity to
try out the latest POWER5 processor-based OpenPower™ servers, comment on them and share
their experiences. This project will demonstrate that OpenPower is not only viable, but a
supremely capable and stable platform for running mission-critical business applications in a true
64-bit environment. Two leading universities host the servers, so you have a choice of different
builds and geographic entry points from which you can start. 92
93. Exemplo de algumas contribuições da IBM ao kernel 2.6... Area Contribution Description
Management Extended File Atributes Greater control for file sharing Performance 8-way SMP
scalability Benchmark TPC – demonstrate scalability Performance 16-way scalability Benchmark
TPC Scalability Semaphore improvements Light weight user level semaphores Serviceability
Multi-threaded dump Debug multi-threaded applications Scalability IPC locking Faster IPC locking
I/O Large file system Support for huge block devices Scalability Ddcache Directory cache read-
copy update Scalability Resource affinity Resource affinity for NUMA Serviceability Online
diagnostics Common framework for diagnostics Scalability NUMA scheduler Enhancement to
scheduler Serviceability System trace Trace package to allow diagnose Availability CPU hot plug
enablers CPUs can be onlined or offlined Availability Fast reboot Bypassing firmware on a rebbot
Serviceability Crash data collection Crash dump and analyzer 93
94. Obrigado pelo interesse e atenção Marcelo Sávio http://www.linkedin.com/in/msavio
http://msavio.myplaxo.com http://www.slideshare.net/msavio/slideshows
http://www.scribd.com/msavio http://betarrabios.blogspot.com 94